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

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

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

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

项目环境准备

从源码安装

  1. 克隆仓库

    bash 复制代码
    git clone https://github.com/hzhaoy/deep-code-agent.git
    cd deep-code-agent
  2. 安装依赖

    bash 复制代码
    uv sync

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

项目配置

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

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

    bash 复制代码
    cp .env.example .env
  2. 使用你的配置编辑 .env 文件:

    python 复制代码
    # OpenAI API Configuration
    OPENAI_API_KEY=your-openai-api-key-here
    OPENAI_API_BASE=https://api.openai.com/v1
    
    # LLM Model Configuration
    MODEL_NAME=your-model-name-here

Agent

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

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

python 复制代码
from deep_code_agent import create_code_agent

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

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

LangGraph配置文件

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

json 复制代码
{
    "$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 目录,执行以下命令:

python 复制代码
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

相关推荐
北京耐用通信4 小时前
耐达讯自动化CANopen转Profibus 网关:实现光伏逆变器无缝接入工业以太网的技术解析
网络·人工智能·物联网·网络协议·自动化·信息与通信
GeeLark4 小时前
GeeLark 12月功能更新合集
人工智能·智能手机·自动化
设计是门艺术4 小时前
AI 生成 PPT 工具大全,智能排版 + 互动效果拉满
人工智能
移远通信4 小时前
移远5G-A王炸模组上线!AI+Wi-Fi 8+卫星通信,三重Buff叠满
人工智能·5g·移远通信
Aaron_9454 小时前
Memos:开源自托管笔记服务的技术深度解析
人工智能
人工智能知识库4 小时前
华为HCIA-AI Solution H13-313题库(带详细解析)
人工智能·华为·hcia-ai·h13-313
集芯微电科技有限公司4 小时前
替代HT6310/KP3310离线式AC-DC无感线性稳压器
数据结构·人工智能·单片机·嵌入式硬件·fpga开发
悟道心4 小时前
6. 自然语言处理NLP - 迁移学习
人工智能·transformer
juxieyiyi8785 小时前
CDN与PCDN在边缘计算中的分工
人工智能·边缘计算·cdn·pcdn·平台搭建·互联网项目·pcdn平台搭建双收益
peixiuhui5 小时前
OpenPLC与RK3576边缘计算网关中结合应用的技术案例与分析
人工智能·边缘计算·rk3588·rk3568·openplc·rk3576·g8701