在自定义工作流架构中,您可以使用 LangGraph 定义自己的专属执行流程。您将拥有对图结构的完全控制权——包括顺序步骤、条件分支、循环和并行执行。

核心特点

  • 完全控制图结构
  • 将确定性逻辑与智能体行为相结合
  • 支持顺序步骤、条件分支、循环和并行执行
  • 可将其他模式作为节点嵌入您的工作流中

适用场景

当标准模式(子智能体、技能等)不符合您的需求时,请使用自定义工作流。例如,您需要将确定性逻辑与智能体行为混合使用,或者您的用例需要复杂的路由或多阶段处理。 您工作流中的每个节点都可以是一个简单的函数、一个LLM调用,或者一个完整的、拥有工具的智能体。您还可以在自定义工作流内组合其他架构——例如,将一个多智能体系统作为一个单一节点嵌入。 有关自定义工作流的完整示例,请参见下面的教程。

教程:使用路由构建多源知识库

路由模式 是自定义工作流的一个例子。本教程将引导您构建一个可以并行查询 GitHub、Notion 和 Slack,然后综合结果的路由器。

基本实现

核心洞察是,您可以在任何 LangGraph 节点内部直接调用一个 LangChain 智能体,从而将自定义工作流的灵活性与预制智能体的便捷性相结合:

示例:RAG 管道

一个常见的用例是将检索与智能体相结合。此示例构建了一个WNBA数据助手,它可以从知识库中检索信息,并能获取实时新闻。
该工作流展示了三种类型的节点:
  • 模型节点(重写):使用结构化输出重写用户查询,以优化检索效果。
  • 确定性节点(检索):执行向量相似性搜索——不涉及LLM。
  • 智能体节点(智能体):基于检索到的上下文进行推理,并能通过工具获取额外信息。
您可以使用 LangGraph 状态在工作流步骤之间传递信息。这允许工作流的每个部分读取和更新结构化字段,从而轻松地在节点间共享数据和上下文。
在生产环境中,请使用持久化向量存储,例如 Weaviate、Pinecone 或 MongoDB Atlas,而不是 MemoryVectorStore。参阅所有向量存储。