agentchat.contrib.graph_rag.graph_rag_capability
GraphRagCapability
A graph-based RAG capability uses a graph query engine to give a conversable agent the graph-based RAG ability.
An agent class with graph-based RAG capability could
- create a graph in the underlying database with input documents.
- retrieved relevant information based on messages received by the agent.
- generate answers from retrieved information and send messages back.
For example, graph_query_engine = GraphQueryEngine(…) graph_query_engine.init_db([Document(doc1), Document(doc2), …])
graph_rag_agent = ConversableAgent( name=“graph_rag_agent”, max_consecutive_auto_reply=3, … ) graph_rag_capability = GraphRagCapbility(graph_query_engine) graph_rag_capability.add_to_agent(graph_rag_agent)
user_proxy = UserProxyAgent( name=“user_proxy”, code_execution_config=False, is_termination_msg=lambda msg: “TERMINATE” in msg[“content”], human_input_mode=“ALWAYS”, ) user_proxy.initiate_chat(graph_rag_agent, message=“Name a few actors who’ve played in ‘The Matrix’“)
ChatResult(
chat_id=None,
chat_history=[
{‘content’: ‘Name a few actors who’ve played in ‘The Matrix”, ‘role’: ‘graph_rag_agent’},
{‘content’: ‘A few actors who have played in The Matrix are:
- Keanu Reeves
- Laurence Fishburne
- Carrie-Anne Moss
- Hugo Weaving’,
‘role’: ‘user_proxy’},
…)
__init__
Initialize graph-based RAG capability with a graph query engine
add_to_agent
Add the capability to an agent