> ## Documentation Index
> Fetch the complete documentation index at: https://www.adaline.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Prompt evaluations

# PromptEvaluationsClient

`adaline.prompts.evaluations` kicks off evaluation runs against a prompt, inspects their status, and cancels them. Per-row results are accessed through the nested `.results` sub-client. Every method is async.

For long-running evaluations, prefer [`adaline.init_evaluation_results()`](/docs/reference/sdk/v2/python/classes/adaline#init_evaluation_results) — it wraps `.results.list` in a self-refreshing cache.

## Access

```python theme={null}
from adaline.main import Adaline

adaline = Adaline()
evaluations = adaline.prompts.evaluations  # PromptEvaluationsClient
```

The class is also exported directly:

```python theme={null}
from adaline.clients import PromptEvaluationsClient
```

## Sub-client

| Attribute                             | Client                                                                           | Covers                               |
| ------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------ |
| `adaline.prompts.evaluations.results` | [`EvaluationResultsClient`](/docs/reference/sdk/v2/python/classes/evaluation-results) | Paginated per-row evaluation results |

Types from `adaline_api`:

```python theme={null}
from adaline_api.models.evaluation import Evaluation
from adaline_api.models.create_evaluation_request import CreateEvaluationRequest
from adaline_api.models.list_evaluations_response import ListEvaluationsResponse
```

***

## list()

List evaluations for a prompt (paginated). Filter by status, evaluator, or dataset.

```python theme={null}
async def list(
    *,
    prompt_id: str,
    status: Optional[EvaluationStatusInput] = None,
    evaluator_id: Optional[str] = None,
    dataset_id: Optional[str] = None,
    sort: Optional[SortOrderInput] = None,
    created_after: Optional[int] = None,
    created_before: Optional[int] = None,
    limit: Optional[int] = None,
    cursor: Optional[str] = None,
) -> ListEvaluationsResponse
```

### Parameters

| Name                               | Type                              | Required | Description                                |
| ---------------------------------- | --------------------------------- | -------- | ------------------------------------------ |
| `prompt_id`                        | `str`                             | Yes      | Prompt whose evaluations should be listed. |
| `status`                           | `Optional[EvaluationStatusInput]` | No       | Filter by lifecycle state.                 |
| `evaluator_id` / `dataset_id`      | `Optional[str]`                   | No       | Narrow by evaluator or dataset.            |
| `sort`                             | `Optional[SortOrderInput]`        | No       | Sort order.                                |
| `created_after` / `created_before` | `Optional[int]`                   | No       | Unix millisecond bounds.                   |
| `limit`                            | `Optional[int]`                   | No       | Page size (default 50, max 200).           |
| `cursor`                           | `Optional[str]`                   | No       | Cursor from a previous response.           |

### Example

```python theme={null}
response = await adaline.prompts.evaluations.list(
    prompt_id="prompt_abc123",
    status="running",
    limit=20,
)
```

***

## create()

Start a new evaluation run. Runs asynchronously on the server.

```python theme={null}
async def create(
    *,
    prompt_id: str,
    evaluation: CreateEvaluationRequest,
) -> Evaluation
```

### Example

```python theme={null}
from adaline_api.models.create_evaluation_request import CreateEvaluationRequest

evaluation = await adaline.prompts.evaluations.create(
    prompt_id="prompt_abc123",
    evaluation=CreateEvaluationRequest(
        dataset_id="dataset_abc123",
        evaluator_ids=["evaluator_abc123", "evaluator_xyz789"],
        deployment_environment_id="environment_abc123",
        title="Nightly regression — 2026-04-21",
    )
)

print(evaluation.id, evaluation.status)
```

***

## get()

Fetch a single evaluation by ID.

```python theme={null}
async def get(*, prompt_id: str, evaluation_id: str) -> Evaluation
```

***

## cancel()

Cancel an in-flight evaluation. In-progress rows keep running to completion, but no new rows will start.

```python theme={null}
async def cancel(*, prompt_id: str, evaluation_id: str) -> Evaluation
```

### Example

```python theme={null}
cancelled = await adaline.prompts.evaluations.cancel(
    prompt_id="prompt_abc123",
    evaluation_id="eval_abc123",
)

print(cancelled.status)
```

***

## See Also

* [PromptsClient](/docs/reference/sdk/v2/python/classes/prompts) — parent client
* [EvaluationResultsClient](/docs/reference/sdk/v2/python/classes/evaluation-results) — `.results` sub-client
* [Adaline class](/docs/reference/sdk/v2/python/classes/adaline) — `init_evaluation_results()` polling helper
* [PromptEvaluatorsClient](/docs/reference/sdk/v2/python/classes/prompt-evaluators)
* API reference: [List evaluations](/docs/reference/api/v2/openapi/list-evaluations) · [Create](/docs/reference/api/v2/openapi/create-evaluation) · [Get](/docs/reference/api/v2/openapi/get-evaluation) · [Cancel](/docs/reference/api/v2/openapi/cancel-evaluation)
