Skip to content
LangSmith 文档版本 跟随上游 源快照 95c81286 更新于 2026-10-18

为计费与运营遥测的出口

INFO

本页仅适用于未运行在离线(气隙)模式、且假定使用为 0.9.0 或更高版本的自托管 LangSmith 实例的客户。

自托管 LangSmith 在你的环境中存储平台数据。除非你运行在离线模式,否则 LangSmith 需要向 https://beacon.langchain.com 的出口来做以下事情:

  • 计费遥测:许可证验证和订阅/用量报告(必需)
  • 运营遥测:用于支持诊断的日志、指标和追踪(可选,可禁用)
  • 用量遥测:用于产品洞察的匿名化用量快照(可选,可禁用)

WARNING

向 https://beacon.langchain.com 的出口是必需的。 如需静态 IP 地址,参见允许列表 IP 一节。

NOTE

如果你启用 Engine,它需要第二个出口目的地,且 Engine 内容会通过它离开你的环境。参见用于 Engine 的 LangSmith Intelligence。

计费遥测

对于未运行在离线模式的自托管 LangSmith 实例,计费遥测是必需的。这包括许可证验证和订阅/用量报告。

INFO

计费遥测无法禁用。如果你需要在无任何出口的情况下运行,就离线(气隙)许可证联系我们的销售团队。

它做什么

  • 许可证验证:在启动时和之后定期验证你的 LangSmith 许可证密钥。
  • 订阅/用量报告:根据你订单中的权限,为计费目的报告平台用量指标。

我们收集什么

  • 许可证密钥验证请求
  • 聚合的用量计数(追踪数、已分配席位、使用中的席位)
  • 组织与工作区标识符

示例载荷

许可证验证

端点: POST beacon.langchain.com/v1/beacon/verify

请求:

json
{
  "license": "<YOUR_LICENSE_KEY>"
}

响应:

json
{
  "token": "Valid JWT" //Short-lived JWT token to avoid repeated license checks
}

订阅/用量报告

端点: POST beacon.langchain.com/v1/beacon/ingest-traces

请求:

json
{
  "license": "<YOUR_LICENSE_KEY>",
  "trace_transactions": [
    {
      "id": "af28dfea-5358-463d-a2dc-37df1da72498",
      "tenant_id": "3a1c2b6f-4430-4b92-8a5b-79b8b567bbc1",
      "session_id": "b26ae531-cdb3-42a5-8bcf-05355199fe27",
      "trace_count": 5,
      "start_insertion_time": "2025-01-06T10:00:00Z",
      "end_insertion_time": "2025-01-06T11:00:00Z",
      "start_interval_time": "2025-01-06T09:00:00Z",
      "end_interval_time": "2025-01-06T10:00:00Z",
      "status": "completed",
      "num_failed_send_attempts": 0,
      "transaction_type": "type1",
      "organization_id": "c5b5f53a-4716-4326-8967-d4f7f7799735"
    }
  ]
}

响应:

json
{
  "inserted_count": 1 //Number of transactions successfully ingested
}

运营遥测

从 0.11 版本起,LangSmith 部署默认发送运营遥测。这些遥测帮助 LangChain 团队为自托管实例提供主动支持和更快的故障排除。

INFO

运营遥测独立于计费遥测。你可以在计费遥测保持活动时禁用运营遥测。

它做什么

  • 启用对自托管实例的主动支持和更快的故障排除
  • 协助性能调优
  • 基于真实世界的使用模式帮助优先排序改进

我们收集什么

  • 请求元数据:匿名化的请求计数、大小和时长
  • 数据库指标:查询时长、错误率和性能计数器
  • 运营追踪:高延迟或失败请求的计时和错误信息(这些不是客户追踪——它们是关于 LangSmith 实例本身运作情况的追踪)
  • 日志消息:仅警告和错误日志消息

INFO

我们不收集实际的载荷内容、数据库记录,或任何能识别你终端用户或客户的数据。所有遥测数据都与一个组织和部署关联,但从不与个人身份关联。我们不收集 PII(个人身份信息),以任何形式都不。

如何禁用

你可以通过在你的 langsmith_config.yaml 文件中设置以下值来禁用运营遥测:

yaml
config:
  telemetry:
    logs: false
    metrics: false
    traces: false

你也可以只把特定值设为 false 来单独禁用特定的遥测类型。

WARNING

禁用运营遥测会停止导出本节描述的日志、指标和追踪。它不禁用计费遥测(许可证验证和订阅/用量报告)。

示例载荷

运营指标

端点: POST beacon.langchain.com/v1/beacon/v1/metrics

请求:

json
{
  "resourceMetrics": [
    {
      "resource": {
        "attributes": [
          {
            "key": "resource.name",
            "value": { "stringValue": "langsmith-metrics" }
          },
          {
            "key": "env",
            "value": { "stringValue": "ls_self_hosted" }
          }
        ]
      },
      "scopeMetrics": [
        {
          "scope": {
            "name": "langsmith.metrics",
            "version": "0.1.0"
          },
          "metrics": [
            {
              "name": "langsmith_http_requests_latency",
              "unit": "seconds",
              "description": "Request latency of LangSmith services",
              "gauge": {
                "dataPoints": [
                  {
                    "asDouble": 12.34,
                    "startTimeUnixNano": 1678886400000000000,
                    "timeUnixNano": 1678886400000000000,
                    "attributes": [
                      {
                        "key": "endpoint",
                        "value": { "stringValue": "/sessions" }
                      },
                      { "key": "method", "value": { "stringValue": "GET" } },
                      {
                        "key": "service_name",
                        "value": { "stringValue": "langsmith_backend" }
                      }
                    ]
                  }
                ]
              }
            },
            {
              "name": "langsmith_http_requests_failed",
              "unit": "1",
              "description": "Counter of failed requests for LangSmith services",
              "sum": {
                "dataPoints": [
                  {
                    "asInt": 456,
                    "startTimeUnixNano": 1678886400000000000,
                    "timeUnixNano": 1678886400000000000,
                    "attributes": [
                      {
                        "key": "endpoint",
                        "value": { "stringValue": "/info" }
                      },
                      { "key": "method", "value": { "stringValue": "POST" } },
                      {
                        "key": "service_name",
                        "value": { "stringValue": "langsmith_platform_backend" }
                      }
                    ],
                    "aggregationTemporality": 2,
                    "isMonotonic": true
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  ]
}

运营追踪

端点: POST beacon.langchain.com/v1/beacon/v1/traces

请求:

json
{
  "resourceSpans": [
    {
      "resource": {
        "attributes": [
          {
            "key": "env",
            "value": {
              "stringValue": "ls_self_hosted"
            }
          },
          {
            "key": "service.name",
            "value": {
              "stringValue": "langsmith_backend"
            }
          }
        ]
      },
      "scopeSpans": [
        {
          "scope": {},
          "spans": [
            {
              "traceId": "71699b6fe85982c7c8995ea3d9c95df2",
              "spanId": "3c191d03fa8be0",
              "parentSpanId": "",
              "name": "receive_request",
              "startTimeUnixNano": "1581452772000000321",
              "endTimeUnixNano": "1581452773000000789",
              "droppedAttributesCount": 1,
              "events": [
                {
                  "timeUnixNano": "1581452773000000123",
                  "name": "parse_request",
                  "attributes": [
                    {
                      "key": "request_size",
                      "value": {
                        "stringValue": "100"
                      }
                    }
                  ],
                  "droppedAttributesCount": 2
                },
                {
                  "timeUnixNano": "1581452773000000123",
                  "name": "event",
                  "droppedAttributesCount": 2
                }
              ],
              "droppedEventsCount": 1,
              "status": {
                "message": "status-cancelled",
                "code": 2
              }
            },
            {
              "traceId": "71699b6fe85982c7c8995ea3d9c95df2",
              "spanId": "0932ksdka12345",
              "parentSpanId": "3c191d03fa8be0",
              "name": "process_request",
              "startTimeUnixNano": "1581452772000000321",
              "endTimeUnixNano": "1581452773000000789",
              "links": [],
              "droppedLinksCount": 3,
              "status": {}
            }
          ]
        }
      ]
    }
  ]
}

运营日志消息

我们只导出自托管 LangSmith 实例的错误日志消息。这让 LangChain 团队无需与你团队反复沟通就能排查应用错误。

端点: POST beacon.langchain.com/v1/beacon/v1/logs

请求:

json
{
  "resourceLogs": [
    {
      "resource": {
        "attributes": [
          {
            "key": "service.name",
            "value": {
              "stringValue": "langsmith_backend"
            }
          }
        ]
      },
      "scopeLogs": [
        {
          "scope": {},
          "logRecords": [
            {
              "timeUnixNano": "1581452773000009875",
              "severityNumber": 13,
              "severityText": "Warning",
              "body": {
                "stringValue": "Database connection pool approaching capacity"
              },
              "attributes": [
                {
                  "key": "component",
                  "value": {
                    "stringValue": "langsmith_backend"
                  }
                },
                {
                  "key": "pool_size",
                  "value": {
                    "intValue": "95"
                  }
                }
              ],
              "droppedAttributesCount": 0,
              "traceId": "08040201000000000000000000000000",
              "spanId": "0102040800000000"
            },
            {
              "timeUnixNano": "1581452773000000789",
              "severityNumber": 17,
              "severityText": "Error",
              "body": {
                "stringValue": "Failed to process trace batch"
              },
              "attributes": [
                {
                  "key": "component",
                  "value": {
                    "stringValue": "langsmith_queue_worker"
                  }
                },
                {
                  "key": "error_type",
                  "value": {
                    "stringValue": "timeout"
                  }
                }
              ],
              "droppedAttributesCount": 0,
              "traceId": "",
              "spanId": ""
            }
          ]
        }
      ]
    }
  ]
}

用量遥测

用量遥测收集你 LangSmith 实例用量指标的匿名化快照。这些数据帮助 LangChain 理解平台采用模式并为产品开发决策提供信息。

INFO

用量遥测默认启用且可禁用。与计费遥测不同,你可以完全控制这些快照是否发送给 LangChain。

它做什么

  • 按定期捕获聚合的用量指标
  • 提供对功能采用和平台增长的洞察
  • 帮助 LangChain 基于真实世界的使用优先排序改进和新功能

我们收集什么

  • 平台指标:工作区、项目、实验、数据集、评估器和其他平台资源的计数
  • 功能使用:运行规则、标注队列、提示和提示相关活动的计数
  • 用户:注册用户总数和最近 30 天内活跃 PAT(个人访问令牌)数
  • 时间戳:快照的时间范围(UTC 的 from/to 时间戳)

INFO

所有指标都是仅聚合计数。不收集任何单个资源数据、标识符或使用模式。我们不收集任何能识别你终端用户或客户的信息。

示例载荷

端点: POST /v1/beacon/usage-snapshot

请求:

json
{
  "license_key": "<YOUR_LICENSE_KEY>",
  "from_timestamp": "2026-03-25T02:00:00+00:00",
  "to_timestamp": "2026-03-26T02:00:00+00:00",
  "measures": {
    "workspaces": 12,
    "users": 63,
    "projects": 87,
    "experiments": 34,
    "datasets": 15,
    "evaluators": 8,
    "run_rules": 5,
    "annotation_queues": 3,
    "prompts": 22,
    "prompt_commits": 156,
    "prompt_pulls": 1043,
    "active_pats_30d": 47
  }
}

如何禁用

你可以通过在部署配置中设置以下环境变量来禁用用量遥测:

yaml
PHONE_HOME_USAGE_REPORTING_ENABLED: false

把这添加到你的 Helm 配置的 commonEnv 部分,以永久禁用用量遥测报告。

WARNING

禁用用量遥测不影响计费或运营遥测。许可证验证和订阅/用量报告将继续正常运作。

用于 Engine 的 LangSmith Intelligence

本节仅在你启用 Engine 时适用。LangSmith Intelligence 是为 Engine 提供动力的 LangChain 管理服务。没有其他 LangSmith 功能依赖它,也没有任何功能需要超出本页已描述的额外出口。

Engine 无法完全在你的集群内运行。它向 LangSmith Intelligence 发送请求,那是一个 LangChain 管理的零数据保留(ZDR)服务,把请求路由到 LangChain 环境内的一家模型提供商。允许向你云的网关的出站 HTTPS:AWS 上的 beacon.aws.langchain.com,或 GCP 上的 beacon.langchain.com。要让 AWS 流量留在私有网络上,用 AWS PrivateLink 连接到 LangSmith Intelligence。在 GCP 上,网关就是本页已经要求的同一主机,因此 Engine 增加的是一个路径而非新目的地。

NOTE

Engine 在 AWS US 和 GCP US 为 LangSmith Self-hosted 可用。参见按云和区域的可用性。

WARNING

把网关作为一个具体的允许列表条目添加,而非开放一般的出站访问。请求用 LangSmith 许可证验证期间获取的短生命周期许可证 JWT 进行身份验证。不需要额外的模型提供商凭据。

它做什么

  • 为 Engine 提供动力:Engine 依赖 LangSmith Intelligence,没有它无法运行。

我们收集什么

每个请求可能携带 Engine 完成工作所需的追踪内容、源代码和中间输出。LangSmith Intelligence 和模型提供商处理该内容以服务请求。LangSmith Intelligence 不持久化提示或补全体。

LangSmith Intelligence 保留以下元数据用于用量归属和计费:

  • 用于归属用量的账户、工作区和项目标识符。
  • 用于计费的模型和 token 用量元数据。

完整的数据流和模型提供商承诺,参见自托管上的 Engine。

INFO

离线(气隙)Self-hosted 无法运行 Engine,因为它无法触及 LangSmith Intelligence。每一个其他 LangSmith 功能都继续离线工作。

我们的承诺

以下承诺适用于本页描述的计费、运营和用量遥测。LangChain 不会在该遥测中存储敏感信息,也不会与第三方共享它。日志消息会被过滤为仅包含错误严重度级别,且我们不捕获可能含敏感应用数据的日志消息。Engine 对 LangSmith Intelligence 的使用是一个在自托管上的 Engine中描述的独立数据流。如果你对发送的数据有任何顾虑,请禁用可选遥测或联系我们的销售团队。


BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。