以编程方式使用文档

LangSmith Helm chart 提供了两种向服务注入环境变量的方式: commonEnvextraEnv。了解两者之间的区别有助于您正确配置部署并避免运行时错误。

commonEnv

commonEnvvalues.yaml 中的一个顶级字段,适用于 **除 playgroundaceBackend 服务**之外的所有部署和有状态集。这些服务是沙箱化的,不接收 commonEnv values.

使用 commonEnv 当一个变量需要同时对大多数服务可用时,例如自定义 CA 证书路径、代理设置或影响整个平台的功能开关。

commonEnv:
  - name: MY_ENV_VAR
    value: "my-value"

接收 commonEnv 的服务

以下服务接收 commonEnv:

  • - backend
  • - platformBackend
  • - queue
  • - ingestQueue
  • - frontend
  • - hostBackend

不接收 commonEnv 的服务

以下服务是沙箱化的,不 **会** 接收 commonEnv:

  • - playground
  • - aceBackend

要为这些服务设置环境变量,请使用其 extraEnv directly:

playground:
  deployment:
    extraEnv:
      - name: MY_ENV_VAR
        value: "my-value"

aceBackend:
  deployment:
    extraEnv:
      - name: MY_ENV_VAR
        value: "my-value"

extraEnv

extraEnv 是一个按服务定义的字段,仅向特定服务添加环境变量。每个支持 extraEnv 的服务会在 <service>.deployment.extraEnv.

下暴露它。使用 extraEnv 当变量仅适用于一个服务时,或当您需要在 playground or aceBackend 上设置变量 commonEnv 无法到达的

backend:
  deployment:
    extraEnv:
      - name: MY_BACKEND_VAR
        value: "backend-value"

变量名称不能重复

chart 使用 detectDuplicates 辅助函数来验证每个服务的环境变量名称。如果同一变量名称在服务的组合变量列表中出现多次(包括从 commonEnv, extraEnv和 chart 管理的变量中添加的),Helm 会在模板渲染期间失败,并显示类似以下错误:

Duplicate keys detected: [MY_ENV_VAR]

要解决此问题,请从 commonEnv 或服务的 extraEnv 中删除重复项,使每个变量名称在每个服务中仅出现一次。

示例:在大多数服务上设置一个变量,但在一个上覆盖它

要为大多数服务使用通用值,同时在特定服务上覆盖它,请在 commonEnv 中设置它,并将覆盖添加到该服务的 extraEnv中。因为 playgroundaceBackend 不接收 commonEnv,您必须始终通过自己的 extraEnv.

# Apply to all services that receive commonEnv
commonEnv:
  - name: SSRF_ALLOW_K8S_INTERNAL
    value: "true"

# playground does not receive commonEnv — set it directly
playground:
  deployment:
    extraEnv:
      - name: SSRF_ALLOW_K8S_INTERNAL
        value: "true"
      - name: SSRF_ALLOW_PRIVATE_IPS_PLAYGROUND
        value: "true"

常用功能开关

减少批量运行持久化日志记录

默认情况下,LangSmith 会为通过基于 Go 的摄取队列持久化的每个批次运行记录一条成功消息。在处理大量追踪的部署中,这可能会产生过多的日志噪音。

FF_PERSIST_BATCHED_RUNS_SUCCESS_LOGGING 默认为 true 并通过以下方式注入到所有服务 commonEnvingestQueue.enabled is true (默认值)。要禁用这些成功日志消息,请在以下位置覆盖它 commonEnv:

commonEnv:
  - name: FF_PERSIST_BATCHED_RUNS_SUCCESS_LOGGING
    value: "false"

相关页面