AI Skillet : Local Fabric AI Skills App
An experimental app to access the Fabric AI Skills in your local browser
If you are a regular reader of this blog, you probably know I have been testing Fabric AI Skills extensively. I have written three blogs so far on various ways the AI Skills endpoint can be used. The feature is still in preview but I am excited to see how it can be used to create new solutions as it matures.
I was curious to test if the AI Skills endpoint can be used locally and in other applications. This will open many opportunities to integrate it in different tools, inside and outside of Fabric ecosystem. So, I built an app using Gradio to make API calls to the endpoint and show the results in a local browser along with interactive plots. The goal was to see if at all it's possible and learn new things along the way. I have built apps using Gradio and Streamlit but I have zero experience with CSS and advanced Gradio options, so I used Claude Sonnet 3.5 wherever I was stuck - basically using LLM to build an LLM app :P.
Steps
Create and publish an AI Skills in your Fabric capacity. You need a paid F64+ capacity to create an AI Skills. Since it's in a public preview, it's free to create one.
Grab the AI Skills endpoint as I show in this blog. We need the workspace id and the AI Skills id from that endpoint.
In a local jupyter notebook/lab, import this notebook. : pawarbi/aiskillet (github.com)
Follow the instructions in the notebook. You will need to install the libraries (cell 1) and provide the workspace and AI Skills ids (cell 3)
Rest is just executing the cells. You will be prompted to launch the app. Click on the local server address.
Click on Authenticate button which will launch a new browser tab to authenticate your Fabric account:
Once authenticated successfully, return back to the AI Skillet app. You should see authentication status as below:
-
Select the AI Skills
9. That's it, start asking questions and you should get the same tabular responses as you would get from using AI Skills in Fabric portal.
You can interactively select the X & Y axis to create line, bar or scatter plot
Here is the video:
Notes:
Why do this ? Because I wanted to test and learn something new. AI Skills is still new, and I am sure as it matures, more features will be added natively. I do think validation will be an important part and being able to test and validate interactively using an app like above will be useful. I have some ideas in mind on how to that (using human-in-the-loop as well as LLMs), which I will be exploring next.
I tried building the UI first using the tools I am most familiar with - streamlit and panel. Both make it easy to create chat interfaces but it was very basic. I tried React but it became too complicated quickly. I had used Gradio and it worked really well out of the box.
Working on this also made me realize that UI/UX will also be an important aspect from an end user perspective to drive adoption as these AI Skills are deployed. AI is still new and if the apps are black boxes, they will die a quick death.
Those who are still skeptical about AI - I couldn't have built this if it wasn't for AI. I had ideas, basic skills and used AI (btw Claude Sonnet 3.5 is wayyy better at coding than ChatGPT) to refine and materialize those ideas. If you are not using it, you are missing out.
The auth token will expire in about 60 min and you will need to re-authenticate. I didn't try if SP will work.
Give it a try and let me know your thoughts.