Appearance
Comet Opik 是开源 LLM 评估和监控平台,专注于测试用例管理、评估指标和输出质量追踪。通过 OpenRouter Broadcast,每次 LLM 请求的 trace 自动发送到 Opik,包含完整输入/输出、token 用量、费用和自定义元数据。配置需要 Comet API Key(以 opik_ 开头)、工作区名称和项目名称。Opik 内部使用 UUIDv7 格式存储 trace ID,原始 OpenRouter ID 保存在 openrouter_trace_id 和 openrouter_observation_id 元数据字段中,便于跨系统关联查询。
Comet Opik 是开源 LLM 评估、测试和监控平台,帮助开发者系统性地追踪 LLM 应用的输出质量。通过 OpenRouter Broadcast,可将每次 LLM 请求自动发送到 Opik,无需在应用中集成 Opik SDK。
配置步骤
第一步:获取 Opik 凭证
- 登录 Comet 账号
- 创建或选择一个工作区(Workspace)
- 在工作区内创建项目(Project)
- 进入 Settings > API Keys,创建或复制 API Key
第二步:在 OpenRouter 开启 Broadcast
前往 Settings > Observability,打开 Enable Broadcast 开关。
第三步:配置 Comet Opik
点击 Comet Opik 旁边的编辑图标,填写:
| 字段 | 填写内容 |
|---|---|
| Api Key | Comet API Key(以 opik_ 开头) |
| Workspace | Comet 工作区名称 |
| Project Name | 记录 trace 的项目名称 |
第四步:测试并保存
点击 Test Connection 验证配置,测试通过后自动保存。
第五步:查看 Trace
通过 OpenRouter 发送 API 请求,在 Opik 项目仪表盘中查看 trace 数据。
元数据映射
Opik 对 trace 和 span 都支持自定义元数据:
| 键 | Opik 映射 | 说明 |
|---|---|---|
trace_id | Trace 元数据(openrouter_trace_id) | 原始 trace 标识符,存入元数据字段 |
trace_name | Trace Name | trace 列表中的自定义名称 |
span_name | Span Name | 中间 span 的名称 |
generation_name | Span Name | LLM 生成 span 的名称 |
自动添加的元数据:
- 费用信息(input、output、总计)
- 模型参数和 finish reason(当可用时)
user→ trace 元数据的用户标识- Opik 内部使用 UUIDv7 格式存储 ID,原始 OpenRouter ID 保存为:
openrouter_trace_idopenrouter_observation_id
示例:LLM 响应质量评估
json
{
"model": "openai/gpt-4o",
"messages": [{ "role": "user", "content": "Evaluate this response..." }],
"user": "user_12345",
"session_id": "session_abc",
"trace": {
"trace_name": "Response Quality Eval",
"generation_name": "Quality Assessment",
"eval_suite": "quality_v2",
"test_case_id": "tc_001"
}
}Privacy Mode
当为此目的地开启 Privacy Mode 时,prompt 和 completion 内容会从 trace 中排除。其他 trace 数据(token 用量、费用、时间、模型信息)仍正常发送。
常见问题
Q: Comet Opik 和 Langfuse 的定位差异是什么?
A: Opik 更偏向于与 Comet 的 ML 实验管理深度集成,适合已在使用 Comet 做模型训练实验追踪的团队,可将 LLM 评估与模型训练指标统一管理。Langfuse 则是独立的开源 LLM 工程平台,更专注于 prompt 迭代和 LLM 应用调试,社区更活跃。
Q: 为什么 Opik 中的 Trace ID 和 OpenRouter 的不一致?
A: Opik 内部使用 UUIDv7 格式管理 trace 和 span ID,会为每条 trace 重新生成 ID。原始的 OpenRouter trace ID 保存在 span 元数据的 openrouter_trace_id 字段中,可用于跨系统关联查询(例如,从 OpenRouter 日志对应到 Opik trace)。
Q: 如何在 Opik 中按评估套件分组查看结果?
A: 在 trace 字段中传入 eval_suite 等自定义元数据,Opik 会将这些字段存入 trace 和 span 的元数据对象中,可在 Opik 仪表盘中按这些字段过滤和分组查看评估结果。