Інтеграція Braintrust для оцінки якості LLM
Braintrust – платформа для evaluation та CI/CD тестування LLM додатків. Дозволяє створювати набори тестових кейсів, запускати їх автоматично при зміні промптів чи моделей та відстежувати регресії.
Установка та перший експеримент
pip install braintrust
import braintrust
from braintrust import Eval
braintrust.login(api_key="...")
# Определение оценочной функции
def accuracy_scorer(output: str, expected: str) -> float:
"""Простой scorer на основе точного совпадения"""
return 1.0 if output.strip().lower() == expected.strip().lower() else 0.0
def llm_judge_scorer(input: str, output: str) -> float:
"""LLM-as-judge для субъективных задач"""
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "user",
"content": f"""Rate this response quality from 0 to 1.
Query: {input}
Response: {output}
Return only a decimal number."""
}]
)
return float(response.choices[0].message.content.strip())
# Запуск эксперимента
Eval(
"customer-support-bot", # Имя проекта в Braintrust
data=lambda: [
{"input": q, "expected": a}
for q, a in test_dataset
],
task=lambda input: call_customer_support_bot(input),
scores=[accuracy_scorer, llm_judge_scorer],
experiment_name="prompt-v3-gpt4o"
)
Інтеграція в CI/CD
# GitHub Actions
- name: Run LLM Evaluation
run: |
pip install braintrust
python eval/run_evals.py
env:
BRAINTRUST_API_KEY: ${{ secrets.BRAINTRUST_API_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
# Автоматическое сравнение с baseline
- name: Check for regressions
run: |
braintrust eval --project customer-support \
--compare-to baseline \
--fail-on-regression 0.05 # Fail если score упал на 5%+
Braintrust автоматично порівнює результати поточного експерименту з попереднім, виділяє регресії (приклади, де новий промпт гірший) та покращення. Це робить його особливо цінним для команд із швидким циклом розробки промптів.







