Appearance
LangSmith 是 LangChain 的 LLM 应用调试、测试、评估和监控平台。通过 OpenRouter Broadcast,每次 LLM 请求的 trace 通过 OTLP 协议发送到 LangSmith,包含完整输入/输出、token 用量、费用、模型信息和延迟。配置需要 LangSmith API Key(以 lsv2_pt_ 开头)和项目名称。OpenRouter 将 trace 类型映射到 LangSmith Run 类型:GENERATION → llm、SPAN → chain、EVENT → tool,可在 LangSmith Traces 视图中查看完整调用链路和 Run 层级结构。
LangSmith 是 LangChain 的可观测性平台,专为 LLM 应用的调试、测试、评估和监控而设计。通过 OpenRouter Broadcast,每次 API 请求都会作为 trace 发送到 LangSmith,无需在应用代码中集成 LangSmith SDK。
配置步骤
第一步:获取 LangSmith API Key 和项目名称
- 登录 LangSmith 账号
- 进入 Settings > API Keys,创建新的 API Key
- 导航到你的项目(或创建新项目),记录项目名称
第二步:在 OpenRouter 开启 Broadcast
前往 Settings > Observability,打开 Enable Broadcast 开关。
第三步:配置 LangSmith
点击 LangSmith 旁边的编辑图标,填写:
| 字段 | 填写内容 |
|---|---|
| Api Key | LangSmith API Key(以 lsv2_pt_ 开头) |
| Project | LangSmith 项目名称 |
| Endpoint(可选) | 默认 https://api.smith.langchain.com;自托管实例需修改 |
第四步:测试并保存
点击 Test Connection 验证配置,测试通过后自动保存。
第五步:查看 Trace
通过 OpenRouter 发送 API 请求,在 LangSmith 指定项目中查看 trace 数据,包含:
- 输入/输出消息
- Token 用量(prompt、completion、总计)
- 费用信息
- 模型和 provider 信息
- 时间和延迟指标
Run 类型映射
OpenRouter 将 trace 观测类型映射到 LangSmith Run 类型:
| OpenRouter 观测类型 | LangSmith Run 类型 | 说明 |
|---|---|---|
GENERATION | llm | LLM 调用 run |
SPAN | chain | 工作流 chain run |
EVENT | tool | 工具调用 run |
元数据映射
| 键 | LangSmith 映射 | 说明 |
|---|---|---|
trace_id | Trace ID | 将多个 run 归入同一 trace |
trace_name | Run Name | trace 列表中的自定义名称 |
span_name | Run Name | 中间 chain/tool run 的名称 |
generation_name | Run Name | LLM run 的名称 |
parent_span_id | Parent Run ID | 链接到已有 run,建立层级 |
其他映射:
user→ LangSmith User IDsession_id→ LangSmith Session ID(用于对话追踪)- 自定义元数据键 → span attributes(在 run 详情中可查看)
示例:文本分析工作流
json
{
"model": "openai/gpt-4o",
"messages": [{ "role": "user", "content": "Analyze this text..." }],
"user": "user_12345",
"session_id": "session_abc",
"trace": {
"trace_id": "analysis_workflow_123",
"trace_name": "Text Analysis Pipeline",
"span_name": "Sentiment Analysis",
"generation_name": "Extract Sentiment",
"environment": "production",
"team": "nlp-team"
}
}Privacy Mode
当为此目的地开启 Privacy Mode 时,prompt 和 completion 内容会从 trace 中排除。其他 trace 数据(token 用量、费用、时间、模型信息)仍正常发送。
常见问题
Q: LangSmith 和 Langfuse 都支持 LLM trace,如何选择?
A: 如果你的技术栈以 LangChain 为主,LangSmith 的集成更深(支持 LangChain Agent、Chain 的原生追踪)。如果你使用 OpenRouter 直接调用 LLM 而不依赖 LangChain,Langfuse 更灵活,且有开源自托管选项。两者也可同时配置,分别用于不同场景。
Q: 如何在 LangSmith 中按部门或团队分类 trace?
A: 在 trace 字段中添加自定义元数据(如 team、project、environment),这些字段会作为 span attributes 存储,可在 LangSmith 的过滤器中使用。
Q: LangSmith 的 Tags 功能如何使用?
A: 可在 trace 字段中传入数组类型的元数据作为标签。LangSmith 将逗号分隔的字符串值识别为标签,可在 trace 列表中按标签过滤和分组。