当前位置: 首页 > news >正文

什么是 LangGraph ?

LangGraph 是 LangChain 生态系统中的一个重要组件,专门用于构建有状态、多参与者的 AI 应用。它基于图(Graph)的概念,让开发者能够定义复杂的工作流和状态机。

核心概念

什么是 LangGraph?

LangGraph 是一个用于构建状态机有向图的框架,特别适合:

  • 多步骤的复杂工作流
  • 需要维护状态的对话系统
  • 多代理协作场景
  • 循环和条件分支逻辑

与传统 Chain 的区别

特性LangChain ChainLangGraph
结构线性/简单分支复杂图结构
状态无状态/简单记忆完整状态管理
流程单向流动支持循环、条件
复杂度简单任务复杂工作流
可视化有限内置图可视化

基础架构

1. 核心组件

fromlanggraph.graphimportStateGraph,ENDfromtypingimportTypedDict,Annotatedimportoperator# 定义状态classAgentState(TypedDict):messages:Annotated[list,operator.add]current_step:strresult:str# 创建图graph=StateGraph(AgentState)

2. 节点(Nodes)

节点是图中的处理单元,每个节点执行特定的任务:

fromlangchain_core.messagesimportHumanMessagedefinput_node(state:AgentState):"""输入处理节点"""return{"messages":[HumanMessage(content=state["input"])],"current_step":"processing"}defprocess_node(state:AgentState):"""处理节点"""# 执行处理逻辑return{"current_step":"output","result":"处理完成"}defoutput_node(state:AgentState):"""输出节点"""return{"messages":[AIMessage(content=state["result"])],"current_step":"done"}

3. 边(Edges)

边定义节点之间的连接关系:

# 添加节点graph.add_node("input",input_node)graph.add_node("process",process_node)graph.add_node("output",output_node)# 添加边(线性流程)graph.add_edge("input","process")graph.add_edge("process","output")graph.add_edge("output",END)# 设置入口点graph.set_entry_point("input")

完整示例

简单的问答流程图

fromlanggraph.graphimportStateGraph,ENDfromlangchain_openaiimportChatOpenAIfromlangchain_core.messagesimportHumanMessage,AIMessagefromtypingimportTypedDict,Annotatedimportoperator# 1. 定义状态classGraphState(TypedDict):messages:Annotated[list,operator.add]user_input:strresponse:str# 2. 初始化 LLMllm=ChatOpenAI(model="gpt-4")# 3. 定义节点definput_handler(state:GraphState):"""处理用户输入"""print(f"用户输入:{state['user_input']}")return{"messages":[HumanMessage(content=state['user_input'])]}defllm_processor(state:GraphState):"""LLM 处理"""response=llm.invoke(state["messages"])print(f"LLM 响应:{response.content}")return{
http://www.jsqmd.com/news/420511/

相关文章:

  • 新鸿儒高端网站公司品牌简介 - 余小铁
  • 什么是 LangChain model?
  • 温和型导热油清洗剂价格多少,常州 靠谱的品牌有哪些? - 工业设备
  • math 2026.02.28
  • LlamaIndex 如何与 LangChain 结合?
  • 超全XXE注入漏洞实验总结,从零基础到精通,收藏这篇就够了!
  • 深聊全国可靠的销售陪练机构排行,FindAI发现力量表现如何? - 工业品网
  • LangChain核心架构是什么样的
  • 一文讲透LangChain基本原理
  • 说说南通宴会厅婚庆哪家好,诺丁山艺术中心性价比高吗? - 工业品牌热点
  • 什么是 LangChain Agent?
  • 你想学的黑客(攻击)技术全在这了,一篇打包带走!
  • VR/AR三维仿真选型指南:五大核心要素、Top5高性价比企业与落地实战 - 深度智识库
  • 用过才敢说 9个一键生成论文工具测评:专科生毕业论文+开题报告高效写作指南
  • 什么是 LangChain?
  • 基于SSM+VUE的创意众筹平台[SSM]-计算机毕业设计源码+LW文档
  • 谷歌最强生图模型来了!NanoBanana新功能详解+使用入口
  • Java 程序员转大模型开发:完整路线 + 优势解析,建议收藏
  • LangChain 的核心组件有哪些?
  • [AI提效-82] - Agent无需预定义规则的核心:大模型的自然语言“泛化能力”到底有多强?
  • 大模型的结构化输出指的是什么?
  • 拒绝返工与数据孤岛!5家高落地能力三维建模公司助力数字化转型 - 深度智识库
  • 【高企日报】《高企管理成熟度评价指南》的独特优势——为什么这套标准值得你信赖
  • Spring Data JPA 与 MyBatis 全方位对比:深度解析与实战指南
  • 2026年2月奢侈品男装鞋子最新推荐,聚焦高端工艺与穿着体验 - 品牌鉴赏师
  • 微服务等于 Spring Cloud?—— 详解微服务架构与微服务框架
  • 什么是 GPT Structured Outputs?
  • 【日记】拼多多和淘宝都在给我推什么东西啊(612 字)
  • 基于单片机家用电器电话远程控制设计
  • 电视小助手小程序截图