> ## Documentation Index
> Fetch the complete documentation index at: https://cndoc-langchain.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 在云端部署

> 创建和管理 LangSmith Cloud 部署，包括修订版、日志、指标和设置。

这是将应用程序部署到 LangSmith Cloud 的综合设置和管理指南。它涵盖了两种部署方法：[LangSmith UI](https://smith.langchain.com)（从连接的 GitHub 仓库部署）和 [`langgraph deploy` CLI 命令](/langsmith/cli#deploy)（直接从本地机器构建和推送）。

<Callout icon="bolt" color="#4F46E5" iconType="regular">
  **如果您正在寻找快速设置**，请先尝试[快速入门指南](/langsmith/deployment-quickstart)。
</Callout>

在设置之前，请查看[云端概述页面](/langsmith/cloud)以了解云端托管模型。

## 先决条件

* 拥有 [Plus 计划或更高级别](https://www.langchain.com/pricing) 的 LangSmith 账户。
* [验证 LangGraph API 是否在本地运行](/langsmith/local-dev-testing)。如果 API 无法成功运行（即 `langgraph dev`），则部署到 LangSmith 也会失败。

## 创建新部署

选择适合您工作流的部署方法——LangSmith UI 连接到 GitHub 仓库并支持推送时自动部署，而 `langgraph deploy` CLI 命令直接从本地项目目录构建和部署。

<Tabs>
  <Tab title="LangSmith UI">
    <Note>
      **需要一次性设置**：GitHub 组织所有者或管理员必须在 LangSmith UI 中完成 OAuth 流程，以授权 `hosted-langserve` GitHub 应用。每个工作区只需执行一次。完成初始 OAuth 授权后，所有具有部署权限的开发人员都可以创建和管理部署，无需 GitHub 管理员访问权限。
    </Note>

    从 [LangSmith UI](https://smith.langchain.com) 开始，在左侧导航面板中选择 **Deployments**。在右上角，选择 **+ New Deployment** 以创建新部署：

    1. 在 **Create New Deployment** 面板中，填写必填字段。对于 **Deployment details**：
       1. 选择 **Import from GitHub** 并按照 GitHub OAuth 工作流安装并授权 LangChain 的 `hosted-langserve` GitHub 应用以访问所选仓库。安装完成后，返回 **Create New Deployment** 面板，从下拉菜单中选择要部署的 GitHub 仓库。
          <Note> 安装 LangChain 的 `hosted-langserve` GitHub 应用的 GitHub 用户必须是该组织或账户的[所有者](https://docs.github.com/en/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#organization-owners)。此授权每个 LangSmith 工作区只需完成一次——后续部署可由任何具有部署权限的用户创建。</Note>
       2. 为部署指定一个名称。
       3. 指定所需的 **Git Branch**。部署与一个分支关联。创建新修订版时，将部署关联分支的代码。分支可以稍后在[部署设置](#deployment-settings)中更新。
       4. 指定 [LangGraph API 配置文件](/langsmith/cli#configuration-file)的完整路径，包括文件名。例如，如果文件 `langgraph.json` 位于仓库根目录，请指定 `langgraph.json`。
       5. 使用复选框 **Automatically update deployment on push to branch**。如果选中，当更改推送到指定的 **Git Branch** 时，部署将自动更新。您可以在 [UI](https://smith.langchain.com) 的[部署设置](#deployment-settings)中启用或禁用此设置。
          对于 **Deployment Type**：
          * 开发部署用于非生产用例，配置的资源最少。
          * 生产部署每秒可处理多达 500 个请求，并配置了具有自动备份的高可用性存储。
       6. 确定部署是否应 **Shareable through Studio**。
          1. 如果未选中，部署将仅对拥有有效 LangSmith API 密钥的[工作区](/langsmith/administration-overview#workspaces)可访问。
          2. 如果选中，部署将通过 [Studio](/langsmith/studio) 对任何 LangSmith 用户可访问。将提供一个指向 Studio 的直接 URL 以与其他 LangSmith 用户共享。
       7. 指定 **Environment Variables** 和 secrets。要为部署配置其他变量，请参阅[环境变量参考](/langsmith/env-var)。
          1. 敏感值（如 API 密钥，例如 `OPENAI_API_KEY`）应指定为 secrets。
          2. 也可以指定其他非 secret 环境变量。
       8. 会自动创建一个新的 LangSmith [跟踪项目](/langsmith/observability)，其名称与部署相同。
    2. 在右上角，选择 **Submit**。几秒钟后，**Deployment** 视图出现，新部署将被加入配置队列。
  </Tab>

  <Tab title="LangGraph CLI">
    <Note>
      `langgraph deploy` 命令处于 **beta** 阶段。它需要安装并运行 [Docker](https://docs.docker.com/get-docker/)。在 Apple Silicon (M1/M2/M3) 上，还需要 [Docker Buildx](https://docs.docker.com/build/install-buildx/) 以交叉编译到 `linux/amd64`。
    </Note>

    1. 安装 [LangGraph CLI](/langsmith/cli)：
       ```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
       uv tool install langgraph-cli
       ```
    2. 将您的 LangSmith API 密钥添加到项目根目录的 `.env` 文件中：
       ```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
       LANGSMITH_API_KEY=lsv2_...
       ```
    3. 从项目目录运行部署命令：
       ```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
       langgraph deploy
       ```
       这将创建一个名为项目目录名称的 `dev` 部署。使用 `--name` 指定不同的名称，或使用 `--deployment-type prod` 创建生产部署：
       ```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
       langgraph deploy --name my-agent --deployment-type prod
       ```
       命令完成后，部署将被加入配置队列。部署创建后，可以通过 [LangSmith UI](https://smith.langchain.com) 管理环境变量，或在 [`langgraph.json` 的 `env` 字段中配置](/langsmith/cli#configuration-file)。
  </Tab>
</Tabs>

## 创建新修订版

[创建新部署](#create-new-deployment)时，默认会创建一个新修订版。您可以创建后续修订版来部署新的代码更改。

<Tabs>
  <Tab title="LangSmith UI">
    从 [LangSmith UI](https://smith.langchain.com) 开始，在左侧导航面板中选择 **Deployments**。选择一个现有部署以创建新修订版。

    1. 在 **Deployment** 视图中，在右上角选择 **+ New Revision**。
    2. 在 **New Revision** 模态框中，填写必填字段。
       1. 指定 [API 配置文件](/langsmith/cli#configuration-file)的完整路径，包括文件名。例如，如果文件 `langgraph.json` 位于仓库根目录，请指定 `langgraph.json`。
       2. 确定部署是否应 **Shareable through Studio**。
          * 如果未选中，部署将仅对拥有有效 LangSmith API 密钥的[工作区](/langsmith/administration-overview#workspaces)可访问。
          * 如果选中，部署将通过 [Studio](/langsmith/studio) 对任何 LangSmith 用户可访问。将提供一个指向 Studio 的直接 URL 以与其他 LangSmith 用户共享。
       3. 指定 **Environment Variables** 和 secrets。现有的 secrets 和环境变量会预先填充。要为修订版配置其他变量，请参阅[环境变量参考](/langsmith/env-var)。
          1. 添加新的 secrets 或环境变量。
          2. 移除现有的 secrets 或环境变量。
          3. 更新现有 secrets 或环境变量的值。
    3. 选择 **Submit**。几秒钟后，**New Revision** 模态框将关闭，新修订版将被加入部署队列。
  </Tab>

  <Tab title="LangGraph CLI">
    从项目目录重新运行 `langgraph deploy`。该命令通过名称查找现有部署，并使用您的最新代码更改创建新修订版：

    ```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
    langgraph deploy
    ```

    要通过 ID 而不是名称定位特定部署，请使用 `--deployment-id`：

    ```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
    langgraph deploy --deployment-id <DEPLOYMENT_ID>
    ```

    使用 `langgraph deploy list` 查看所有部署并找到其 ID：

    ```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
    langgraph deploy list
    ```

    <Note>
      `langgraph deploy` 只能更新最初由 `langgraph deploy` 创建的部署。通过 LangSmith UI 或 GitHub 集成创建的部署无法使用此命令更新。
    </Note>
  </Tab>
</Tabs>

## 查看构建和服务器日志

每个修订版都有构建和服务器日志可用。

<Tabs>
  <Tab title="LangSmith UI">
    从 **Deployments** 视图开始：

    1. 从 **Revisions** 表中选择所需的修订版。一个面板从右侧滑出，默认选中 **Build** 选项卡，显示该修订版的构建日志。
    2. 在面板中，选择 **Server** 选项卡以查看该修订版的服务器日志。服务器日志仅在修订版部署后可用。
    3. 在 **Server** 选项卡中，根据需要调整日期/时间范围选择器。默认情况下，日期/时间范围选择器设置为 **Last 7 days**。
  </Tab>

  <Tab title="LangGraph CLI">
    使用 `langgraph deploy logs` 获取部署的日志。

    查看服务器（运行时）日志：

    ```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
    langgraph deploy logs
    ```

    查看构建日志：

    ```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
    langgraph deploy logs --type build
    ```

    持续跟踪日志：

    ```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
    langgraph deploy logs --follow
    ```

    按时间范围、日志级别或搜索字符串过滤日志：

    ```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
    langgraph deploy logs --start-time 2026-03-01T00:00:00Z --level ERROR
    ```

    如果您有多个部署，请通过名称或 ID 指定目标：

    ```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
    langgraph deploy logs --name my-agent
    langgraph deploy logs --deployment-id <DEPLOYMENT_ID>
    ```

    有关所有可用选项，请参阅 [`deploy logs` CLI 参考](/langsmith/cli#deploy-logs)。
  </Tab>
</Tabs>

## 查看部署指标

部署上线后，您可以从 [LangSmith UI](https://smith.langchain.com) 监控其性能。

从 LangSmith UI 开始：

1. 在左侧导航面板中，选择 **Deployments**。
2. 选择要监控的现有部署。
3. 选择 **Monitoring** 选项卡以查看部署指标。请参阅[所有可用指标](/langsmith/control-plane#monitoring)列表。
4. 在 **Monitoring** 选项卡中，根据需要使用日期/时间范围选择器。默认情况下，日期/时间范围选择器设置为 **Last 15 minutes**。

## 中断修订版

中断修订版将停止该修订版的部署。

<Warning>
  **未定义行为**
  中断的修订版具有未定义的行为。这仅在您需要部署新修订版且已有一个修订版“卡住”进行中时才有用。将来，此功能可能会被移除。
</Warning>

从 **Deployments** 视图开始：

1. 从 **Revisions** 表中，选择所需修订版行右侧的菜单图标（三个点）。
2. 从菜单中选择 **Interrupt**。
3. 将出现一个模态框。查看确认消息。选择 **Interrupt revision**。

## 删除部署

<Tabs>
  <Tab title="LangSmith UI">
    从 [LangSmith UI](https://smith.langchain.com) 开始：

    1. 在左侧导航面板中，选择 **Deployments**，其中包含现有部署列表。
    2. 选择所需部署行右侧的菜单图标（三个点），然后选择 **Delete**。
    3. 将出现一个 **Confirmation** 模态框。选择 **Delete**。
  </Tab>

  <Tab title="LangGraph CLI">
    使用 `langgraph deploy list` 找到要删除的部署的 ID：

    ```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
    langgraph deploy list
    ```

    然后通过 ID 删除它：

    ```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
    langgraph deploy delete <DEPLOYMENT_ID>
    ```

    要跳过确认提示，请使用 `--force`：

    ```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
    langgraph deploy delete --force <DEPLOYMENT_ID>
    ```
  </Tab>
</Tabs>

## 部署设置

从 **Deployments** 视图开始：

1. 在右上角，选择齿轮图标（**Deployment Settings**）。
2. 将 `Git Branch` 更新为所需的分支。
3. 选中/取消选中复选框 **Automatically update deployment on push to branch**。
   1. 分支创建/删除和标签创建/删除事件不会触发更新。只有推送到现有分支才会触发更新。
   2. 快速连续推送到分支将排队后续更新。一旦构建完成，最新的提交将开始构建，其他排队的构建将被跳过。

## 添加或移除 GitHub 仓库

安装并授权 LangChain 的 `hosted-langserve` GitHub 应用后，可以修改该应用的仓库访问权限以添加新仓库或移除现有仓库。如果创建了新仓库，可能需要显式添加。

1. 从 GitHub 个人资料，导航到 **Settings** > **Applications** > `hosted-langserve` > 点击 **Configure**。
2. 在 **Repository access** 下，选择 **All repositories** 或 **Only select repositories**。如果选择了 **Only select repositories**，则必须显式添加新仓库。
3. 点击 **Save**。
4. 创建新部署时，下拉菜单中的 GitHub 仓库列表将更新以反映仓库访问权限的更改。

## 允许列表 IP 地址

2025 年 1 月 6 日之后创建的所有 LangSmith 部署的流量都将通过 NAT 网关。
该 NAT 网关将根据您部署的区域拥有多个静态 IP 地址。请参阅下表获取要允许列表的 IP 地址列表：

| US (GCP)       | EU (GCP)       | US (AWS)      |
| -------------- | -------------- | ------------- |
| 35.197.29.146  | 34.90.213.236  | 3.13.80.97    |
| 34.145.102.123 | 34.13.244.114  | 3.146.216.198 |
| 34.169.45.153  | 34.32.180.189  | 16.59.72.244  |
| 34.82.222.17   | 34.34.69.108   |               |
| 35.227.171.135 | 34.32.145.240  |               |
| 34.169.88.30   | 34.90.157.44   |               |
| 34.19.93.202   | 34.141.242.180 |               |
| 34.19.34.50    | 34.32.141.108  |               |
| 34.59.244.194  |                |               |
| 34.9.99.224    |                |               |
| 34.68.27.146   |                |               |
| 34.41.178.137  |                |               |
| 34.123.151.210 |                |               |
| 34.135.61.140  |                |               |
| 34.121.166.52  |                |               |
| 34.31.121.70   |                |               |

***

<div className="source-links">
  <Callout icon="terminal-2">
    [将这些文档连接](/use-these-docs)到 Claude、VSCode 等，通过 MCP 获取实时答案。
  </Callout>

  <Callout icon="edit">
    [在 GitHub 上编辑此页面](https://github.com/langchain-ai/docs/edit/main/src/langsmith/deploy-to-cloud.mdx) 或 [提交问题](https://github.com/langchain-ai/docs/issues/new/choose)。
  </Callout>
</div>
