详细内容或原文请订阅后点击阅览
使用 Neo4j 和 LangGraph 实现 GraphReader
通过将长文档构造成可探索的图形并实现基于图形的代理系统来提高 RAG 的准确性和性能ChatGPT 想象中的遍历图形的 AI 代理大型语言模型 (LLM) 非常适合传统的 NLP 任务,例如总结和情绪分析,但更强大的模型也表现出良好的推理能力。LLM 推理通常被理解为通过制定计划、执行计划并评估每一步的进展来解决复杂问题的能力。基于此评估,他们可以通过修改计划或采取替代行动来适应。代理的兴起正成为一种越来越引人注目的方法来回答 RAG 应用程序中的复杂问题。在这篇博文中,我们将探讨 GraphReader 代理的实现。此代理旨在从遵循预定义模式的结构化知识图中检索信息。与您在演示文稿中可能看到的典型图表不同,这个图表更接近文档或词汇图,包含文档、它们的块和以原子事实形式存在的相关元数据。按照 GraphReader 实现生成的知识图。图片由作者提供。上图展示了一个知识图谱,从顶部开始,有一个标记为 Joan of Arc 的文档节点。该文档被分解为文本块,由编号的圆形节点 (0、1、2、3) 表示,这些文本块通过 NEXT 关系按顺序连接,表示
来源:None使用neo4j和langgraph
通过将长文档构造到可探索的图表并实现基于图的代理系统
大型语言模型(LLMS)在传统的NLP任务(例如摘要和情感分析)方面非常出色,但更强大的模型也表明了有希望的推理能力。 LLM推理通常被理解为通过制定计划,执行计划并评估每个步骤的进度来解决复杂问题的能力。基于此评估,他们可以通过修改计划或采取其他行动来适应。代理的兴起正在成为一种越来越令人信服的方法,可以回答抹布应用中的复杂问题。
在此博客文章中,我们将探讨GraphReader代理的实现。该代理旨在从遵循预定义模式的结构化知识图中检索信息。与您在演示文稿中可能看到的典型图不同,该图更接近文档或词汇图,其中包含文档,它们的块和相关的元数据,其形式是原子事实的。
GraphReader代理 词汇图我们构建了知识图后,我们将遵循GraphReader纸中提供的实现。
GraphReader Paper在此博客文章中,我们将使用Neo4J作为存储层和Langchain结合Langgraph来实现GraphReader纸,以定义代理及其流程。
neo4j Langchain langgraph该代码可在GitHub上找到。
github环境设置
neo4j aura neo4j桌面以下代码将实例化Langchain包装器以连接到Neo4J数据库。
约束os.environ [“ openai_api_key”] = getPass.getPass(“ openai api键:”)