> ## 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 控制平面

\_控制平面\_是 LangSmith 中管理部署的部分。它包括控制平面 UI，用户在其中创建和更新 [Agent 服务器](/langsmith/agent-server)，以及控制平面 API，这些 API 支持 UI 并提供编程访问。

当您通过控制平面进行更新时，更新会存储在控制平面状态中。[数据平面](/langsmith/data-plane)“监听器”通过调用控制平面 API 来轮询这些更新。控制平面从不直接连接到数据平面。

## 控制平面 UI

通过控制平面 UI，您可以：

* 查看待处理部署的列表。
* 查看单个部署的详细信息。
* 创建新部署。
* 更新部署。
* 更新部署的环境变量。
* 查看部署的构建和服务器日志。
* 查看部署指标，例如 CPU 和内存使用情况。
* 删除部署。

控制平面 UI 嵌入在 [LangSmith](https://docs.smith.langchain.com) 中。

## 控制平面 API

本节描述控制平面 API 的数据模型。该 API 用于创建、更新和删除部署。更多详情请参阅 [控制平面 API 参考](/langsmith/api-ref-control-plane)。

### 集成

集成是 `git` 仓库提供者（例如 GitHub）的抽象。它包含连接和从 `git` 仓库部署所需的所有元数据。

### 部署

部署是 Agent 服务器的一个实例。单个部署可以有多个修订版本。

### 修订版本

修订版本是部署的一个迭代。创建新部署时，会自动创建一个初始修订版本。要部署代码更改或更新部署的机密信息，必须创建新的修订版本。

### 监听器

监听器是 ["监听器"应用程序](/langsmith/data-plane#listener-application)的一个实例。监听器包含有关应用程序的元数据（例如版本）以及有关其可以部署到的计算基础设施的元数据（例如 Kubernetes 命名空间）。

监听器数据模型仅适用于 [混合](/langsmith/hybrid) 和 [自托管](/langsmith/self-hosted) 部署。

## 控制平面功能

本节描述控制平面的各种功能。

### 部署类型

为简单起见，控制平面提供两种具有不同资源分配的部署类型：`Development` 和 `Production`。

| **部署类型**    | **CPU/内存**     | **扩展**    | **数据库**                 |
| :---------- | :------------- | :-------- | :---------------------- |
| Development | 1 CPU，1 GB RAM | 最多 1 个副本  | 10 GB 磁盘，无备份            |
| Production  | 2 CPU，2 GB RAM | 最多 10 个副本 | 自动扩展磁盘，自动备份，高可用性（多区域配置） |

CPU 和内存资源是每个副本的。

<Warning>
  **不可变的部署类型**
  一旦部署创建，部署类型就无法更改。
</Warning>

<Info>
  **自托管部署**
  [混合](/langsmith/hybrid) 和 [自托管](/langsmith/self-hosted) 部署的资源可以完全自定义。部署类型仅适用于 [云](/langsmith/cloud) 部署。
</Info>

#### Production

`Production` 类型的部署适用于“生产”工作负载。例如，为关键路径中的面向客户的应用程序选择 `Production`。

`Production` 类型部署的资源可以根据用例和容量限制按需手动增加。请通过 [support.langchain.com](https://support.langchain.com) 联系支持人员以请求增加资源。

#### Development

`Development` 类型的部署适用于开发和测试。例如，为内部测试环境选择 `Development`。`Development` 类型的部署不适用于“生产”工作负载。

<Danger>
  **可抢占的计算基础设施**
  `Development` 类型的部署（API 服务器、队列服务器和数据库）是在可抢占的计算基础设施上配置的。这意味着计算基础设施**可能在没有任何通知的情况下随时终止**。这可能导致间歇性...

  * Redis 连接超时/错误
  * Postgres 连接超时/错误
  * 失败或重试的后台运行

  此行为是预期的。可抢占的计算基础设施**显著降低了配置 `Development` 类型部署的成本**。根据设计，Agent 服务器具有容错性。实现将自动尝试从 Redis/Postgres 连接错误中恢复，并重试失败的后台运行。

  `Production` 类型的部署是在持久的计算基础设施上配置的，而不是可抢占的计算基础设施。
</Danger>

`Development` 类型部署的数据库磁盘大小可以根据用例和容量限制按需手动增加。对于大多数用例，应配置 [TTL](/langsmith/configure-ttl) 以管理磁盘使用情况。请通过 [support.langchain.com](https://support.langchain.com) 联系支持人员以请求增加资源。

### 数据库配置

控制平面和 [数据平面](/langsmith/data-plane)“监听器”应用程序协调为每个部署自动创建一个 Postgres 数据库。该数据库作为部署的[持久层](/oss/python/langgraph/persistence#memory-store)。

在实现 LangGraph 应用程序时，开发人员不需要配置 [检查点](/oss/python/langgraph/persistence#checkpointer-libraries)。相反，会自动为图配置一个检查点。为图配置的任何检查点都将被自动配置的那个替换。

无法直接访问数据库。所有对数据库的访问都通过 [Agent 服务器](/langsmith/agent-server) 进行。

在部署本身被删除之前，数据库永远不会被删除。

<Info>
  可以为 [混合](/langsmith/hybrid) 和 [自托管](/langsmith/self-hosted) 部署配置自定义 Postgres 实例。
</Info>

### 异步部署

部署和修订版本的基础设施是异步配置和部署的。它们不会在提交后立即部署。目前，部署可能需要几分钟时间。

* 创建新部署时，会为该部署创建一个新数据库。数据库创建是一次性步骤。此步骤会导致部署的初始修订版本部署时间较长。
* 为部署创建后续修订版本时，没有数据库创建步骤。后续修订版本的部署时间比初始修订版本的部署时间快得多。
* 每个修订版本的部署过程包含一个构建步骤，可能需要几分钟时间。

控制平面和 [数据平面](/langsmith/data-plane)“监听器”应用程序协调以实现异步部署。

### 监控

部署就绪后，控制平面会监控部署并记录各种指标，例如：

* 部署的 CPU 和内存使用情况。
* 容器重启次数。
* 副本数量（这将随着[自动扩展](/langsmith/data-plane#autoscaling)而增加）。
* [PostgreSQL](/langsmith/data-plane#postgresql) CPU、内存使用情况和磁盘使用情况。
* [Agent 服务器队列](/langsmith/agent-server#task-queue) 待处理/活动运行计数。
* [Agent 服务器 API](/langsmith/agent-server) 成功响应计数、错误响应计数和延迟。

这些指标在控制平面 UI 中以图表形式显示。

### LangSmith 集成

每个部署都会自动创建一个 [LangSmith](/langsmith/home) 追踪项目。追踪项目的名称与部署相同。创建部署时，无需指定 `LANGCHAIN_TRACING` 和 `LANGSMITH_API_KEY`/`LANGCHAIN_API_KEY` 环境变量；它们由控制平面自动设置。

删除部署时，追踪和追踪项目不会被删除。

***

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

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