BrainBlend-AI / atomic-agents

Building AI agents, atomically
MIT License
1.15k stars 92 forks source link

[Info] Develop a Multi-Agent RAG System based on Graphs #43

Open gianx89 opened 14 hours ago

gianx89 commented 14 hours ago

Question: Multi-Agent RAG System Based on Graphs

Hi,

Is it possible to create a Multi-Agent RAG (Retrieval-Augmented Generation) system based on graphs? I want to define the agents, specify how they communicate through a graph, and start the chat until an agreement is reached.

Currently, I am implementing this using Autogen, and I’d like to understand how to achieve it using atomic-agents. Specifically, I am using features like:

Could you please provide some code examples if possible?

Thank you!

KennyVaneetvelde commented 5 hours ago

I have thought about this in the past, I made a note to explore a library called "Burr" - but I have not yet had time to play around with it or thoroughly think about how integrated I want it to be within Atomic Agents, or maybe as a layer around it or, ..., as there are many use cases where going the graph/DAG-route would cause additional overhead and inflexibility (especially when heavily interspersing AI agents with traditional code, where you are treating AI agents as just another function albeit one that does something more advanced than other functions)

I am not too familiar with AutoGen anymore, but from what I can read, you should be able to do any of the speaker selection/transition stuff using Unions

You can use this example, but replace tool schemas with the schemas of other agents: https://github.com/BrainBlend-AI/atomic-agents/blob/main/atomic-examples/orchestration-agent/orchestration_agent/orchestrator.py

Note, however, that from a practical use case point of view, I have not found much use in this yet as it tends to go off the rails quite a bit with hallucinations etc..

What is your use case if I may ask?