Installation
Install Eval Protocol with Braintrust support:Basic Usage
Configuration
Set up your Braintrust credentials using environment variables:API Reference
BraintrustAdapter
The main adapter class for pulling data from Braintrust using BTQL queries.get_evaluation_rows()
Execute a BTQL query and convert results to EvaluationRow format. See more about BTQL query syntax here.
btql_query
- The BTQL query string to executeinclude_tool_calls
- Whether to include tool calling informationconverter
- Optional custom converter implementing TraceConverter protocol
upload_scores()
Upload evaluation scores back to Braintrust traces.
rows
- List of EvaluationRow objects with session_data containing trace IDsmodel_name
- Name of the model (used as the score name in Braintrust)mean_score
- The calculated mean score to push to Braintrust
Factory Function
For convenience, you can use the factory function:Source Code
The complete implementation is available on GitHub: eval_protocol/adapters/braintrust.pyTool Calling Support
The adapter automatically handles tool calling traces from Braintrust:Data Conversion
The adapter converts Braintrust traces to EvaluationRow format:Supported Trace Formats
Metadata Preservation
The adapter stores the original Braintrust trace ID in the evaluation row metadata:Advanced Features
Custom Trace Conversion
Implement custom conversion logic using theTraceConverter
protocol: