メインコンテンツまでスキップ
このページはまだお使いの言語に翻訳されていないか、翻訳が技術レビュー待ちです。以下には英語の原文を表示しています。 英語のページを開く

Braintrust Integration

Note: Control Zero handles policy enforcement. Braintrust is a complementary evaluation and logging tool. For evaluation and experiment tracking, these tools work alongside Control Zero.

Use Control Zero for policy enforcement alongside Braintrust for evaluation.

Overview​

Control Zero and Braintrust are complementary:

  • Control Zero: Enforces governance policies at runtime (prevention)
  • Braintrust: Provides evaluation, logging, and experiment tracking (measurement)

Use Control Zero to block unauthorized actions. Use Braintrust to evaluate the quality and correctness of the actions you allow.

Installation​

pip install controlzero braintrust

Combined Setup​

from controlzero import Client
import braintrust

# [Control Zero: policy enforcement]
cz = Client(api_key="cz_live_your_api_key_here")

# [Braintrust: evaluation and logging]
# Braintrust uses the BRAINTRUST_API_KEY environment variable

Usage Pattern​

Enforce Then Log​

import controlzero
from braintrust import traced

@traced
def generate_response(prompt: str, model: str = "gpt-5.4") -> str:
"""Generate a response with enforcement and Braintrust tracing."""

# Step 1: Control Zero enforces policy
cz.guard("llm", method="generate", args={"model": model, "agent_id": "eval-agent"})

# Step 2: Braintrust traces the call
import openai
client = openai.OpenAI()
response = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
)

return response.choices[0].message.content

Evaluate with Policy Enforcement​

Run Braintrust evaluations where each test case goes through policy enforcement:

from braintrust import Eval

async def task(input_data):
"""Task function with Control Zero enforcement."""
cz.guard("llm", method="generate", args={"model": "gpt-5.4", "agent_id": "eval-agent"})
return generate_response(input_data["prompt"])

Eval(
"my-project",
data=lambda: [
{"input": {"prompt": "Summarize Q4 earnings"}, "expected": "..."},
{"input": {"prompt": "Analyze market trends"}, "expected": "..."},
],
task=task,
scores=[braintrust.Factuality],
)

Next Steps​

  • See the Python SDK for the full Control Zero API reference.
  • Learn about Policies for defining governance rules.