LangGraph 是一个用于构建具有状态和多个参与者(可以是 LLM)的应用程序的库,它受到 Pregel 和 Apache Beam 的启发,允许使用常规的 Python 函数(或 JavaScript)来协调和检查点多个链(或参与者)在循环计算步骤中的状态,其公共接口从 NetworkX 中汲取灵感。
LangGraph 可以解决多种应用场景问题,例如:
1. 增强的 RAG 应用:在语义检索相关文档后,对其质量进行评估,若文档质量差,可重写检索问题并再次交给检索器以获得更精确结果,如代码生成时的自我纠正、Web 访问自动导航等。
2. 需要更灵活控制的 agent 应用:例如可以指定首先强制调用某个工具,或在 agent 运行过程中增加人机交互步骤,以及能够灵活更换 prompt 或者背后的 LLM。
3. 多智能体系统(MAS)的构建:MAS 是由多个 AI 智能体构成,通过相互关联与协作共同完成任务的智能体系统。每个智能体可以有自己独立的 LLM、提示词、工具或其他自定义代码,以实现更好的分工合作、拥有独立的提示、开发概念模型等。例如构建一个能够自动创建电影场景、代入场景中的多个角色并模拟对话生成台词脚本的多智能体应用。在电影创作的多智能体应用中,LangGraph 可用于实现场景创建、角色模拟与创作等任务,其中角色的切换和扮演通过循环进行,直到满足结束条件。
4. 在组织检索增强生成(RAG)场景中的知识库:借助 LLM 的语义能力将知识库存储在基于图的数据库(如 Neo4j)中,利用图结构的灵活性来存储知识库,能够增强“检索”阶段,从而实现更有意义的上下文检索,提高生成响应的准确性。例如通过图搜索或结合更高级的 LLM 相关搜索(如通过嵌入进行向量搜索)来检索知识。
LangGraph 为构建更强大、更可靠、更智能的 AI 代理提供了一种新的方式,适用于多种需要复杂流程和精细控制的应用场景。它通过添加循环和持久性,以及提供更精细的控制能力,克服了传统方法的一些限制。
4 个月前
LangChain, Amazon Bedrock, Rivet, Vellum.
8 个月前
LangGraph 是用于构建具有大型语言模型(LLMs)的强大且有状态的多角色应用程序的工具,它是 langchain 的一个扩展。 LangGraph 将应用程序的工作流程表示为一个图结构,其中节点代表不同的操作或步骤,例如调用一个 LLM、访问一个数据库、处理用户输入等;边则代表步骤之间的关系或流程,例如数据流、决策路径等。这种图形结构允许创建复杂的、...
8 个月前
LangGraph 是一个用于构建具有状态和多个参与者的应用程序的库,它受到 Pregel 和 Apache Beam 的启发,允许使用常规的 Python 函数来协调和检查点多个链(或参与者)在循环计算步骤中的状态,其公共接口从 NetworkX 中汲取灵感。
9 个月前
LangChain 是一个 Python 库,可帮助您利用大型语言模型来构建自定义 NLP 应用程序。
10 个月前
要使用 LangChain,要导入必要的组件和工具,这些组件组合起来创建一个可以理解、处理和响应用户输入的应用程序。