Authentication
Send an API key for your project, or a token exchanged from one, as a bearer token. See API keys. The project comes from the credential, so no project ID goes in the path. Writes need the Admin or Member role. Errors look like this.error
- The
sincedate for past data can be a date or a full date and time. The console sends the start of the local day. - Judge keys in results look like
builtin:correctness. When turning a judge on, you can send the bare key (correctness).
Endpoints
Turn a judge on, with past data
request
response
Skip the wait for one trace
request
response
Read results
request
response
evaluation_state is one of scored, pending, retrying, failed, not_sampled, filtered_out, or not_backfilled. scored only means a row exists. Read single_outcome (PASS, FAIL, NOT_EVALUABLE, or ERROR) for the verdict.
Quota and limits
- Free plans get 5,000 evaluations per month across the whole organization. Sample data never counts. Each judge verdict counts, including “not evaluable” ones. Paid plans are not capped.
- Turning a judge on never fails because of quota. If you run out, scoring pauses and past-data runs wait.
- Judges read at most 20,000 characters each of a trace’s input and output.
- Sampling is 0 to 1. Filters are up to 2,000 characters. A results query takes up to 500 items. A test accepts up to 50,000 characters.
- Past data is limited by how long spans are retained, about 90 days, and can be added only when a judge is first turned on.
- Each project can run up to 5 different judges over its sample data.
request
response
Keep an eye on cost
Run evals from code
Open your project settings in BotGauge to copy an API key and start calling the eval endpoints.
.png?fit=max&auto=format&n=rExdh2xAS2_ywWU5&q=85&s=2336659947d2543be68f95bf2d539b85)