Skip to main content
We no longer recommend running rubric evaluation jobs as a primary workflow. The Docent plugin generates Reading steps inside an Analysis Plan for you. This SDK reference is kept for users with existing evaluation jobs.
Evaluation jobs run a rubric’s judge against agent runs in a collection. The evaluation runs server-side — you start the job and monitor progress. See Rubrics and Judges for evaluation concepts.

Start an Evaluation Job

Parameters

collection_id
str
required
ID of the collection.
rubric_id
str
required
ID of the rubric to evaluate with.
max_agent_runs
int | None
Maximum number of agent runs to evaluate. If None, evaluates all runs in the collection.
n_rollouts_per_input
int
default:"1"
Number of independent judge rollouts per agent run. More rollouts improve reliability at the cost of more LLM calls.
max_parallel
int | None
Backend concurrency limit for the evaluation job. If None, uses the server default.
include_metadata
bool
default:"True"
Whether the judge prompt should include agent run metadata.

Returns

job_id
str
ID of the created (or reused) evaluation job. If an identical job is already running, its ID is returned instead of creating a duplicate.

Get Evaluation Results

Retrieve the current state of a rubric evaluation, including results and progress.

Parameters

collection_id
str
required
ID of the collection.
rubric_id
str
required
ID of the rubric.
version
int | None
Rubric version. If None, uses the latest version.
filter_dict
dict | None
Optional filter to apply to results.
include_failures
bool
default:"False"
Whether to include failed judge results in the response.

Returns

state
dict
Evaluation state.
get_rubric_run_state does not start an evaluation. Use start_rubric_eval_job() first, then poll get_rubric_run_state() to check progress.

Example: Run and Monitor an Evaluation