深入浅出LangGraph AI Agent智能体开发教程(四)—LangGraph全生态开发工具使用与智能体部署

前言

本系列前三篇文章:

通过前三篇文章的学习我们掌握了LangGraph核心特性以及使用LangGraphcreate_react_agent快速构建ReAct图智能体并接入工具函数扩充智能体功能的基本技巧。LangGraph的使用可不仅仅是一行代码create_react_agent这么简单,还包括全流程的开发生态使用和更底层自定义图API的使用。本期分享笔者就为大家介绍LangGraph全生态工具 包括LangSimthLangGraph StudioLangGraph 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 StudioLangSmith 通过统一的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_KEYLANGSMITH相关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文件中配置项目信息,遵循如下所示的规范:

  • 必须包含 dependenciesgraphs 字段
  • 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智能体开发 免费获得。

相关推荐
算家计算5 小时前
OpenAI百亿美元造芯计划曝光,算力争夺战进入新阶段?
人工智能·openai·资讯
百锦再6 小时前
脚本语言的大浪淘沙或百花争艳
java·开发语言·人工智能·python·django·virtualenv·pygame
拓端研究室6 小时前
Python用PSO优化SVM与RBFN在自动驾驶系统仿真、手写数字分类应用研究
人工智能·机器学习
Shiyuan76 小时前
【检索通知】2025年IEEE第二届深度学习与计算机视觉国际会议检索
人工智能·深度学习·计算机视觉
shao9185166 小时前
Gradio全解10——Streaming:流式传输的音频应用(7)——ElevenLabs:高级智能语音技术
人工智能·gradio·tts·streaming·elevenlabs·stt·eleven music
掘技术6 小时前
十个 Python 案例分享
python
Monkey的自我迭代6 小时前
基于OpenCV的银行卡号识别系统:从原理到实现
人工智能·opencv·计算机视觉
会写代码的饭桶6 小时前
通俗理解 LSTM 的三门机制:从剧情记忆到科学原理
人工智能·rnn·lstm·transformer
算家计算7 小时前
ComfyUI-MultiTalk本地部署教程:创新L-RoPE机制破解多音频流绑定难题,定义多人对话视频生成新SOTA!
人工智能·开源