这是在 LangSmith Cloud 上部署应用程序的完整设置和管理指南。LangSmith Cloud 运行于 AWS 和 GCP(有关区域详情,请参阅 云概览页面)。 本指南介绍两种部署方法:LangSmith UI 可从已连接的 GitHub 仓库进行部署;langgraph deploy CLI 命令 可直接从本地计算机构建并推送。
如果你希望快速完成设置,请先尝试快速入门指南。
开始设置之前,请先查看云概览页面,了解 Cloud 的托管模式。

前置条件

创建新部署

选择适合你工作流的部署方法——LangSmith UI 连接 GitHub 仓库,并支持推送时自动部署;langgraph deploy CLI 命令则直接从本地项目目录构建并部署。
需要一次性设置:GitHub 组织所有者或管理员必须在 LangSmith UI 中完成 OAuth 流程,以授权 hosted-langserve GitHub 应用。每个工作区只需完成一次。初次完成 OAuth 授权后,所有拥有部署权限的开发者都可以创建和管理部署,无需 GitHub 管理员权限。
从 LangSmith UI 开始,在左侧导航面板中选择 Deployments,然后选择 Deployments。在右上角选择 + New Deployment 以创建新部署:
  1. 在 Create New Deployment 面板中填写必填字段。对于 Deployment details:
    1. 选择 Import from GitHub,并按照 GitHub OAuth 流程安装和授权 LangChain 的 hosted-langserve GitHub 应用,以访问选定的仓库。安装完成后,返回 Create New Deployment 面板,并从下拉菜单中选择要部署的 GitHub 仓库。
      安装 LangChain 的 hosted-langserve GitHub 应用的 GitHub 用户必须是组织或账户的所有者。每个 LangSmith 工作区只需完成一次授权,之后任何拥有部署权限的用户都可以创建部署。
    2. 指定部署名称。
    3. 指定所需的 Git Branch。部署与某个分支相关联。创建新修订版本时,将部署关联分支中的代码。之后可以在部署设置中更新分支。
    4. 指定 LangGraph API 配置文件的完整路径,包括文件名。例如,如果文件 langgraph.json 位于仓库根目录,请指定 langgraph.json。
    5. 使用复选框启用 Automatically update deployment on push to branch。选中后,当代码更改推送到指定的 Git Branch 时,部署将自动更新。你可以在UI的部署设置中启用或禁用此设置。 对于 Deployment Type:
      • 无服务器部署针对后台运行且可容忍延迟的代理,以及开发、测试和预览分支进行了成本优化。经过一段时间不活动后,它们会缩减至零,并在收到下一次请求时唤醒。资源配置期间(包括缩减前的空闲时间)都会产生计算费用。
      • 专用部署始终在线,并配备高可用存储和自动备份,适用于生产工作负载。
    6. 确定部署是否应当 Shareable through Studio。
      1. 如果未选中,则只有拥有该工作区有效 LangSmith API 密钥的用户才能访问部署。
      2. 如果选中,则任何 LangSmith 用户都可以通过 Studio访问部署。系统会提供一个指向该部署在 Studio 中页面的直接 URL,以便与其他 LangSmith 用户分享。
    7. 指定 Environment Variables 和密钥。要为部署配置其他变量,请参阅环境变量参考。
      1. API 密钥(例如 OPENAI_API_KEY)等敏感值应指定为密钥。
      2. 也可以指定其他非敏感环境变量。
    8. 系统会自动创建一个新的 LangSmith跟踪项目,其名称与部署名称相同。
  2. 在右上角选择 Submit。几秒钟后,Deployment 视图会出现,新部署将进入配置队列。

创建新修订版本

创建新部署时,默认会创建一个新的修订版本。之后你可以创建新的修订版本来部署代码更新。
从 LangSmith UI 开始,在左侧导航面板中选择 Deployments。选择一个现有部署,为其创建新的修订版本。
  1. 在 Deployment 视图中,选择右上角的 + New Revision。
  2. 在 New Revision 模态窗口中填写必填字段。
    1. 指定 API 配置文件的完整路径,包括文件名。例如,如果文件 langgraph.json 位于仓库根目录,请指定 langgraph.json。
    2. 确定部署是否应当 Shareable through Studio。
      • 如果未选中,则只有拥有该工作区有效 LangSmith API 密钥的用户才能访问部署。
      • 如果选中,则任何 LangSmith 用户都可以通过 Studio访问部署。系统会提供一个指向该部署在 Studio 中页面的直接 URL,以便与其他 LangSmith 用户分享。
    3. 指定 Environment Variables 和密钥。现有密钥和环境变量会预先填充。要为修订版本配置其他变量,请参阅环境变量参考。
      1. 添加新的密钥或环境变量。
      2. 删除现有的密钥或环境变量。
      3. 更新现有密钥或环境变量的值。
  3. 选择 Submit。几秒钟后,New Revision 模态窗口会关闭,新修订版本将进入部署队列。

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

每个修订版本都提供构建日志和服务器日志。

将服务器日志转发到 Datadog

LangSmith Cloud 可以将 Agent Server 日志转发到 Datadog。要启用日志转发,请在部署中设置以下两个环境变量或密钥:
  • DD_API_KEY:你的 Datadog API 密钥。日志转发需要此密钥。
  • DD_LOGS_ENABLED=true:将 Agent Server 日志转发到 Datadog。
要将日志与跟踪关联起来,还需要设置 DD_LOGS_INJECTION=true。有关 Datadog 变量(DD_SITE、DD_ENV、DD_SERVICE 等)的完整列表,请参阅支持的 Datadog 环境变量。
从 Deployments 视图开始:
  1. 在 Revisions 表格中选择所需的修订版本。右侧会滑出一个面板,并默认选中 Build 标签页,其中显示该修订版本的构建日志。
  2. 在面板中选择 Server 标签页,查看该修订版本的服务器日志。只有在修订版本部署完成后,服务器日志才可用。
  3. 在 Server 标签页中,根据需要调整日期/时间范围选择器。默认情况下,日期/时间范围选择器设置为 Last 7 days。

查看部署指标

部署上线后,你可以通过 LangSmith UI 监控其性能。 从 LangSmith UI 开始:
  1. 在左侧导航面板中选择 Deployments。
  2. 选择一个现有部署进行监控。
  3. 选择 Monitoring 标签页查看部署指标。请参阅所有可用指标列表。
  4. 在 Monitoring 标签页中,根据需要使用日期/时间范围选择器。默认情况下,日期/时间范围选择器设置为 Last 15 minutes。

中断修订版本

中断修订版本会停止该修订版本的部署。
未定义行为 被中断的修订版本会产生未定义行为。仅当你需要部署新的修订版本,且已有修订版本卡在进行中时,此功能才有用。未来可能会移除此功能。
从 Deployments 视图开始:
  1. 在 Revisions 表格中,选择所需修订版本所在行右侧的菜单图标(三个点)。
  2. 从菜单中选择 Interrupt。
  3. 系统会显示一个模态窗口。查看确认消息,然后选择 Interrupt revision。

删除部署

从 LangSmith UI 开始:
  1. 在左侧导航面板中选择 Deployments,其中包含现有部署列表。
  2. 在所需部署所在行的右侧选择菜单图标(三个点),然后选择 Delete。
  3. 系统会显示 Confirmation 模态窗口。选择 Delete。

部署设置

从 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 地址: