以编程方式使用文档

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

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

LangSmith Cloud

本节介绍如何通过 GitHub 仓库将智能体部署到 LangSmith Cloud。LangSmith 负责处理基础设施、扩展和运维问题。

前提条件

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

部署您的智能体

1. 在 GitHub 上创建仓库

您的应用程序代码必须位于 GitHub 仓库中才能部署到 LangSmith。支持公开和私有仓库。对于此快速入门,首先请确保您的应用与 LangGraph 兼容,方法如下 本地服务器设置指南。然后,将您的代码推送到仓库。

2. 部署到 LangSmith

Navigate to LangSmith Deployment

登录 LangSmith。在左侧边栏中,选择 **部署**.

Create new deployment

点击 **+ 新建部署** 按钮。将打开一个窗格,您可以在其中填写必填字段。

Link repository

如果您是首次使用或添加尚未连接过的私有仓库,请点击 **添加新账户** 按钮,然后按照说明连接您的 GitHub 账户。

Deploy repository

选择您的应用程序仓库。点击 **提交** 进行部署。完成可能需要约 15 分钟。您可以在以下位置查看状态 **部署详情** view.

3. 在 Studio 中测试您的应用程序

应用程序部署完成后:

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

4. 获取您的部署的 API URL

  1. 在 **部署详情** 视图中,点击 **API URL** 将其复制到剪贴板。
  2. 点击 URL 将其复制到剪贴板。

5. 测试 API

您现在可以测试 API:

TypeScript

  1. 安装 LangGraph SDK:
npm install @langchain/langgraph-sdk
  1. 向代理发送消息:
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

curl -s --request POST \
    --url /runs/stream \
    --header 'Content-Type: application/json' \
    --header "X-Api-Key:  \
    --data "{
        \"assistant_id\": \"agent\", `# Name of agent. Defined in langgraph.json.`
        \"input\": {
            \"messages\": [
                {
                    \"role\": \"human\",
                    \"content\": \"What is LangGraph?\"
                }
            ]
        },
        \"stream_mode\": \"updates\"
    }"