GraphRAG聊天机器人
是否使用GraphRAG
是否包括上下文:
清除上下文
说明:这个GraphRAG示例Shiny APP选取了Stackoverflow中“neo4j”标签下的1000条问题和回答建立知识图谱。 如果选择了使用RAG,则在对话中会根据所提的问题在知识图谱中查找最相似的问题,返回余弦相似度>0.7 的前两个问题及其答案,作为附加材料补充进提示词中,然后指示LLM按照提示词中的上下文及附加材料回答。 因为是要求准确的回答,就指示LLM,如果不知道答案就回答不知道。所以RAG实际上是Prompt Engineering 的一种形式,它有效克服了LLM的幻觉和知识截止的问题,GraphRAG则通过使用知识图谱检索逻辑上深度相关的 附加材料,让LLM的回答更准确更有深度,更符合现实世界的客观事实与逻辑,更适用于法律、金融、医疗等 准确率要求很高的领域。
因为Stackoverflow上的Q/A基本上都是英文,建立知识图谱向量化(Embedding)问题与答案时,都是对英文进行 向量化,检索时也是对问题向量化后再与知识图谱中的问题匹配,所以要用英文提neo4j相关的问题才可以在 知识图谱中匹配到相关的问题,如果有检索到匹配的问题,LLM回复的末尾中会以“Knowledge Graph Sources”的 形式标记其在Stackoverflow上的原始链接以备查验。这就是GraphRAG的优势:给出可信的信源以供查验。
例如,知识图谱里有一个问题:
Returning cypher query in langchain
问这个问题就会检索到答案:
How to return Cypher query in langchain?
对话记录
输入:
提交