Skip to main content
The evaluators client methods are currently in BETA. The API may change without notice. A one-time warning is emitted on first use.
Create and manage LLM-as-judge evaluators and their versions programmatically. Evaluators use prompt templates with {variable} placeholders that reference span or trace attributes to automatically score your LLM application’s outputs.

Key Capabilities

  • Create template-based LLM-as-judge evaluators within a space
  • Version evaluators with commit messages (versions are immutable once created)
  • Retrieve evaluators with their latest or a specific version
  • List, update, and delete evaluators
  • List and retrieve individual evaluator versions

List Evaluators

List all evaluators you have access to, with optional filtering by space.
For details on pagination, field introspection, and data conversion (to dict/JSON/DataFrame), see Response Objects.

Create a Template (LLM-as-Judge) Evaluator

Create a new template evaluator with an initial version. Evaluator names must be unique within the target space.

Create a Code Evaluator

Create a new code evaluator with an initial version. Use ManagedCodeConfigRequest for built-in checks (JSONParseable, Regex, KeywordMatch, ExactMatch) or CustomCodeConfigRequest for user-supplied Python.
Evaluator name must match the regex ^[a-zA-Z0-9_\s\-&()]+$.

Template Variables

Template strings use {variable} placeholders (f-string format) that reference span or trace attributes (e.g., {input.value}, {output.value}, {attributes.my_custom_attr}).

Classification vs. Freeform Output

  • Classification — Provide classification_choices as a dict[str, float] mapping label → numeric score (e.g., {"relevant": 1, "irrelevant": 0}). The evaluator outputs one of these labels along with its score.
  • Freeform — Omit classification_choices. The evaluator produces a numeric score without predefined labels.

Get an Evaluator

Retrieve an evaluator by name or ID. By default the latest version is returned. When using a name, provide space to disambiguate.

Get a Specific Version

Update an Evaluator

Update an evaluator’s metadata (name and/or description). To change the template configuration, create a new version instead.

Delete an Evaluator

Delete an evaluator and all its versions. This operation is irreversible. There is no response from this call.

Manage Versions

Evaluator versions are immutable once created. To change the template configuration, create a new version — it becomes the latest version immediately.

List Versions

List all versions for an evaluator.
For details on pagination, field introspection, and data conversion (to dict/JSON/DataFrame), see Response Objects.

Get a Version

Retrieve a specific evaluator version by its ID.

Create a New Template Version

Add a new template version to an existing template evaluator. The new version becomes the latest immediately.

Create a New Code Version

Add a new code version to an existing code evaluator.

Delete Versions

Delete a batch of evaluator versions (1-100 IDs per request). This operation is irreversible. The delete is partial-tolerant: IDs that exist and belong to the evaluator are deleted, and requested IDs that were not deleted are returned in not_deleted_version_ids. Deleting a version pinned to a running online task un-pins that task (falls back to latest).
Learn more: Online Evaluations Documentation