Skip to content

当你准备将 LangGraph 智能体部署到生产环境时,请选择适合你技术栈的托管模式。LangSmith Cloud 为有状态、长时间运行的智能体提供全托管基础设施,支持持久化状态和后台执行。

你也可以使用相同的 Agent Streaming Protocol 部署在 JavaScript 框架和平台上,例如 Next.js、SvelteKit、Nuxt、Cloudflare Workers 和 Deno Deploy。

Frameworks and platforms
  View all guides

LangSmith Next.js SvelteKit Nuxt Cloudflare Deno

TIP

除 Cloud 之外,LangSmith 还提供多种部署选项,包括混合部署独立服务器带控制平面的自托管。如需了解更多信息,请参阅 LangSmith 部署概述

LangSmith Cloud

本节将介绍如何从 GitHub 仓库将你的智能体部署到 LangSmith Cloud。LangSmith 负责处理基础设施、扩缩容和运维方面的问题。

前提条件

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

部署你的智能体

1. 在 GitHub 上创建仓库

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

2. 部署到 LangSmith

导航到 LangSmith 部署

登录 [LangSmith](https://smith.langchain.com)。在左侧边栏中,选择 **Deployments**。

创建新部署

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

关联仓库

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

部署仓库

选择你的应用程序仓库。点击 **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 SDK:
bash
pip install langgraph-sdk
  1. 向智能体发送消息:
python
from langgraph_sdk import get_sync_client # or get_client for async

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

for chunk in client.runs.stream(
    None,    # Threadless run
    "agent", # Name of agent. Defined in langgraph.json.
    input={
        "messages": [{
            "role": "human",
            "content": "What is LangGraph?",
        }],
    },
    stream_mode="updates",
):
    print(f"Receiving new event of type: {chunk.event}...")
    print(chunk.data)
    print("\n\n")

TypeScript

  1. 安装 LangGraph SDK:
bash
npm install @langchain/langgraph-sdk
  1. 向智能体发送消息:
ts
import { Client } from "@langchain/langgraph-sdk";

const client = new Client({ apiUrl: "your-deployment-url", apiKey: "your-langsmith-api-key" });

const streamResponse = client.runs.stream(
  null,    // Threadless run
  "agent", // Name of agent. Defined in langgraph.json.
  {
    input: {
      "messages": [
        { "role": "user", "content": "What is LangGraph?"}
      ]
    },
    streamMode: "messages",
  }
);

for await (const chunk of streamResponse) {
  console.log(`Receiving new event of type: ${chunk.event}...`);
  console.log(JSON.stringify(chunk.data));
  console.log("\n\n");
}

Rest API

bash
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\", `# Name of agent. Defined in langgraph.json.`
        \"input\": {
            \"messages\": [
                {
                    \"role\": \"human\",
                    \"content\": \"What is LangGraph?\"
                }
            ]
        },
        \"stream_mode\": \"updates\"
    }"