LangGraph
LangGraph是一个流程编排引擎,可以像绘制流程图一样通过Nodes和Edges来精确控制智能体的每一个步骤、逻辑、循环、分支和状态管理,也可以实现Human in Loop来控制质量。
LangGraph在设计之初很像是一种State Machine状态机,或者说是一种DAG有向无环图。
Graph API
通过Graph API可以构建一个经典的工作流程,其核心内容包括:
- State 状态
- Nodes 节点
- Edges 边
- Conditional Edges 条件边
我们来看一下用Graph API构建一个完整的agent的步骤:
- 首先定义tools和models,比如记录预算的工具、分析预算的工具等,以及用到的LLM模型
- 定义state,用来messages和LLM使用次数;状态是累积的,永远在末尾追加
- 定义model nodes,用来调用LLM,以及决定什么时候使用工具、什么时候不用
- 定义tool nodes,用来使用工具并返回工具使用后的结果
- 定义end logic,即conditional edge function,用来决定route到tool node还是end
- 构建agent,通过compile method来编译agent
Functional API
Functional API