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

本地运行LangChain Agent用于开发调试

在基于DeepAgents轻松构建 AI Coding Agent这篇文章中,我介绍了如何基于最新的 LangChain 1.0 和 DeepAgents 轻松构建一个简单但却功能强大和全面的 Coding Agent,其中还通过子 Agent 实现了代码审查、测试生成、文档生成、调试和代码重构等能力。

那么,当完成了一个 Agent 的开发后,我们应该如何在本地进行快速地测试、调试和验证呢?好在 LangChain 生态很完善,它提供了LangSmith Deployment、LangGraph CLI、Agent Chat UI等工具,涵盖了后端 agent 服务部署、前端 UI 交互等功能,可以帮助我们很方便地在本地进行验证开发和调测。

接下来就基于deep-code-agent这个项目具体聊聊如何使用 LangChain 的这些工具进行 Agent 的测试和开发。

项目环境准备

从源码安装

  1. 克隆仓库

    gitclone https://github.com/hzhaoy/deep-code-agent.gitcddeep-code-agent
  2. 安装依赖

    uvsync

通过uv sync一个命令,就可以完成从 python 虚拟环境创建到项目依赖安装的所有工作,其中用于部署 Agent 服务的依赖主要是"langgraph-cli[inmem]",它提供了langgraph dev的启动部署命令,用于部署 Agent 服务。

项目配置

这里主要是环境变量的设置,通过新建一个.env文件进行配置:

  1. 从示例模板创建一个.env 文件

    cp.env.example .env
  2. 使用你的配置编辑.env文件:

    # OpenAI API ConfigurationOPENAI_API_KEY=your-openai-api-key-here OPENAI_API_BASE=https://api.openai.com/v1# LLM Model ConfigurationMODEL_NAME=your-model-name-here

Agent

这里我们需要新建一个目录用于保存测试所需的文件,可以放在项目根目录下(比如项目目录下的 server,这里也以根目录下的server目录为例进行说明),也可以是其他任意的位置。

然后创建一个用于调试的 Agent,后续用于部署服务和前端交互:

fromdeep_code_agentimportcreate_code_agent agent=create_code_agent(codebase_dir="/tmp/test")

将上面的代码保存为一个名为agent.py的 python 文件,并放在server目录下

LangGraph配置文件

创建一个名为langgraph.json的文件,输入以下内容,并放置在server目录下:

{"$schema":"https://langgra.ph/schema.json","dependencies":["."],"graphs":{"agent":"agent:agent"}}

这是使用 langgraph-cli 启动服务时所需的配置文件,简单解释下几个字段的含义:

  • $schema:JSON配置文件遵循的 schema,按官方固定值配置即可
  • dependencies:这是必填项,指定 LangGraph API 服务器的所需的依赖项数组。这里使用一个单独的句点(".")表示使用本地的Python包。
  • graphs:必填项。从 Graph ID 到具体的 Agent 定义的映射。
    在这里,agent为 Graph ID,用于后续在前端指定与哪个 agent 进行交互;
    agent:agent表示当前目录下 agent.py 这个模块中名为 agent 的变量所定义的智能体

启动LangGraph API 服务器

进入 server 目录,执行以下命令:

uv run langgraph dev

如果服务成功启动,你将看到类似以下的输出:

INFO:langgraph_api.cli: Welcome to ╦ ┌─┐┌┐┌┌─┐╔═╗┬─┐┌─┐┌─┐┬ ┬ ║ ├─┤││││ ┬║ ╦├┬┘├─┤├─┘├─┤ ╩═╝┴ ┴┘└┘└─┘╚═╝┴└─┴ ┴┴ ┴ ┴ - 🚀 API: http://127.0.0.1:2024 - 🎨 Studio UI: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024 - 📚 API Docs: http://127.0.0.1:2024/docs This in-memory server is designed for development and testing. For production use, please use LangSmith Deployment.

Chat UI 交互

访问 Agent Chat UI,输入上面显示的API URL(这里是http://127.0.0.1:2024)以及Graph ID(在这里是agent)。然后,点击“Continue”后就可以开始与该agent 进行交互了,如下所示:


在交互界面上,你可以直接与你开发的 Agent 进行对话,查看 Agent 的输出、工具调用情况、工具返回结果等,这些内容对于 Agent 的开发调试是很有帮助的。

一个交互示例

最后,贴上一个使用 deep-code-agent 完成编码任务的示例:

agent_demo

http://www.cnnetsun.cn/news/101868.html

相关文章:

  • EmotiVoice语音合成服务健康检查机制
  • 告别机械音!EmotiVoice实现自然情感语音合成
  • 电机生产车间设备看板物联网方案
  • TPAMI 2025 | 图像超分新范式:LTPE 以局部纹理分布约束,兼顾视觉质量与参数效率
  • mysql建表后的数据填入
  • Observe · Secure · AI|观测云2025中国可观测日深圳站圆满收官
  • 基于SpringBoot的大学生科技竞赛管理系统(毕业设计项目源码+文档)
  • 基于SpringBoot的动漫分享系统的设计与实现(毕业设计项目源码+文档)
  • 震惊!这3家环保服务商靠谱到让你意想不到!
  • 微服务网格:Istio 流量管理实战
  • 电脑启动太慢怎么解决?从底层优化到专业电脑加速的5大终极策略
  • 我的新能源车企,如何靠六西格玛培训跑赢质量与成本的终极竞赛?
  • [创业之路]-734-没有权力的责任是奴役,没有责任的权力是腐败,没有利益的责任是忽悠。管得好,叫责权利统一;管不好,叫利权责倒挂。一流的组织:用责任牵引权力和利益;末流的组织:用利益和权力逃避责任
  • 基于SpringBoot的自动驾驶数据处理任务众包平台系统毕业设计项目源码
  • 基于SpringBoot的养老院管理系统毕业设计项目源码
  • 若是Windows下的HGDB配置参数work_mem>=2GB会导致HGDB服务无法启动
  • 17、使用psad应对网络攻击:原理、配置与实例
  • EmotiVoice能否替代真人配音?实测对比告诉你
  • EmotiVoice语音紧迫感调控适合警报通知
  • vue基于springboot的土壤监测信息采集系统
  • vue基于springboot的小区停车场收费车辆计费管理系统的设计与实现
  • vue基于springboot的文创产品商城众筹平台设计与实现
  • vue基于springboot的物流运输仓储仓库采购信息系统平台的设计与实现
  • 基于SpringBoot的民宿管理系统的设计与实现毕业设计项目源码
  • 基于SpringBoot的民运会赛务管理系统的设计与实现毕业设计项目源码
  • PCB焊锡虚焊排查与预防全攻略
  • 保姆级教程!把AI大模型训练过程揉碎了讲给你听,小白也能秒懂!
  • 4-DE10-Nano的HDMI方块移动案例——I2C通信协议
  • 5款AI写论文哪个好?深度横评后我发现了宏智树AI学术圈隐藏的“六边形战士”
  • 软件测试认证体系全面分析