点击上方
蓝色
“
顶层架构领域
”,关注精彩与你分享
在探索人工智能的无限可能中,构建智能代理(Agents)已成为技术发展的新前沿。
LangChain
的最新扩展——
LangGraph
以其独特的技术架构构建方式,为AI领域的创造带来了前所未有的灵活性和控制力。
一、LangGraph的架构之美
LangGraph
的诞生,不是偶然,它是在
LangChain
坚实基础上的自然延伸。作为一个扩展库,它与LangChain的现有组件水乳交融,共同绘制了AI发展的新蓝图
工作流程:
通过精确定义图的节点与边,LangGraph将复杂的基于LLM的任务细节转化为直观的Graph表示。在任务执行过程中,中央状态对象不断更新,确保了任务的连续性和一致性。
在构建好 StateGraph,并增加 Node 和 Edge 后,可以通过 compile 编译成可运行的应用示例如下:
二、核心概念解析
-
StateGraph
是LangGraph中代表整个状态图的基础类。它是应用状态管理的中心,负责维护和更新应用在运行过程中的各种状态信息。StateGraph使得开发者能够清晰地追踪和控制应用的每个阶段,确保了状态的一致性和可管理性。
-
Nodes
(节点)是构成状态图的基本单元。每个节点可以是一个独立的任务,如推理函数调用、检索器调用、响应内容生成或问题重写等。节点的设计允许开发者将复杂的AI任务分解为可管理的小块,每一块都是一个可调用的函数、Chain或Agent。
-
特殊节点 END节点
:一个特殊的节点,它的进入标志着任务的完成和应用的结束。
-
Edges
(边):定义了节点间的跳转关系,它们是任务流程中不可或缺的部分。LangGraph中的边有三种类型:
-
Starting Edge 任务的起点
:一种特殊的边,它定义了任务运行的起始节点。与普通边不同,起始边没有上游节点,它标志着任务的开始。
-
Normal Edge
:普通边,代表上一个节点完成后,流程将立即转移到下一个节点。这种边确保了任务的线性执行,如从Tools调用到LLM推理的顺畅过渡。