部署 (Deployment)

当你准备将 LangChain 智能体部署到生产环境时,LangSmith 提供了一个专为智能体工作负载设计的托管平台。传统托管平台是为无状态、短生命周期的 Web 应用构建的,而 LangGraph 是专门为需要持久状态和后台执行的有状态、长时间运行的智能体而构建的。LangSmith 处理基础设施、扩展和运维问题,让你可以直接从代码仓库部署。

先决条件

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

部署你的智能体

1. 在 GitHub 上创建仓库

你的应用代码必须位于 GitHub 仓库中才能在 LangSmith 上部署。支持公开和私有仓库。在本快速入门中,首先按照本地服务器设置指南确保你的应用与 LangGraph 兼容,然后将代码推送到仓库。

2. 部署到 LangSmith

  1. 导航到 LangSmith 部署

    登录 LangSmith。在左侧边栏中,选择 Deployments

  2. 创建新部署

    点击 + New Deployment 按钮。将打开一个面板,你可以在其中填写必填字段。

  3. 关联仓库

    如果你是首次使用或添加之前未连接的私有仓库,请点击 Add new account 按钮,并按照说明连接你的 GitHub 账户。

  4. 部署仓库

    选择你的应用仓库。点击 Submit 进行部署。这可能需要大约 15 分钟才能完成。你可以在 Deployment details 视图中检查状态。

3. 在 Studio 中测试应用

应用部署完成后:

  1. 选择你刚创建的部署以查看更多详情。
  2. 点击右上角的 Studio 按钮。Studio 将打开并显示你的图。

4. 获取部署的 API URL

  1. 在 LangGraph 的 Deployment details 视图中,点击 API URL 将其复制到剪贴板。
  2. 点击 URL 将其复制到剪贴板。

5. 测试 API

现在你可以测试 API 了:

Python

1. 安装 LangGraph Python SDK:

pip install langgraph-sdk

2. 向智能体发送消息:

from langgraph_sdk import get_sync_client  # 或使用 get_client 进行异步调用

client = get_sync_client(url="your-deployment-url", api_key="your-langsmith-api-key")

for chunk in client.runs.stream(
    None,     # 无线程运行
    "agent",  # 智能体名称。在 langgraph.json 中定义。
    input={
        "messages": [{
            "role": "human",
            "content": "什么是 LangGraph?",
        }],
    },
    stream_mode="updates",
):
    print(f"收到新事件,类型: {chunk.event}...")
    print(chunk.data)
    print("\n\n")

REST API

curl -s --request POST \
    --url <DEPLOYMENT_URL>/runs/stream \
    --header 'Content-Type: application/json' \
    --header "X-Api-Key: <LANGSMITH API KEY>" \
    --data "{
        \"assistant_id\": \"agent\",
        \"input\": {
            \"messages\": [
                {
                    \"role\": \"human\",
                    \"content\": \"什么是 LangGraph?\"
                }
            ]
        },
        \"stream_mode\": \"updates\"
    }"

提示:LangSmith 提供额外的托管选项,包括自托管和混合部署。更多信息请参阅平台设置概述。

部署选项

LangSmith 提供多种部署选项:

最佳实践

下一步