agentchat.contrib.graph_rag.graph_rag_capability
GraphRag能力
class GraphRagCapability(AgentCapability)
图形RAG功能使用图形查询引擎为对话代理提供图形RAG能力。
一个具备图检索增强生成(Graph RAG)能力的代理类可以
- 在底层数据库中根据输入文档创建一个图表。
- 基于代理接收到的消息检索相关信息。
- 从检索到的信息生成答案并发送消息返回。
例如, 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="列举一些在《黑客帝国》中出演的演员")
ChatResult(
chat_id=None,
聊天历史=[
{'内容': '列出几位在《黑客帝国》中出演的演员', '角色': 'graph_rag_agent'},
{'content': '一些在《黑客帝国》中出演的演员有:
- 基努·里维斯
- 劳伦斯·菲什伯恩
- 凯瑞-安·莫斯
- 雨果·维文',
'role': 'user_proxy'},
...)
__init__
def __init__(query_engine: GraphQueryEngine)
使用图谱查询引擎初始化图谱问答能力