Skip to main content

Documentation Index

Fetch the complete documentation index at: https://langchain-zh.cn/llms.txt

Use this file to discover all available pages before exploring further.

LangSmith Fleet 允许用户在 LangSmith 中无需代码即可创建、部署和管理 AI 智能体。在 Fleet 中创建的智能体本质上就是 LangSmith Deployment 上的一个助手。本页说明如何在自托管 LangSmith 实例上管理 Fleet。
Fleet 会追踪所有智能体运行并将其存储在 LangSmith 中。自托管客户可以禁用追踪,但运行数据始终存储在 LangSmith Deployment 中。请根据您组织的要求配置数据保留策略。

前提条件

在启用 Fleet 之前,您必须完成以下设置步骤:
  1. 安装基础 LangSmith 平台:
  2. 启用 LangSmith Deployment(智能体部署能力)。
Fleet 在 LangSmith Self-Hosted v0.13 及更高版本上可用。自托管是企业版计划的附加功能。更多详情,请参阅定价。如果您想获取许可证密钥以在您的环境中试用 LangSmith,请联系我们的销售团队

组件

Fleet 由以下组件组成:
  • agentBootstrap:部署 Fleet 所需的 LangSmith Deployment(智能体)的作业。
  • agentBuilder
    • toolServer:为智能体提供 MCP 工具执行。
    • triggerServer:处理 Webhook 和计划触发器。
    • agent:处理智能体生成的主要智能体,所有助手都将在此创建。

启用 Fleet

要启用 Fleet,请将以下内容添加到您的 values.yaml 文件中:
backend:
  agentBootstrap:
    enabled: true

config:
  agentBuilder:
    enabled: true
    encryptionKey: "<key>"

agentBuilderToolServer:
  enabled: true

agentBuilderTriggerServer:
  enabled: true

生成加密密钥

Fleet 需要一个 Fernet 加密密钥来安全存储密钥。使用 Python 生成一个:
python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
您可以使用 fleet_encryption_key 参数将加密密钥存储在预定义的 Kubernetes 密钥中。详情请参阅使用现有密钥

启用 OAuth 工具和触发器(可选)

要启用基于 OAuth 的工具(如 Gmail、Slack、GitHub),请配置 oauthProviderOrgId 并为要启用的每个集成添加提供商 ID。您可以启用任意组合的提供商。

可用提供商

提供商启用的工具启用的触发器设置指南
githubOAuthProviderGitHub-见下文
googleOAuthProviderGmail、Google Calendar、Google Sheets、BigQueryGmail见下文
linearOAuthProviderLinear-见下文
linkedinOAuthProviderLinkedIn-见下文
microsoftOAuthProviderOutlook、Calendar、Teams、SharePoint、Word、Excel、PowerPointOutlook见下文
slackOAuthProviderSlackSlack见下文

通用配置

将以下内容添加到您的 values.yaml 文件中。仅包含您需要的提供商。
backend:
  agentBootstrap:
    enabled: true

config:
  agentBuilder:
    # 配置 OAuth 提供商的组织的 ID
    oauthProviderOrgId: "<your-org-id>"
    oauth:
      # 添加您要启用的集成的提供商 ID,
      # Slack 需要额外配置
      slackOAuthProvider: "<provider-id>"
      slackSigningSecret: "<signing-secret>"
      slackBotId: "<bot-id>"
      googleOAuthProvider: "<provider-id>"
      linkedinOAuthProvider: "<provider-id>"
      linearOAuthProvider: "<provider-id>"
      microsoftOAuthProvider: "<provider-id>"
      githubOAuthProvider: "<provider-id>"
提供商 ID 必须唯一,且不能以 -agent-builder-oauth-provider 结尾。

提供商设置指南

要为 Fleet 启用 GitHub OAuth,您需要创建一个 GitHub OAuth 应用并使用所需权限进行配置。
1

创建 GitHub OAuth 应用

前往 GitHub 设置 > 开发者设置 > OAuth Apps,点击 New OAuth App
2

配置应用

填写应用详情。您可以随意命名,并保留默认的复选框设置。
3

设置权限

授予应用对 Pull RequestsIssues 的读写权限。
4

添加回调 URL

设置回调 URL,将 <hostname> 替换为您的 LangSmith 主机名,<provider-id> 替换为您的提供商 ID:
https://<hostname>/host-oauth-callback/<provider-id>
5

生成客户端密钥

点击 Generate a new client secret,复制 Client ID(显示在应用页面顶部)和 Client Secret
6

在 LangSmith 中配置 OAuth 提供商

在 LangSmith 中,前往 Settings > OAuth Providers 并添加新提供商:
  • Client ID:来自 GitHub 应用
  • Client Secret:来自 GitHub 应用
  • Authorization URLhttps://github.com/login/oauth/authorize
  • Token URLhttps://github.com/login/oauth/access_token
  • Provider ID:唯一字符串,例如:github
7

部署

将以下内容添加到您的 values.yaml 并部署:
config:
  agentBuilder:
    oauthProviderOrgId: "<your-org-id>"
    oauth:
      githubOAuthProvider: "<provider-id>"
8

在仓库上安装应用

创建应用后,您需要:
  1. 向您的 GitHub 账户验证该应用。
  2. 前往 Settings > Applications > Installed GitHub Apps,在您希望其访问的仓库上安装该应用。
对于私有仓库,您必须在每个希望 Fleet 访问的仓库上显式安装该应用。
要为 Fleet 启用 Google OAuth,您需要在 GCP 中创建一个 OAuth 客户端,并使用所需的 URL 和凭据进行配置。
1

在 GCP 中创建 OAuth 客户端

Google Cloud Console 中创建一个新的 OAuth 客户端应用(Web 应用程序)。
2

向 GCP 添加 URL

将以下 URL 添加到您的 OAuth 客户端,将 <hostname> 替换为您的 LangSmith 主机名,<provider-id> 替换为您将使用的提供商 ID(例如 google):Authorized JavaScript origins:
  • https://<hostname>
Authorized redirect URIs:
  • https://<hostname>/api-host/v2/auth/callback/<provider-id>
  • https://<hostname>/host-oauth-callback/<provider-id>
3

复制凭据

从 GCP OAuth 应用中复制 Client IDClient Secret
4

在 LangSmith 中配置 OAuth 提供商

在 LangSmith 中,前往 Settings > OAuth Providers 并添加新提供商:
  • Client ID:在 GCP 中查找
  • Client Secret:在 GCP 中查找
  • Authorization URLhttps://accounts.google.com/o/oauth2/auth
  • Token URLhttps://oauth2.googleapis.com/token
  • Provider ID:唯一字符串,例如:google
5

部署

将 LangSmith OAuth 提供商 ID 添加到您的 values.yaml 并部署:
config:
  agentBuilder:
    oauthProviderOrgId: "<your-org-id>"
    oauth:
      googleOAuthProvider: "<provider-id>"
要为 Fleet 启用 Microsoft OAuth,请创建一个 Azure 应用注册,添加所需的 Microsoft Graph 委派权限,并在 LangSmith 中配置 Microsoft OAuth 提供商。
1

创建 Azure 应用注册

Microsoft Entra 管理中心中,前往 Applications > App registrations 并创建新注册。
2

选择支持的账户类型

选择与您的部署匹配的账户类型。如果您需要来自多个 Microsoft Entra 租户的用户进行身份验证,请选择多租户选项。如果您的部署仅限于一个租户,则可以使用单租户应用注册。
3

添加重定向 URI

添加以下 Web 重定向 URI,将 <hostname> 替换为您的 LangSmith 主机名,<provider-id> 替换为您的提供商 ID:
https://<hostname>/host-oauth-callback/<provider-id>
4

创建客户端密钥

Certificates & secrets 中,创建新的客户端密钥。复制 Application (client) ID 和生成的客户端密钥值。
5

添加 Microsoft Graph 委派权限

API permissions 中,添加以下 Microsoft Graph 委派权限:
  • Mail.ReadWrite
  • Mail.Send
  • Calendars.ReadWrite
  • Team.ReadBasic.All
  • Channel.ReadBasic.All
  • Channel.Create
  • ChannelMessage.Send
  • ChannelMessage.Read.All
  • Chat.Create
  • Chat.ReadWrite
  • User.ReadBasic.All
  • Files.ReadWrite.All
  • Sites.ReadWrite.All
LangSmith 会自动为 Microsoft 提供商请求 offline_access,以便用户可以接收刷新令牌。
6

授予租户同意

如果您的 Microsoft 365 策略要求对这些委派权限进行管理员同意,请为租户授予管理员同意。
7

在 LangSmith 中配置 OAuth 提供商

在 LangSmith 中,前往 Settings > OAuth Providers 并添加新提供商:
  • Name:例如,Microsoft
  • Provider ID:唯一字符串,例如:microsoft-oauth-provider
  • Client ID:来自 Azure 的 Application (client) ID
  • Client Secret:来自 Azure 的客户端密钥值
  • Authorization URLhttps://login.microsoftonline.com/common/oauth2/v2.0/authorize
  • Token URLhttps://login.microsoftonline.com/common/oauth2/v2.0/token
  • Provider Typemicrosoft
  • Token endpoint auth methodclient_secret_post
如果您创建了单租户应用注册,请将授权和令牌 URL 中的 common 替换为您的租户 ID。
8

部署

将以下内容添加到您的 values.yaml 并部署:
config:
  agentBuilder:
    oauthProviderOrgId: "<your-org-id>"
    oauth:
      microsoftOAuthProvider: "<provider-id>"
要为 Fleet 启用 Linear OAuth,您需要创建一个 Linear OAuth 应用并使用所需凭据进行配置。
1

创建 Linear OAuth 应用

前往 Linear Settings > API > Applications 并创建新的 OAuth 应用。
2

添加回调 URL

设置回调 URL,将 <hostname> 替换为您的 LangSmith 主机名,<provider-id> 替换为您的提供商 ID:
https://<hostname>/host-oauth-callback/<provider-id>
3

复制凭据

创建应用后,复制 Client IDClient Secret
4

在 LangSmith 中配置 OAuth 提供商

在 LangSmith 中,前往 Settings > OAuth Providers 并添加新提供商:
  • Client ID:来自 Linear 应用
  • Client Secret:来自 Linear 应用
  • Authorization URLhttps://linear.app/oauth/authorize
  • Token URLhttps://api.linear.app/oauth/token
  • Provider ID:唯一字符串,例如:linear
5

部署

将以下内容添加到您的 values.yaml 并部署:
config:
  agentBuilder:
    oauthProviderOrgId: "<your-org-id>"
    oauth:
      linearOAuthProvider: "<provider-id>"
要为 Fleet 启用 LinkedIn OAuth,您需要创建一个 LinkedIn OAuth 应用并使用所需凭据进行配置。
1

创建 LinkedIn OAuth 应用

前往 linkedin.com/developers/apps 并创建新应用。
2

配置 OAuth 设置

在您的应用设置中,前往 Auth 选项卡。
3

添加重定向 URI

添加以下重定向 URI,将 <hostname> 替换为您的 LangSmith 主机名,<provider-id> 替换为您的提供商 ID:
https://<hostname>/host-oauth-callback/<provider-id>
4

复制凭据

从 Auth 选项卡复制 Client IDClient Secret
5

在 LangSmith 中配置 OAuth 提供商

在 LangSmith 中,前往 Settings > OAuth Providers 并添加新提供商:
  • Client ID:来自 LinkedIn 应用
  • Client Secret:来自 LinkedIn 应用
  • Authorization URLhttps://www.linkedin.com/oauth/v2/authorization
  • Token URLhttps://www.linkedin.com/oauth/v2/accessToken
  • Provider ID:唯一字符串,例如:linkedin
6

部署

将以下内容添加到您的 values.yaml 并部署:
config:
  agentBuilder:
    oauthProviderOrgId: "<your-org-id>"
    oauth:
      linkedinOAuthProvider: "<provider-id>"
要为 Fleet 启用 Slack OAuth,您需要创建一个 Slack 应用,并使用所需范围、凭据和事件订阅进行配置。
1

创建 Slack 应用

前往 api.slack.com/apps 并点击 Create New App
2

添加范围

OAuth & Permissions 中,添加以下范围:
  • channels:history
  • channels:read
  • chat:write
  • groups:history
  • groups:read
  • im:history
  • im:read
  • im:write
  • mpim:history
  • team:read
  • users:read
  • users:read.email
3

从 Slack 复制凭据

从 Slack 应用设置中复制 Client IDClient SecretSigning Secret
4

在 LangSmith 中配置 OAuth 提供商

在 LangSmith 中,前往 Settings > OAuth Providers 并添加新提供商:
  • Client ID:在 Slack 应用中查找
  • Client Secret:在 Slack 应用中查找
  • Authorization URLhttps://slack.com/oauth/v2/authorize
  • Token URLhttps://slack.com/api/oauth.v2.access
  • Provider ID:唯一字符串,例如:slack
5

向 Slack 添加重定向 URI

将以下重定向 URI 添加到您的 Slack 应用中的 OAuth & Permissions > Redirect URLs,将 <hostname> 替换为您的 LangSmith 主机名,<provider-id> 替换为您的提供商 ID(例如 slack):
https://<hostname>/host-oauth-callback/<provider-id>
6

获取机器人 ID

  1. 从 Slack 应用的 OAuth & Permissions 中获取机器人令牌。
  2. 运行以下命令:
curl -X POST https://slack.com/api/auth.test \
  -H "Authorization: Bearer <bot-token>"
  1. 从响应中复制 bot_id
7

部署 LangSmith

将以下内容添加到您的 values.yaml 并部署:
config:
  agentBuilder:
    oauthProviderOrgId: "<your-org-id>"
    oauth:
      slackOAuthProvider: "<provider-id>"
      slackSigningSecret: "<signing-secret>"
      slackBotId: "<bot-id>"
8

启用事件订阅

  1. 部署后,前往 Slack 应用中的 Event Subscriptions 并启用事件。
  2. Request URL 设置为:
    https://<hostname>/v1/triggers/webhooks/d809e66e-0000-4000-8000-000000000002
    
  3. 添加以下机器人事件:
    • message.channels
    • message.groups
    • message.im
    • message.mpim
9

设置触发器和工具

  1. 将 Slack 机器人添加到您希望它读取的频道。
  2. 在 Fleet 中配置 Slack 工具或触发器时,提供 channel IDchannel name

禁用 Fleet

要禁用 Fleet,请在您的 values.yaml 中将以下内容设置为 false
config:
    agentBuilder:
        enabled: false