LangChain 2 ONgDB:大模型+知识图谱实现领域知识问答
- LangChain 2 ONgDB:大模型+知识图谱实现领域知识问答
- 系统截图
- LangChain代理流程
Here’s the table of contents:
LangChain 2 ONgDB:大模型+知识图谱实现领域知识问答
LangChain 是一种 LLMs(大语言模型) 接口框架,它允许用户围绕大型语言模型快速构建应用程序和管道。
Langchain2ONgDB 是参考Langchain2Neo4j
的实验项目,将ONgDB集成到了LangChain
生态系统。
在Langchain2Neo4j
的基础上去掉了Keyword search(关键词全文检索)
和Vector search(向量检索)
功能,只保留了基础的Cypher
生成工具,并跑通了一个 中文数据集案例 。
如果对去掉的两个工具感兴趣可以查看 Langchain2ONgDB历史仓库 。
系统截图
使用 LangChain 构建应用程序后,当有用户提问时,系统会先通过代理找到合适的工具(知识图谱),然后通过工具获取数据,最后由 LLM + 私域数据生成一个流畅表达并回复用户。整个过程代理的调用会更复杂一些,当生成回复后系统会自动判断该LLM回复是否需要继续执行其它任务,是一个完全自主的递归调用流程。
LangChain代理流程
代理流程在接收到用户输入时启动。然后,代理向 LLM 模型发送请求,其中包括用户问题和代理提示,代理提示是代理应该遵循的一组自然语言指令。反过来,LLM 会向代理提供进一步的指示。 对于工具的使用大多数情况下,我们的第一反应是使用可用的工具从外部来源获取更多信息。 但是,工具不限于只读操作。例如,您可以使用它们来更新数据库。在该工具返回附加上下文后,使用新获得的信息对 LLM 进行另一次调用。 LLM 可以选择返回给用户最终生成的答案,或者它可以决定需要通过其可用工具执行更多的操作。 对于每一个输出(Observation)之后会紧跟着一个思考(Thought),思考下一步做什么,如果发现任务全部完成就输出最终答案。