
Fabi.ai November 2024 updates: Flexible reports layouts & AI data analysis agent GA
TL;DR: Analyst Agent helps data teams make self-serve data analytics a real, trustworthy possibility thanks to specialized AI data agents. Business users can explore data independently with AI assistance, while data teams maintain full control over data quality and access.
In early 2023, Fabi.ai’s now-CTO, Lei, called me to get my feedback on an idea.
With the recent release of ChatGPT, what if we made a self-service BI solution that could answer all of the business’ questions?
We both had acutely felt both sides of the pain of frustrating data analysis workflows in our careers. Lei had led data teams and dealt with constant requests from the business during his time at (fill in). And I knew how terrible it felt to be the data consumer constantly asking questions from my time as a product manager at (fill in).
The promise of an AI data tool that could magically answer any questions from folks like me and spare data experts like Lei the manual exploratory work sounded magical. However, after much experimentation and iteration, we’ve concluded that a monolithic AI connected to a data source (with or without a semantic layer), simply isn’t the answer. Instead, we’ve found a new unlock with specialized AI data agents that can be configured, managed and deployed by data teams.
Today - we’re excited to announce Fabi.ai Analyst Agent, which helps data and business experts alike experience this magic themselves in a novel way. With Analyst Agent, you can:
Check out our short introduction video to see it in action:
Despite the text-to-SQL prowess of LLMs and recent improvements in the last year, AI data tools often fall short of their marketing promises and create more headache and stress than they cut out. This is because of three core issues:
Faced with these challenges in the current ecosystem, we were excited about the idea of creating something that could solve the collaboration challenge between data teams and business teams. We believed we could help the data team focus on big questions. They could spend less time building dashboards and moving widgets. At the same time, we wanted to give the business team more room to explore the data.
This is where Analyst Agent came into play.
Typically, reporting requests that the data team deals with fall into two categories:
We saw a solution for both of these problems: dedicated AI agents trained on specific datasets curated by the data expert. Data teams can now curate specific datasets. Then, using SQL, Python and AI, they can clean and wrangle their data before deploying these specialized agents in minutes.
Today we’re introducing an entirely new way to build and deploy specialized data agents to enable business teams to explore data on their own while letting the data team stay in full control.
For non-technical team members, Fabi.ai Analyst Agent lets them feel confident exploring datasets on their own with the help of AI blessed by their data team.
For data teams, Analyst Agent means no more plugging AI into a messy data warehouse with a partially configured semantic layer and hoping for the best. Instead, data experts can build targeted datasets with the confidence that the AI is only going to use that dataset they’ve cleaned and curated for a specific use case.
Here’s how:
You can build and share your first specialized agent with Analyst Agent in 30 minutes or less.
Here’s how:
Log in to Fabi.ai and create your account.
Fabi.ai will prompt you to connect your data source or upload a file. We support all common data sources, or you can simply upload a CSV or Excel file.
ℹ️ Note: Security and privacy is a built-in feature in Fabi.ai. We’re SOC2 compliant and you can review our policies and security stance here.
Once you’ve connected your data, you can use SQL, Python, and AI to wrangle your dataset. This is your opportunity to prepare and clean your dataset to make it AI-ready, no matter how messy the original dataset is.
ℹ️ Tip: Before diving in, you should consider writing down the types of questions you want this AI agent to answer. The more aggregated the data the fewer questions it can handle, but too much granularity can cause the data to be too large and impact latency. For example, if you’re creating an agent designed to answer questions such as “What’s my total ARR for enterprise accounts?” Instead of asking, “Which mid-market customers are close to enterprise?”, try listing accounts by ARR and the number of seats per account.
Now that you have your datasets ready to go, it’s time to publish your agent. Simply navigate to the Report Builder, and in the right-hand configuration panel, look for “AI Agent Configuration.” Search for the Python DataFrame that you’ve curated and give it a name and description.
This description is both helpful for the AI and for your stakeholders. They will see this in the listed artifacts in the AI interface in the report.
At this stage, you can also re-adjust the report and layout. If you’ve added text descriptors, filters, or charts, you can design this report to look just the way you want it to. Once you’re ready to share your work with the world, click “Publish.” This will launch a report with the Analyst Agent agent.
And that’s it! Now you, or anyone else, that you’ve shared this report with can see which datasets (artifacts) the AI agent has access to and start asking questions.
We’ll cover how we built Analyst Agent in full detail in a future post, but here’s a quick rundown of how it actually works under the hood. 👀
Fabi.ai customers have used our AI for a while in enterprise settings, so we’ve had some time to observe real user behavior and gather feedback in the wild.
We learned a few things thanks to these real-world use cases:
Shortly after AI agents entered the general discourse, we had an “Aha!” moment. We were already exploring ways to make our AI more dynamic and truly independent - beyond just retrieving information through RAG. We needed an AI that could handle tasks like installing its own Python packages when needed. This led us to completely rebuild our architecture from the ground up around AI.
This approach helped us unlock a vision of AI that was more dynamic and could act autonomously to do things like find, install, and manage required packages to reduce friction.
Here’s what this looks like in practice: First, our AI agent drafts a plan. Then it can invoke any number of tools to get the job done. For example, our agents can decide on their own if the questions need more historical context from the conversation, making the AI’s memory more dynamic. As the conversation evolves, the AI can choose to rewind to see if there are some clues about what you’re asking from 10 questions ago.
The AI agent is only half the magic. We also had a few requirements that pushed us to design our infrastructure to be able to pull ready-to-go Python kernels off the shelf:
Now, when a user goes to a report, we preload the report with the latest cached data using a Python kernel that we’ve already warmed up. Each user gets their own kernel, which is spun down when they’re no longer using it to help reduce costs.
This kernel system means the AI must stay in sync with the report. To do this, the core kernel powering the report must align with each user report.
We’ll dive into more of the details here in a future article.
So, where do we go from here? Our users have already sent us many requests that are shaping our vision. At a high level, we see this agent evolving beyond just answering data questions (even though that’s already super cool!)
In the future, users will be able to send AI outputs as requests to the dashboard builder. By that same token, we want to continue giving builders the tools they need to supervise the AI and improve on what they build. This means providing insights into the types of questions users are asking and how AI is handling the questions.
Thinking bigger, we truly think AI agents will change the way we get our work done. Not only will the Fabi.ai agent be able to answer complex and subtle questions about specific business contexts, but they’ll be equipped to invoke other agents, along with a whole constellation of tools built by us and our users. We think getting an executive summary delivered to your team’s Slack channel every Monday should be as simple as asking: “Could you please send this summary to #marketing-team every Monday morning, pretty please?” (Just remember to be polite if you want our future AI overlords to be nice to you in turn 🤖).
Ready to get started with your AI data agent in less than 10 minutes? Sign up for free.