Skip to content

LangGraph

LangGraph是一个流程编排引擎,可以像绘制流程图一样通过Nodes和Edges来精确控制智能体的每一个步骤、逻辑、循环、分支和状态管理,也可以实现Human in Loop来控制质量。

LangGraph在设计之初很像是一种State Machine状态机,或者说是一种DAG有向无环图。

Graph API

通过Graph API可以构建一个经典的工作流程,其核心内容包括:

  • State 状态
  • Nodes 节点
  • Edges 边
  • Conditional Edges 条件边

我们来看一下用Graph API构建一个完整的agent的步骤:

  1. 首先定义tools和models,比如记录预算的工具、分析预算的工具等,以及用到的LLM模型
  2. 定义state,用来messages和LLM使用次数;状态是累积的,永远在末尾追加
  3. 定义model nodes,用来调用LLM,以及决定什么时候使用工具、什么时候不用
  4. 定义tool nodes,用来使用工具并返回工具使用后的结果
  5. 定义end logic,即conditional edge function,用来决定route到tool node还是end
  6. 构建agent,通过compile method来编译agent

Functional API

Functional API