Skip to content

Comet Opik 是开源 LLM 评估和监控平台,专注于测试用例管理、评估指标和输出质量追踪。通过 OpenRouter Broadcast,每次 LLM 请求的 trace 自动发送到 Opik,包含完整输入/输出、token 用量、费用和自定义元数据。配置需要 Comet API Key(以 opik_ 开头)、工作区名称和项目名称。Opik 内部使用 UUIDv7 格式存储 trace ID,原始 OpenRouter ID 保存在 openrouter_trace_idopenrouter_observation_id 元数据字段中,便于跨系统关联查询。

Comet Opik 是开源 LLM 评估、测试和监控平台,帮助开发者系统性地追踪 LLM 应用的输出质量。通过 OpenRouter Broadcast,可将每次 LLM 请求自动发送到 Opik,无需在应用中集成 Opik SDK。

配置步骤

第一步:获取 Opik 凭证

  1. 登录 Comet 账号
  2. 创建或选择一个工作区(Workspace)
  3. 在工作区内创建项目(Project)
  4. 进入 Settings > API Keys,创建或复制 API Key

第二步:在 OpenRouter 开启 Broadcast

前往 Settings > Observability,打开 Enable Broadcast 开关。

第三步:配置 Comet Opik

点击 Comet Opik 旁边的编辑图标,填写:

字段填写内容
Api KeyComet API Key(以 opik_ 开头)
WorkspaceComet 工作区名称
Project Name记录 trace 的项目名称

第四步:测试并保存

点击 Test Connection 验证配置,测试通过后自动保存。

第五步:查看 Trace

通过 OpenRouter 发送 API 请求,在 Opik 项目仪表盘中查看 trace 数据。

元数据映射

Opik 对 trace 和 span 都支持自定义元数据:

Opik 映射说明
trace_idTrace 元数据(openrouter_trace_id原始 trace 标识符,存入元数据字段
trace_nameTrace Nametrace 列表中的自定义名称
span_nameSpan Name中间 span 的名称
generation_nameSpan NameLLM 生成 span 的名称

自动添加的元数据:

  • 费用信息(input、output、总计)
  • 模型参数和 finish reason(当可用时)
  • user → trace 元数据的用户标识
  • Opik 内部使用 UUIDv7 格式存储 ID,原始 OpenRouter ID 保存为:
    • openrouter_trace_id
    • openrouter_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 仪表盘中按这些字段过滤和分组查看评估结果。