跳到主要内容

agentchat.contrib.graph_rag.graph_rag_capability

GraphRag能力

class GraphRagCapability(AgentCapability)

图形RAG功能使用图形查询引擎为对话代理提供图形RAG能力。

一个具备图检索增强生成(Graph RAG)能力的代理类可以

  1. 在底层数据库中根据输入文档创建一个图表。
  2. 基于代理接收到的消息检索相关信息。
  3. 从检索到的信息生成答案并发送消息返回。

例如, 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)

使用图谱查询引擎初始化图谱问答能力