Skip to content

Braintrust 是 LLM 应用的端到端评估、监控和改进平台。通过 OpenRouter Broadcast,可以将每次 LLM 请求的 trace(token 用量、费用、时间、自定义元数据)自动转发到 Braintrust,无需修改应用代码。支持 trace_idtrace_namespan_namegeneration_name 等元数据键,支持 nested span 结构用于组织日志。配置完成后,所有通过 OpenRouter 的请求都会出现在 Braintrust 日志视图中。

Braintrust 是 LLM 应用的端到端评估、监控和改进平台。通过 OpenRouter Broadcast,可将 LLM 请求 trace 自动发送到 Braintrust,无需修改现有代码。

配置步骤

第一步:获取 Braintrust API Key 和 Project ID

在 Braintrust 中:

  1. 前往 Account Settings 创建 API key
  2. 在项目设置(Project Settings)中找到 Project ID

第二步:在 OpenRouter 开启 Broadcast

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

第三步:配置 Braintrust

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

字段填写内容
Api KeyBraintrust API key
Project IdBraintrust 项目 ID
Base Url(可选)默认 https://api.braintrust.dev

第四步:测试并保存

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

第五步:发送测试 Trace

通过 OpenRouter 发送一个 API 请求,在 Braintrust 日志视图中查看结果。

元数据映射

Braintrust 支持自定义元数据、tag 和嵌套 span 结构,通过 trace 字段传递:

Braintrust 映射说明
trace_idSpan ID / Root Span ID将多条日志归入同一 trace
trace_nameNameBraintrust 日志视图中显示的自定义名称
span_nameName层级中中间 span 的名称
generation_nameNameLLM span 的名称

示例

json
{
  "model": "openai/gpt-4o",
  "messages": [{ "role": "user", "content": "Generate a summary..." }],
  "user": "user_12345",
  "session_id": "session_abc",
  "trace": {
    "trace_id": "eval_run_456",
    "trace_name": "Summarization Eval",
    "generation_name": "GPT-4o Summary",
    "eval_dataset": "news_articles",
    "experiment_id": "exp_789"
  }
}

指标与费用数据

Braintrust 接收每次 LLM 调用的详细指标:

  • Token 计数(prompt、completion、total)
  • 缓存 token 用量(如有)
  • 推理 token 计数(支持的模型)
  • 费用信息(input、output、total costs)
  • 时长和时间指标

字段映射说明:

  • user 字段映射到 metadata 中的 user_id
  • session_id 字段映射到 metadata 中的 session_id
  • trace 中的自定义键包含在 span 的 metadata 对象中

Privacy Mode

当为此目的地开启 Privacy Mode 时,prompt 和 completion 内容会从 trace 中排除。其他 trace 数据(token 用量、费用、时间、模型信息、自定义元数据)仍正常发送。

常见问题

Q: Project ID 在哪里找?

A: 在 Braintrust 中打开你的项目,进入项目的 Settings 页面,Project ID 通常显示在 General 标签下。如果找不到,也可以从项目页面 URL 中提取(通常是类似 ...braintrust.dev/app/projects/{project-id}/... 的格式)。

Q: Braintrust 能否直接在 OpenRouter trace 上跑 eval?

A: 可以,这也是 Braintrust 的核心功能之一。在 Braintrust 中创建 eval,指向接收 OpenRouter trace 的项目,即可对 LLM 响应进行自动化评分和人工评审。

Q: 可以同时向多个 Braintrust 项目发送 trace 吗?

A: 目前每个 Broadcast 配置只对应一个 Braintrust 项目。如果需要将 trace 发送到多个项目,可以考虑结合 Braintrust 的数据管道功能,或使用不同的 OpenRouter 账号分别配置。