Agentic RAG: An End-to-End Open Source Framework
Key Takeaways
Builds an agentic RAG framework using Weaviate vector database, DSPy, and pure Python logic to dynamically display data and learn from user feedback
Full Transcript
What? What the hell? [Music] Yeah. Yeah. Welcome, Neo. I'm Victoria from Reviate. As you may have guessed, I'm here today to show you Allesia, our new agentic rag framework. Take a seat. This is your last chance, Neo. After this, there's no going back. You take the blue pill, your story ends. You wake up in your bed believing whatever you want to believe about simple vector searches. You take the red pill, you stay in Wonderland, and you find out just how deep the rabbit hole of a gentic rag goes. [Music] So, as I mentioned, Allesia is our open-source Agentic Rag framework that we've built to go beyond traditional text in text out chat bots. It uses a decision treebased architecture that intelligently selects tools, dynamically displays data in optimal formats, and provides complete transparency into its decision-making process. The system connects to your WVA cluster, automatically generating search parameters from natural language and displaying results in contextually appropriate formats. It's built with a fast API backend and pure blood, sweat, and tears Python core logic using a DSPI for LLM interactions. Plus, everything comes in a single pip installable package. You can use it as a fullfeatured endto-end web app or use it as a Python library by just importing it into your Python files. What really sets Allesia apart though are the three core components that we haven't seen combined in any other open-source agendic framework. The first thing is decision trees and decision agents. At Allesia's heart is its decision tree architecture. Unlike simple agentic platforms that have access to all possible tools at runtime, Allesia has a predefined web of possible nodes, each with a corresponding action. Each node is orchestrated by a decision agent with global context awareness about its environment and available options. This tree structure enables advanced error handling and completion conditions. For example, when tools encounter errors, maybe due to connection issues or typos in generated queries, these get caught and propagated back through the decision tree. The decision agent can then make intelligent choices about whether to retry with corrections or try a different approach entirely. This structure gives developers a lot of flexibility. You can add custom tools and branches, making the tree as complex or as simple as needed. The front end also displays the entire decision tree as it's traversed, letting you watch the LM's reasoning with each node as it process your query in real time. This means you can understand exactly why the agent made particular choices and fix issues when they arise. While other AI assistants are limited to text responses, Elusia can dynamically choose how to display data based on what makes the most sense for content and context. The system currently has seven different display formats. Generic data displays, tables, e-commerce, GitHub issues, conversations, documents, and charts. Before any VVA2 usage, Eluzia analyze your collection and LLM explores the data structure by sampling and checking fields, creating summaries, generating metadata. Based on these analysis, it recommends the best display formats. The user can also manually adjust these display mappings to better suit your needs. >> The third thing is Ellesia's automatic data expertise. Traditional rack systems often struggle with complex data because they don't have the full picture of the environment they're working with. So, how do we fix this? After connecting your Weight cloud instance to Allesia, an LLM analyzes your collections to examine data structure, create summaries, generate metadata, and choose display types. This powers up Allesia's ability to handle complex queries, and provide knowledgeable responses. To show how flexible Elusia is for building real end toend AI applications, we use it to create our chat feature in Glowy, our Korean skincare recommendation app. Glowy looks at over 49,000 reviews and over 1,400 skincare products to help people build personalized routine based on their skin type, skin conditions, and skin goals. We created three new custom tools for the skincare domain that you can use within Elia's identic decision tree system. Elysia use a query agent for finding the products with complex search filters based on their skin conditions, skin effects, and the stack generation tool for creating personalized product collections through natural language and the similar product recommendation engine that checks ingredients, interactions, and user preferences. Elusia took care of all the complicated stuff. Handling conversations, fixing errors automatically, and managing data streams so we could focus on the skincare specific features instead of building AI workflows from the scratch. >> We built some other cool things into Allesia 2. Let's do a speedrun through them. The first thing is the feedback system. The feedback system maintains user specific feedback examples stored within we instances. When processing queries, Allesia searches for similar past queries rated positively using vector similarity matching. These positive examples are used as fshot demonstrations, enabling better responses with smaller models. The second thing is chunk on demand processing. Instead of pre-chunking all documents, Allesia chunks at query time. Initial searches use document level vectors for broad content overview. When documents exceed token thresholds and prove relevant, the system dynamically chunks them and stores results in a parallel quantized collection with cross references to original documents. This reduces storage costs while improving retrieval quality. The third thing is our multimodel strategy. Allesia routes tasks to appropriate model sizes based on complexity. Small models handle decision agents and simple tasks while larger models manage complex operations requiring deeper reasoning. All model choices are fully customizable through configuration files supporting various providers including local models. >> You can try out Alyssia right now at alysiawevate.io. We set up a synthetic e-commerce company data set that's designed to mimic a real company with everything from the products themselves to transaction to support agent conversations with customers. So the first screen you'll see is the chat page where you can type in your queries. But before we start chatting, let's take a look at the data in the data tab. Here we see all the analyze collections, products, transactions, supplier info, legal documents, tickets, communications, all connected together to make the data set as realistic as possible. When we open a collection, we get a simple table view with controls like keyword search and sorting. The metadata tab shows information that Alysia generated automatically, a summary of the whole data set, display mappings so the interface knows how to present each type of data and per field descriptions with data types and unique values. The config tab tells us about the embedding models used to vectorize the data. Since this is an e-commerce data set, the most interesting thing are the products themselves. So, let's explore them. What products are saved in the database? Retrieve a sample batch of them. Lizia now gave us some random products and displayed them in the product display. We can click on individual objects to get more info on them. [Music] At the top, we can switch the chat view to the tree view, showing us the decision making process. The tree shows how Alysia reasoned about which node to select along with a description and an instruction. You can also check the source code that retrieved the data. [Music] Let's try a more fun query. Show me all product collections and visualize them in a bar chart. Elysia decided to do an aggregation and grouped by different collections. and then use the aggregation to create a bar chart to visualize the data. Seems like the cottage core collection has the most products in our e-commerce platform. Let's try queries and combine different data sets. What suppliers are responsible for which product collection? Seems like supplier 3 is responsible for cottage core, but it didn't give us a name. What name does the supply free have? Lumen Aura. Let's try to combine it with another data set. What documents are related to Lumin Aura? All right, seems like we got some marketing agreements with them. Let's try another data set. Are there any open tickets related to Luminora? Well, seems like there are some open tickets. I hope that Danny William knows what he's doing. So, with just a few queries, we've explored the data set and uncovered some of the connections to the other data sets. You can try the demo yourself and test all kinds of queries. Or you can just install Elysia locally and use your own data. All right, installing Elysia. All you need is a Python version between 3.10 and 3.13. Open your terminal. Create and activate a virtual environment. Run pip install Alysia-I and then just start it with EIA start. That's it. You're ready to go. Now, open localhost 8000 new browser. In the settings, we'll create a config that links AIA to a VVAT cluster. If you don't have one yet, no worries. You can spin up a free sandbox cluster at the WV8 cloud. You can import data either with the built-in import tool or using one of the WV8 clients. First, we configure the cluster that we want to access the data from. In the next setting, we can simply copy the same cluster. That cluster will also be used to store AIA's own data like metadata, conversation, and configs. We can also configure our agent behavior and style, but let's keep that to default for now. Next, we choose the models. Under the hood, Elysia uses Light LLM, and you can connect to any supported model. For this demo, let's use Gemini Flash via Open Router. You just need to provide the API key. Hit save and boom, we have access to our cluster. First, you won't see any collections. That's because they need to be analyzed first. Let's analyze the Magic the Gathering collection. Once it's done, we can open the data and check the generated metadata. In the local version, you can even edit and customize the metadata. So, back at the chat page, as you can see, Elysia already generated some example props for our collection. Let's choose one of them and have a look. It gave us back some legendary creatures and even displayed them with their images. Well, and that's how you can install and run Elysia in just a few lines of code. Of course, since videos like these can get outdated, always check the GitHub repository for the latest updates. Everything I showed you today is documented in the readme, and that's also where you can contribute new features or report any bugs. Like we mentioned earlier, Elysia isn't just an app, it's a framework. You can use the front-end app or use the library to build your own apps just like we did in Glowy. We have a full documentation on the codebase and how to get you started. Let me show you a super quick example. Create a new Python file, import a tree object, initialize it, type in your query. You'll receive a response text object and the objects themselves. Let's print them out and run the script. You now see live how Elysia is traversing its decision tree and outputting status updates. And voila, it gave us a response and the objects. So in this video, we showed you all about Elysia, what it is, how it works, and how you can use it yourself. Elysia is a open-source agentic rack framework with a endtoend front-end app built on top of it. We love being a part of the open source community and we can't wait to see what you build. >> Thank you for watching >> and goodbye. [Music]
Original Description
Elysia is Weaviate's new open source, agentic RAG framework that goes way beyond simple text-in, text-out chatbots. It dynamically displays data, learns from user feedback, and chunks documents on-demand. Built with pure Python logic and DSPy, it's designed to be the next evolution beyond traditional RAG pipelines.
What it does:
• Uses decision trees to choose the right tools and display formats
• Analyzes your data structure to understand what you're working with
• Learns from user feedback to improve responses over time
• Provides transparency into its decision-making process
• Works as both a full-featured web app and Python library
The system connects to Weaviate Cloud instances and automatically generates search filters and parameters from natural language queries. Installation is simple with `pip install elysia-ai` .
GitHub: https://github.com/weaviate/elysia
Demo: https://elysia.weaviate.io
Blog post: https://weaviate.io/blog/elysia-agentic-rag
▬▬▬▬▬▬▬▬▬▬▬▬ CONNECT WITH US ▬▬▬▬▬▬▬▬▬▬▬▬
- Visit http://weaviate.io/
- Star us on GitHub https://github.com/weaviate/weaviate
- Stay updated and subscribe to our newsletter: https://newsletter.weaviate.io/
- Try out Weaviate Cloud for free here: https://console.weaviate.cloud/
Got a question?
- Forum: https://forum.weaviate.io/
- Slack: https://weaviate.io/slack
Connect with us on
- Twitter: https://twitter.com/weaviate_io
- LinkedIn: https://www.linkedin.com/company/weaviate-io/
00:00 - Introduction
01:17 - Overview of the framework
02:13 - Agentic decision tree architecture
03:20 - Dynamic data displays
04:01 - Automatic data expertise
04:26 - Real-world example: powering Glowe's chat
05:29 - Other cool features
06:39 - Online demo
09:55 - Installation and setup
12:25 - Using Elysia as a Python framework
13:04 - Outro
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
More on: RAG Basics
View skill →Related Reads
📰
📰
📰
📰
Add a Freshness Gate Before Your RAG Model Call
Dev.to AI
Optimizing RAG at Scale: Chunking, Retrieval, and the Bayesian Search That Cut Latency 40%
Dev.to AI
Optimizing RAG at Scale: Chunking, Retrieval, and the Bayesian Search That Cut Latency 40%
Dev.to AI
Optimizing RAG at Scale: Chunking, Retrieval, and the Bayesian Search That Cut Latency 40%
Dev.to AI
Chapters (11)
Introduction
1:17
Overview of the framework
2:13
Agentic decision tree architecture
3:20
Dynamic data displays
4:01
Automatic data expertise
4:26
Real-world example: powering Glowe's chat
5:29
Other cool features
6:39
Online demo
9:55
Installation and setup
12:25
Using Elysia as a Python framework
13:04
Outro
🎓
Tutor Explanation
DeepCamp AI