前言
本系列前三篇文章:
- 深入浅出LangGraph AI Agent智能体开发教程(一)---全面认识LangGraph
- 深入浅出LangGraph AI Agent智能体开发教程(二)---LangGraph预构建图API快速创建Agent
- 深入浅出LangGraph AI Agent智能体开发教程(三)---LangGraph工具调用实战
通过前三篇文章的学习我们掌握了LangGraph核心特性以及使用LangGraphcreate_react_agent
快速构建ReAct图智能体并接入工具函数扩充智能体功能的基本技巧。LangGraph的使用可不仅仅是一行代码create_react_agent
这么简单,还包括全流程的开发生态使用和更底层自定义图API的使用。本期分享笔者就为大家介绍LangGraph全生态工具 包括LangSimth 、LangGraph Studio 和LangGraph Cli,带大家从0到1本地部署上线一个智能体应用。
本系列分享是笔者结合自己学习工作中使用LangChain&LangGraph经验倾心编写的,力求帮助大家体系化快速掌握LangChain&LangGraph AI Agent智能体开发的技能!笔者的LangChain系列教程暂时更完,后面也会实时补充工作实践中的额外知识点,建议大家在学习LangGraph分享前先学习LangChain的基本使用技巧。大家感兴趣可以关注笔者掘金账号和系列专栏。更可关注笔者同名微信公众号: 大模型真好玩 , 每期分享涉及的代码均可在公众号私信: LangChain智能体开发获得。
一、LangGraph全生态开发工具回顾
1.1 LangGraph运行监控框架:LangSmith
LangSmith 的官网地址:docs.smith.langchain.com/
LangSmith是一款用于构建、调试、可视化和评估大模型工作流的全生命周期开发平台。LangSmith的主要工作不是聚焦大模型智能体构建,而是聚焦于我们在构建AI应用时的调试、性能评估与运维监测。

1.2 LangGraph图结构可视化与调试框架:LangGraph Studio
LangGraph Studio 的官网地址:www.langgraph.dev/studio
LangGraph Studio 是一个用于可视化构建、测试、分享和部署智能体流程图的图形化 IDE + 运行平台。我们可以使用LangGraph Studio拖拽的方式(包括使用工具、模型、路由组件)零代码构建智能体,也经常使用可视化调试图智能体的功能。

1.3 LangGraph服务部署工具:LangGraph Cli
LangGraph Cli 官网地址:www.langgraph.dev/ (需要代理环境)
LangGraph Cli 是用于本地启动、调试、测试和托管 LangGraph 图智能体的开发者命令行工具。我们通常在智能体搭建完成后一键部署应用。而一旦应用部署上线,LangGraph Cli还会非常贴心的提供后端接口说明文档。除了能够本地部署,LangGraph Cli也提供云端托管服务,开发者可以将构建的智能体 Graph部署到云端,并允许公开访问,同时支持支持长时间运行、文件上传、外部 API 调用、Studio 集成等功能。

1.4 LangGraph Agent前端可视化工具: Agent Chat UI
Agent Chat UI 官网地址:langchain-ai.github.io/langgraph/a...
Agent Chat UI是LangGraph/LangChain 官方提供的多智能体前端对话面板,用于与后端 Agent(Graph 或 Chain)进行实时互动,支持上传文件、多工具协同、结构化输出、多轮对话、调试标注等功能。 Agent Chat UI因其便捷的接入常常作为LangGraph 应用的首选。

1.5 LangGraph全生态开发工具关系解析
LangGraph Studio 是官方专门为LangGraph 可视化搭建打造的本地/云端IDE,具备可视化节点和状态、拖拽式搭建、可视化调试、快速部署等功能。LangGraph Studio 在本地可视化运行时会自动把调用过程上传到LangSmith ;而在LangSmith 网页端我们可以追踪任何的日志记录Trace
, 又能一键Run in Studio
回放整条执行链,所以说LangGraph Studio 与LangSmith 通过统一的Trace SDK
紧密集成。
LangGraph Cli 中集成了LangGraph Studio , 同时制定了智能体的开发和部署规范,用户可以通过LangGraph Cli 快速创建项目架构开发部署,同时与LangSmith关联。
大家可以思考一下:基于LangGraph框架可以开发出各种复杂的智能体,那么这些智能体在生产中是如何部署运行的呢?解决方法就是把它们部署成一个Server
,其它应用可以通过Python/JavaScript SDK
接口直接和服务进行连接调用,完整架构如下:

二、 创建完整LangGraph智能体项目流程
说了这么多不如实战操作一次,接下来笔者将详细分享如何使用LangGraph Cli
来创建一个完整的LangGraph Agent项目,在此过程中将使用LangGraph Studio 进行架构实时演示并使用LangSmith 进行运行效果监督。必须要说明的是,如果想把我们定义的Graph添加到LangGraph Studio
中,需要严格按照官方要求的项目结构进行构型,详细步骤如下:
2.1 Step1:创建项目文件夹和依赖文件
首先创建一个langgraph_chatbot
文件夹,并在其中新建一个requirements.txt
文件,里面填写运行项目时需要的依赖项,如下所示:
langgraph
langchain-core
langchain-deepseek
python-dotenv
langsmith
pydantic
matplotlib
seaborn
pandas
IPython
langchain_mcp_adapters
uv

2.2 Step2: 注册LangSmith
为了更好的监控智能体实时运行情况,我们可以考虑借助LangSmith 进行追踪(会将智能体运行情况实时上传到LangGraph官网并进行展示)。要开始使用LangSmith , 我们需要创建一个账户,LangSmith 支持使用Github注册并登录,登录页面在smith.langchain.com/


在构建程序跟踪前,首先需要创建一个API密钥,该密钥将允许我们的项目开始向LangSmith发送跟踪数据,按照下图我们首先点击Set up tracing
设置追踪按钮,然后选择LangGraph
框架,点击Generate API Key
生成密钥。创建完密钥后,在后续配置环境变量环节设置开启追踪,并输入密钥即可接入LangSmith。



2.3 Step3: 创建配置文件
在langgraph_chatbot
文件夹中,新建一个.env
文件,将敏感信息(如API
密钥)放在环境变量中而不是硬编码(注意: 确保字段名称和下方一致,DEEPSEEK_API_KEY
和LANGSMITH
相关api可以被langgrapn自动识别)。
ini
DEEPSEEK_API_KEY='你注册的deepseek api key'
WEATHER_API_KEY='你注册的心知天气api key'
LANGSMITH_TRACING=true
LANGSMITH_API_KEY='你注册的langsmith api key'
LANGSMITH_PROJECT=langgraph_studio_chatbot

2.4 Step4: 创建graph.py核心文件
在langgraph_chatbot
文件夹中,新建一个graph.py
文件、该文件中编写构建图的具体逻辑,这里我们将利用预构建图API编写天气助手的代码填进去。在我们之后学习LangGraph底层API后,也可以自定义状态、节点、边、图的编译代码,并写入该文件中。(特别注意: 代码中要将init_chat_model
方法替换为ChatDeepSeek
方法,因为init_chat_model
会存在异步堵塞问题。) 同时在使用LangGraph CLI创建智能体项目时,会自动设置记忆相关内容,并进行持久化记忆存储,无需手动设置。全部代码如下:
python
import os
from dotenv import load_dotenv
from langchain_deepseek import ChatDeepSeek
from langgraph.prebuilt import create_react_agent
from langchain_core.tools import tool
from pydantic import BaseModel, Field
import requests, json
# 加载环境变量
load_dotenv(override=True)
class WeatherQuery(BaseModel):
loc: str = Field(description="城市名称")
@tool(args_schema=WeatherQuery)
def get_weather(loc):
"""
查询即时天气函数
:param loc: 必要参数,字符串类型,用于表示查询天气的具体城市名称,\
:return:心知天气 API查询即时天气的结果,具体URL请求地址为:"https://api.seniverse.com/v3/weather/now.json"
返回结果对象类型为解析之后的JSON格式对象,并用字符串形式进行表示,其中包含了全部重要的天气信息
"""
url = "https://api.seniverse.com/v3/weather/now.json"
params = {
"key": os.getenv('WEATHER_API_KEY'),
"location": loc,
"language": "zh-Hans",
"unit": "c",
}
response = requests.get(url, params=params)
temperature = response.json()
return temperature['results'][0]['now']
tools = [get_weather]
# 创建模型
model = ChatDeepSeek(model="deepseek-chat")
# 创建图
graph = create_react_agent(model=model, tools=tools)
2.5 Step5: 创建langgraph.json文件
在langgraph_chatbot
文件夹中,新建一个langgraph.json
文件,在该json
文件中配置项目信息,遵循如下所示的规范:
- 必须包含
dependencies
和graphs
字段 graphs
字段格式:"图名": "文件路径:变量名"- 配置文件必须放在与Python文件同级或更高级的目录
( 注意: 项目文件的名称必须为langgraph.json
)。
文件中的配置项如下:
- dependencies: 指定LangGraph项目依赖项(requirements.txt)所在的目录。
- graphs: 定义图名
chatbot
,以及指定图变量的名称和所属的python文件。 - env: 指定环境变量文件路径
最终项目结构和文件内容如下:

Step6: 安装langgraph-cli及其依赖
安装langgraph-cli
依赖,在anaconda虚拟环境langgraphenv
中执行pip install -U "langgraph-cli[inmem]"
命令:

然后进入到langgraph_chatbot
文件夹中执行pip install -r requirements.txt
安装相关依赖。

最后我们在langgraph_chatbot
文件夹下执行langgraph dev
命令启动项目,启动之后可以看到三个链接,第一个链接是当前部署完成后的服务端口,第二个是LangGraph Studio的可视化页面,其中第三个端口是端口的说明文档。

三、LangGraph全家桶简单测试使用
下面我们就来访问一下这些链接:
3.1 后端服务接口
我们首先点击第三个链接,其中包含了详细的接口调用方法,这些暴露的接口调用方法可以用于进一步的开发测试。

3.2 LangGraph Studio 可视化调试
然后我们点击第二个也就是Studio UI
中显示的链接,在浏览器中打开并访问Studio
, 如下图所示: (特别注意: 如果遇到谷歌浏览器显示下图错误,可以试着关闭谷歌浏览器的所有扩展项或者切换为edge浏览器):

正常界面显示如下:

我们可以在Input Messages中输入北京今天的天气如何?
进行可视化调试:

3.3 LangSmith 追踪
因为我们之前配置时设置了LangSmith追踪,此时可以在LangSmith中查看到当前项目的运行情况,点击LangGraph Studio
侧边栏的Tracing Projects
按钮,然后点击我们的项目langgraph_studio_chatbot
,可以看到LangSmith的调试记录:



四、总结
本期内容分享并实际操作了LangGraph的全流程开发生态,包括使用LangGraph Studio可视化调试我们的预构建图、LangSmith追踪图的调试信息和LangGraph Cli一键本地部署项目,希望大家可以参照笔者分享在PC上完整复现一遍加强对LangGraph开发生态的理解。大家有没有发现有一个组件 Agent Chat UI我们还没有介绍?限于篇幅原因该部分我们将在下一篇内容中分享,带大家实操搭建一个智能数据分析助手并将其接入Agent Chat UI快速构建应用,大家期待一下吧~
本系列分享预计会有20节左右的规模,保证大家看完一定能够掌握LangChain&LangGraph的开发能力,大家感兴趣可关注笔者掘金账号和专栏,更可关注笔者的同名微信公众号:大模型真好玩 , 本系列分享的全部代码均可在微信公众号私信笔者: LangChain智能体开发 免费获得。