Skip to content

在本地使用 LangChain 构建智能体(agent)时,可视化智能体内部运行情况、实时交互以及调试出现的问题会非常有帮助。LangSmith Studio 是一个免费的视觉界面,用于从本地机器开发和测试您的 LangChain 智能体。

Studio 连接到您本地运行的智能体,向您展示智能体执行的每个步骤:发送给模型的提示(prompts)、工具调用及其结果,以及最终输出。您可以测试不同的输入、检查中间状态,并在无需额外代码或部署的情况下迭代优化智能体的行为。

本页描述了如何为您的本地 LangChain 智能体设置 Studio。

先决条件

开始之前,请确保您具备以下条件:

  • 一个 LangSmith 账户:在 smith.langchain.com 免费注册或登录。
  • 一个 LangSmith API 密钥:请遵循创建 API 密钥指南。
  • 如果您不希望数据被追踪到 LangSmith,请在您应用的 .env 文件中设置 LANGSMITH_TRACING=false。禁用追踪后,数据不会离开您的本地服务器。

设置本地智能体服务器

1. 安装 LangGraph CLI

LangGraph CLI 提供了一个本地开发服务器(也称为智能体服务器),用于将您的智能体连接到 Studio。

shell
# 需要 Python >= 3.11。
pip install --upgrade "langgraph-cli[inmem]"

2. 准备您的智能体

如果您已经有一个 LangChain 智能体,可以直接使用它。本示例使用一个简单的邮件智能体:

python
from langchain.agents import create_agent

def send_email(to: str, subject: str, body: str):
    """Send an email"""
    email = {
        "to": to,
        "subject": subject,
        "body": body
    }
    # ... email sending logic

    return f"Email sent to {to}"

agent = create_agent(
    "gpt-4o",
    tools=[send_email],
    system_prompt="You are an email assistant. Always use the send_email tool.",
)

3. 环境变量

Studio 需要一个 LangSmith API 密钥来连接您的本地智能体。在项目根目录下创建一个 .env 文件,并添加您从 LangSmith 获取的 API 密钥。

请确保您的 .env 文件不会被提交到版本控制系统(如 Git)。

.env
bash
LANGSMITH_API_KEY=lsv2...

4. 创建 LangGraph 配置文件

LangGraph CLI 使用一个配置文件来定位您的智能体并管理依赖项。在您的应用目录中创建一个 langgraph.json 文件:

json
{
  "dependencies": ["."],
  "graphs": {
    "agent": "./src/agent.py:agent"
  },
  "env": ".env"
}

create_agent 函数会自动返回一个已编译的 LangGraph 图(graph),这正是配置文件中 graphs 键所期望的内容。

有关配置文件中 JSON 对象每个键的详细解释,请参阅 LangGraph 配置文件参考

此时,项目结构将如下所示:

bash
my-app/
├── src
   └── agent.py
├── .env
└── langgraph.json

5. 安装依赖项

从根目录安装项目依赖项:

shell
pip install langchain langchain-openai
shell
uv add langchain langchain-openai

6. 在 Studio 中查看您的智能体

启动开发服务器,将您的智能体连接到 Studio:

shell
langgraph dev

Safari 浏览器会阻止到 Studio 的 localhost 连接。要解决此问题,请使用 --tunnel 参数运行上述命令,以便通过安全隧道访问 Studio。

服务器运行后,您的智能体既可以通过 API 在 http://127.0.0.1:2024 访问,也可以通过 Studio UI 在 https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024 访问:

Studio UI 中的智能体视图

当 Studio 连接到您的本地智能体后,您可以快速迭代优化智能体的行为。运行测试输入,检查完整的执行轨迹(trace),包括提示、工具参数、返回值以及令牌/延迟指标。当出现问题时,Studio 会捕获异常及其周围状态,帮助您理解发生了什么。

开发服务器支持热重载(hot-reloading)—— 在代码中修改提示或工具签名,Studio 会立即反映这些更改。您可以从任何步骤重新运行对话线程来测试您的更改,而无需从头开始。此工作流程适用于从简单的单工具智能体到复杂的多节点图。

有关如何运行 Studio 的更多信息,请参阅 LangSmith 文档中的以下指南:

视频指南

LangChain 中文文档