2026/2/17 22:29:42
网站建设
项目流程
ps怎么做网站分隔线,重庆永川网站建设公司,网站的推广策略,做家教中介 不建网站怎么做LangGraph 实战#xff1a;用 Python 打造有状态智能体
LangGraph 是一个专为构建有状态、多节点执行流程的 AI 智能体系统设计的 Python 框架#xff0c;它将状态机#xff08;State Machine#xff09;与图结构#xff08;Graph#xff09;相结合#xff0c;使得开发…LangGraph 实战用 Python 打造有状态智能体LangGraph是一个专为构建有状态、多节点执行流程的AI智能体系统设计的Python框架它将状态机State Machine与图结构Graph相结合使得开发者能够直观地用节点边来描述执行逻辑和状态转移。本文首先概述LangGraph的核心特点及设计理念然后以智能客服场景为例演示其基本用法和典型代码。摘要•状态驱动与有向图LangGraph 通过State通常用TypedDict定义贯穿整个执行流程所有节点读取并更新状态局部有向图Graph则定义了节点之间的控制流 ([LangChain AI][1])。•节点与边每个Node表示一个执行单元如 LLM 调用、工具函数、决策逻辑Edge则可携带条件实现分支或循环使流程更灵活可控 ([DEV Community][2])。•可循环的工作流区别于传统的 DAG有向无环图LangGraph 支持循环结构cycles更适合实现多轮决策与重试机制 ([Medium][3])。•与 LangChain 深度集成所有 LangChain 的Runnable例如Chain、Tool、LLM 模型都可直接作为节点使用复用生态组件增强扩展性 ([LangChain AI][1])。•持久化与可视化可接入 LangSmith 进行调用跟踪与日志记录也可通过graph.get_graph().draw()利用 NetworkX 和 matplotlib 输出流程图便于调试与监控 ([LangChain][4])。一、为何需要 LangGraph复杂流程可视化对话、任务执行、工具调用等往往需要多步交互和条件判断传统端到端调用缺乏透明度和可控性LangGraph 用图结构清晰呈现每一步逻辑 ([Medium][5])。有状态管理在多轮对话或长流程中维护上下文与中间结果至关重要LangGraph 将所有上下文统一存放在State节点只需专注局部更新简化状态传递 ([LangChain AI][1])。支持循环与分支企业级智能体常常需要重试、分支判断或任务迭代LangGraph 原生支持带条件的循环边cycles和分支边conditional edges实现更强的流程控制 ([Medium][3])。生态复用构建在 LangChain 之上可复用其丰富的模型、检索、工具等组件更快上手并保持一致的开发体验 ([LangChain AI][1])。二、核心概念概念说明State全局状态由TypedDict定义包含历史消息、中间结果等每个节点接收并返回部分状态更新。Node执行单元可以是调用LLM、执行函数、判断逻辑等输入当前State输出新的状态片段。Edge状态转移路径可添加条件函数实现if/else分支或循环控制。Graph有向图结构将多个节点和边连接成完整工作流编译后产生可执行graph.invoke(state)方法。工作原理LangGraph会根据图的拓扑与边的判断函数自动执行对应节点并将各节点的状态更新按定义合并到全局State中直至到达指定的终点Finish Point ([DEV Community][2])。三、示例智能客服 Agent下面以智能客服为例展示如何用 LangGraph 构建一个能够判断是否调用外部工具并返回结果的简单对话流程。3.1 环境依赖pip install langchain_core langgraph dotenv langchain langchain_community openai langchain-openai.env文件中OPENAI_API_BASEhttps://api.deepseek.com/v1 OPENAI_API_KEYsk-xxxxxx LANGSMITH_TRACINGtrue LANGSMITH_ENDPOINThttps://api.smith.langchain.com LANGSMITH_API_KEYlsv2_pt_xxxxx LANGSMITH_PROJECTpr-gripping-yak-453.2 定义状态from typing import TypedDict, List from langchain_core.messages import BaseMessage #%% 3. 定义对话状态结构 class AgentState(TypedDict): messages: List[BaseMessage] # 对话历史 agent_outcome: str # 下一步决策tool 或 final tool_response: str # 工具调用结果3.3 定义节点#%% 4. 初始化大模型 llm ChatOpenAI(model_namedeepseek-chat, verboseTrue) #%% 5. 节点函数定义 defagent_decision_node(state: AgentState) - dict: last_message state[messages][-1].content prompt ChatPromptTemplate.from_template( 请判断用户的意图\n 用户输入{input}\n\n 如果需要调用工具请回答 tool否则回答 final。 ) decision llm.invoke(prompt.format_messages(inputlast_message)).content.strip().lower() print(f\n[Agent Decision] outcome {decision}) return {agent_outcome: decision if decision in (tool, final) elsefinal} deftool_node(_: AgentState) - dict: return {tool_response: 明天晴气温25°C适合出行。} deffinal_node(state: AgentState) - dict: # 获取工具的响应或者默认消息 reply state.get(tool_response, 很高兴为您服务) # 获取当前时间戳作为元数据 timestamp datetime.now().strftime(%Y-%m-%d %H:%M:%S) # 可以添加额外的元数据例如用户的原始输入 user_input state[messages][-1].content # 打印出回复信息及其附加内容 print(f回复: {reply}, 时间: {timestamp}, 用户输入: {user_input}) # 返回包含原始消息和回复的消息记录 return { messages: state[messages] [AIMessage(contentreply)], metadata: { timestamp: timestamp, user_input: user_input, reply_length: len(reply), } }3.4 构建并编译图#%% 6. 构建 LangGraph 工作流 def build_graph(): workflow StateGraph(AgentState) workflow.add_node(agent, agent_decision_node) workflow.add_node(tool, tool_node) workflow.add_node(final, final_node) workflow.set_entry_point(agent) workflow.set_finish_point(final) workflow.add_conditional_edges(agent, lambda st: st[agent_outcome], {tool: tool, final: final}) workflow.add_edge(tool, final) return workflow.compile() # 编译一次供全局使用 graph build_graph()3.5 调用测试#%% 7. 运行测试 def test_run(): init_state {messages: [HumanMessage(content请问明天天气如何)]} result graph.invoke(init_state) print(\n对话记录:) for msg in result[messages]: print(f[{msg.type}]: {msg.content})通过修改判断逻辑、替换工具节点为真实 API、或在State中增加更多字段如意图、对话轮次等即可快速扩展为更复杂的客服或业务流程 ([LangChain AI][1], [Medium][5])。四、可视化与调试LangGraph支持将工作流导出为NetworkX图结构便于通过matplotlib进行流程图可视化同时也支持生成Mermaid或PNG格式的图示。此外LangGraph可无缝集成LangSmith实现对智能体执行过程的可视化调试与追踪。4.1 流程图生成#%% 8. 使用 Mermaid 可视化工作流 def visualize_workflow_with_mermaid(graph): mermaid_code graph.get_graph().draw_mermaid() # 获取 Mermaid 格式代码 # 通过 IPython 显示 Mermaid 图 display(Markdown(fmermaid\n{mermaid_code}\n))输出结果__start__agenttoolfinal__end__4.2 LangSmith 集成调试通过 LangSmith 记录执行过程#%% 9. LangSmith 追踪可选 defrun_with_langsmith(input_state): ifLANGSMITH_API_KEYin os.environ: traceable deftraced_fn(state): return graph.invoke(state) result traced_fn(input_state) print(\n[Traced] 对话记录:) for msg in result[messages]: print(f[{msg.type}]: {msg.content}) else: print(\n跳过 LangSmith 集成未设置 LANGSMITH_API_KEY) #%% 10. 主入口 if __name__ __main__: visualize_workflow_with_mermaid(graph) # test_run() run_with_langsmith({messages: [HumanMessage(content北京天气怎么样)]})在LangSmith控制台中可查看各节点执行耗时状态变更历史条件边判断结果五、拓展与实践建议高级决策将agent_decision_node替换成 OpenAI Functions实现更丰富的意图识别与工具选择 ([LinkedIn][6])。多工具调用在State中维护工具队列实现同时调用多个服务搜索、计算、翻译等。持久化存储集成数据库或持久化层如 Redis、Postgres保存长期会话或任务进度。监控与回溯接入 LangSmith开启 Trace 跟踪实时查看节点执行时间及状态变更 ([LangChain][4])。多 Agent 协作构建多角色智能体如 Planner、Executor、Evaluator通过图的形式串联形成协作式智能系统 ([arXiv][7])。六、小结本文通过智能客服示例演示了LangGraph的基本使用流程• 定义全局State存放上下文与中间结果• 编写节点Node实现决策、工具调用、回复生成• 用有向图Graph组织节点与条件边• 编译并调用流程结合NetworkX可视化LangGraph使得复杂、有状态的AI智能体开发变得模块化、可视化且易于维护是构建企业级对话系统和多智能体工作流的利器。想入门 AI 大模型却找不到清晰方向备考大厂 AI 岗还在四处搜集零散资料别再浪费时间啦2026 年AI 大模型全套学习资料已整理完毕从学习路线到面试真题从工具教程到行业报告一站式覆盖你的所有需求现在全部免费分享扫码免费领取全部内容一、学习必备100本大模型电子书26 份行业报告 600 套技术PPT帮你看透 AI 趋势想了解大模型的行业动态、商业落地案例大模型电子书这份资料帮你站在 “行业高度” 学 AI1. 100本大模型方向电子书2. 26 份行业研究报告覆盖多领域实践与趋势报告包含阿里、DeepSeek 等权威机构发布的核心内容涵盖职业趋势《AI 职业趋势报告》《中国 AI 人才粮仓模型解析》商业落地《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》领域细分《AGI 在金融领域的应用报告》《AI GC 实践案例集》行业监测《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。3. 600套技术大会 PPT听行业大咖讲实战PPT 整理自 2024-2025 年热门技术大会包含百度、腾讯、字节等企业的一线实践安全方向《端侧大模型的安全建设》《大模型驱动安全升级腾讯代码安全实践》产品与创新《大模型产品如何创新与创收》《AI 时代的新范式构建 AI 产品》多模态与 Agent《Step-Video 开源模型视频生成进展》《Agentic RAG 的现在与未来》工程落地《从原型到生产AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。二、求职必看大厂 AI 岗面试 “弹药库”300 真题 107 道面经直接抱走想冲字节、腾讯、阿里、蔚来等大厂 AI 岗这份面试资料帮你提前 “押题”拒绝临场慌1. 107 道大厂面经覆盖 Prompt、RAG、大模型应用工程师等热门岗位面经整理自 2021-2025 年真实面试场景包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题每道题都附带思路解析2. 102 道 AI 大模型真题直击大模型核心考点针对大模型专属考题从概念到实践全面覆盖帮你理清底层逻辑3. 97 道 LLMs 真题聚焦大型语言模型高频问题专门拆解 LLMs 的核心痛点与解决方案比如让很多人头疼的 “复读机问题”三、路线必明 AI 大模型学习路线图1 张图理清核心内容刚接触 AI 大模型不知道该从哪学起这份「AI大模型 学习路线图」直接帮你划重点不用再盲目摸索路线图涵盖 5 大核心板块从基础到进阶层层递进一步步带你从入门到进阶从理论到实战。L1阶段:启航篇丨极速破界AI新时代L1阶段了解大模型的基础知识以及大模型在各个行业的应用和分析学习理解大模型的核心原理、关键技术以及大模型应用场景。L2阶段攻坚篇丨RAG开发实战工坊L2阶段AI大模型RAG应用开发工程主要学习RAG检索增强生成包括Naive RAG、Advanced-RAG以及RAG性能评估还有GraphRAG在内的多个RAG热门项目的分析。L3阶段跃迁篇丨Agent智能体架构设计L3阶段大模型Agent应用架构进阶实现主要学习LangChain、 LIamaIndex框架也会学习到AutoGPT、 MetaGPT等多Agent系统打造Agent智能体。L4阶段精进篇丨模型微调与私有化部署L4阶段大模型的微调和私有化部署更加深入的探讨Transformer架构学习大模型的微调技术利用DeepSpeed、Lamam Factory等工具快速进行模型微调并通过Ollama、vLLM等推理部署框架实现模型的快速部署。L5阶段专题集丨特训篇 【录播课】四、资料领取全套内容免费抱走学 AI 不用再找第二份不管你是 0 基础想入门 AI 大模型还是有基础想冲刺大厂、了解行业趋势这份资料都能满足你现在只需按照提示操作就能免费领取扫码免费领取全部内容2026 年想抓住 AI 大模型的风口别犹豫这份免费资料就是你的 “起跑线”