跳到主要内容

Braintrust - 评估 + 日志记录

Braintrust 管理 AI 产品的评估、日志记录、提示演练场以及数据管理。

快速入门

# pip install langfuse 
import litellm
import os

# set env
os.environ["BRAINTRUST_API_KEY"] = ""
os.environ['OPENAI_API_KEY']=""

# set braintrust as a callback, litellm will send the data to braintrust
litellm.callbacks = ["braintrust"]

# openai call
response = litellm.completion(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "Hi 👋 - i'm openai"}
]
)

OpenAI 代理使用

  1. 添加密钥到环境变量
BRAINTRUST_API_KEY="" 
  1. 添加 braintrust 到回调
model_list:
- model_name: gpt-3.5-turbo
litellm_params:
model: gpt-3.5-turbo
api_key: os.environ/OPENAI_API_KEY


litellm_settings:
callbacks: ["braintrust"]
  1. 测试一下!
curl -X POST 'http://0.0.0.0:4000/chat/completions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-1234' \
-D '{
"model": "groq-llama3",
"messages": [
{ "role": "system", "content": "Use your tools smartly"},
{ "role": "user", "content": "What time is it now? Use your tool"}
]
}'

高级 - 传递项目 ID 或名称

response = litellm.completion(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "Hi 👋 - i'm openai"}
],
metadata={
"project_id": "1234",
# passing project_name will try to find a project with that name, or create one if it doesn't exist
# if both project_id and project_name are passed, project_id will be used
# "project_name": "my-special-project"
}
)

完整的 API 规范

以下是你可以作为元数据传递给 braintrust 请求的所有内容

braintrust_* - 任何以 braintrust_ 开头的元数据字段都将作为元数据传递给日志记录请求

project_id - 设置 braintrust 调用的项目 ID。默认值为 litellm