JavaScript 中许多流行的 OpenTelemetry 实现 目前仍处于实验阶段,
在生产环境中可能表现不稳定,尤其是在将 LangSmith 与其他提供商一起进行检测时。如果您使用的是 AI SDK 5,
我们强烈建议使用我们推荐的追踪 AI SDK 运行的方法。
0. 安装
安装 Vercel AI SDK 和所需的 OTEL 包。下面的代码片段使用了他们的 OpenAI 集成,但您也可以使用他们的任何其他选项。1. 配置您的环境
2. 记录追踪
Node.js
要开始追踪,您需要在代码开头导入并调用initializeOTEL 方法:
experimental_telemetry 参数。
请不要忘记在应用程序关闭前调用
await DEFAULT_LANGSMITH_SPAN_PROCESSOR.shutdown();,以便将任何剩余的追踪刷新到 LangSmith。使用 traceable
您可以在 AI SDK 工具调用周围或内部包装 traceable 调用。如果您这样做,我们建议您初始化一个 LangSmith client 实例,并将其传递给每个 traceable,然后调用 client.awaitPendingTraceBatches(); 以确保所有追踪被刷新。如果您这样做,就不需要手动调用 DEFAULT_LANGSMITH_SPAN_PROCESSOR 上的 shutdown() 或 forceFlush()。以下是一个示例:
Next.js
首先,安装@vercel/otel 包:
instrumentation.ts 文件。
调用 initializeOTEL 并将生成的 DEFAULT_LANGSMITH_SPAN_PROCESSOR 传递到 registerOTEL(...) 调用的 spanProcessors 字段中。
它应该看起来像这样:
initializeOTEL 并在您的 AI SDK 调用中添加 experimental_telemetry 字段:
traceables 中以获得更细粒度的追踪。
Sentry
如果您使用的是 Sentry,您可以将 LangSmith 追踪导出器附加到 Sentry 的默认 OpenTelemetry 检测中,如下例所示。添加其他元数据
您可以向追踪添加其他元数据,以帮助在 LangSmith UI 中组织和筛选它们:自定义运行名称
您可以通过在experimental_telemetry 中传递名为 ls_run_name 的元数据键来自定义运行名称。
将这些文档通过 MCP 连接到 Claude、VSCode 等,以获取实时答案。

