LangGraph学习笔记 (一)
本文介绍了LangGraph环境的搭建与核心概念。首先通过conda创建虚拟环境并安装相关依赖,然后介绍了四种预构建智能体API。核心概念部分详细讲解了图(Graph)作为智能体协作骨架的设计原理,包括状态机、节点与边的功能实现。文章还演示了如何结合DeepSeek创建多智能体工作流,并列举了LangGraph生态中的关键工具链:LangSmith监控框架、LangGraphStudio可视化IDE、LangGraphCLI部署工具和AgentChatUI前端交互工具。这些工具共同构成了一个完整的LangGraph智能体开发与运行平台。
一、LangGraph环境搭建
命令行执行如下命令创建并激活名为langgraphenv的虚拟环境,同样使用anaconda管理虚拟环境:
conda create -n langgraphenv python=3.12 #创建langchain开发环境
conda activate langgraphenv
安装LangGraph依赖及查看langgraph版本。
pip install langchain langgraph langchain
pip show langgraph
openai
pip install langchain-deepseek openai
二、预构建智能体API快速创建LangGraph智能体
LangGraph最高层的预构建图API快速构建智能体,传入大模型和调用工具即可。create_react_agent,create_tool_calling_agent,create_openai_functions_agent和create_openai_tools_agent
三、LangGraph核心概念全景图
图(Graph)——智能体协作的骨架 LangGraph使用有向图模型重构Agent工作流,将LLM调用、工具执行等模块抽象为节点,通过条件边实现动态跳转。这种设计使得复杂的工作流程变得直观且易于管理。
图(Graph)——智能体协作的骨架 状态机是LangGraph的心脏,它使用类型注解来定义状态结构:
class AgentState(TypedDict):messages: Annotated[list[AnyMessage], operator.add] # 消息自动累积intermediate_steps: Annotated[list[tuple], custom_merge] # 自定义状态合并
通过Annotated元数据,可以声明状态合并策略,如operator.add实现列表自动拼接,或使用自定义函数实现高级逻辑。 3. 节点(Node)与边(Edge)——智能体的器官与血管 每个节点都是职责单一的模块:
graph.add_node("llm", self.call_openai) # LLM节点
graph.add_node("action", self.take_action) # 工具执行节点
条件边则提供了动态路由能力,根据当前状态决定执行流程。
四、LangGraph-DeepSeek智能体
首先安装相应的库
pip install langchain -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -U langchain-deepseek -i https://pypi.tuna.tsinghua.edu.cn/simple
创建你的第一个多智能体工作流
from langchain.chat_models import init_chat_modelmodel = init_chat_model(model='deepseek-reasoner', # deepseek-chat表示调用DeepSeek-v3模型,deepseek-reasoner表示调用DeepSeek-R1模型,model_provider='deepseek',# 模型提供商写deepseekapi_key="xxxxxxxxxxxxxxxxxxx",
)question="什么是CNN神经网络"result = model.invoke(question)
print(result)
五、LangGraph核心生态
LangGraph运行监控框架:LangSmith LangSmith (https://docs.smith.langchain.com/):「可视化调试」、「性能评估」与「运维监控」
LangGraph图结构可视化编辑与调试框架:LangGraph Studio LangGraph Studio(https://langgraph.com.cn/cloud/how-tos/studio/quick_start/index.html)可视化构建图、测试、分享和部署智能体流程图的图形化 IDE + 运行平台
LangGraph服务部署工具:LangGraph Cli LangGraph CLI (https://www.langgraph.dev/) 是用于本地启动、调试、测试和托管 LangGraph 智能体图的开发者命令行工具。
LangGraph Agent前端可视化工具: Agent Chat UI Agent Chat UI (https://langchain-ai.github.io/langgraph/agents/ui/)用于与后端 Agent(Graph 或 Chain)进行实时互动,支持上传文件、多工具协同、结构化输出、多轮对话、调试标注等功能。
LangGraph是LangChain工作流的高级编排工具,其中“高级”之处就是LangGraph能按照图结构来编排工作流。