LangGraph的应用场景

8 个月前 语言模型 315

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 代理提供了一种新的方式,适用于多种需要复杂流程和精细控制的应用场景。它通过添加循环和持久性,以及提供更精细的控制能力,克服了传统方法的一些限制。