Appearance
Braintrust 是 LLM 应用的端到端评估、监控和改进平台。通过 OpenRouter Broadcast,可以将每次 LLM 请求的 trace(token 用量、费用、时间、自定义元数据)自动转发到 Braintrust,无需修改应用代码。支持 trace_id、trace_name、span_name、generation_name 等元数据键,支持 nested span 结构用于组织日志。配置完成后,所有通过 OpenRouter 的请求都会出现在 Braintrust 日志视图中。
Braintrust 是 LLM 应用的端到端评估、监控和改进平台。通过 OpenRouter Broadcast,可将 LLM 请求 trace 自动发送到 Braintrust,无需修改现有代码。
配置步骤
第一步:获取 Braintrust API Key 和 Project ID
在 Braintrust 中:
- 前往 Account Settings 创建 API key
- 在项目设置(Project Settings)中找到 Project ID
第二步:在 OpenRouter 开启 Broadcast
前往 Settings > Observability,打开 Enable Broadcast 开关。
第三步:配置 Braintrust
点击 Braintrust 旁边的编辑图标,填写:
| 字段 | 填写内容 |
|---|---|
| Api Key | Braintrust API key |
| Project Id | Braintrust 项目 ID |
| Base Url(可选) | 默认 https://api.braintrust.dev |
第四步:测试并保存
点击 Test Connection 验证配置,测试通过后自动保存。
第五步:发送测试 Trace
通过 OpenRouter 发送一个 API 请求,在 Braintrust 日志视图中查看结果。
元数据映射
Braintrust 支持自定义元数据、tag 和嵌套 span 结构,通过 trace 字段传递:
| 键 | Braintrust 映射 | 说明 |
|---|---|---|
trace_id | Span ID / Root Span ID | 将多条日志归入同一 trace |
trace_name | Name | Braintrust 日志视图中显示的自定义名称 |
span_name | Name | 层级中中间 span 的名称 |
generation_name | Name | LLM 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_idsession_id字段映射到 metadata 中的session_idtrace中的自定义键包含在 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 账号分别配置。