Skip to main content
Assess complete conversations from datasets at the turn or conversation level.

Prerequisites

The examples use the SDK client configured in Set up the SDK client.

Evaluate conversation datasets

Evaluate complete conversations to assess agent quality across entire user interactions - not just individual responses. Use conversation-level evaluation to identify quality problems like incomplete task resolution, user frustration, and tool-call regressions that turn-level evaluation misses. For example, consider a support agent where the user grows frustrated over multiple turns:
Turn 1 — User: “I need to reset my password.” Agent: “I found your account. I’ll send a reset link.” Turn 2 — User: “I didn’t get the email.” Agent: “I’ve resent the link. Please check spam.” Turn 3 — User: “Still nothing. Can you just reset it directly?” Agent: “I’ve sent another reset link.”
A turn-level evaluator scores only the last response - which is polite and takes action - so it scores well. A conversation-level evaluator grading customer satisfaction across the conversation flags that the agent repeated the same failing action three times without trying an alternative, leaving the user’s problem unresolved. Conversation-level evaluation differs from turn-level evaluation in several ways: Choose the conversation workflow that matches your data source:

Choose an evaluation level

The evaluation_level parameter on the run determines whether evaluators score individual turns or complete conversations:
Evaluator compatibility: Each evaluator supports specific evaluation levels. Check the evaluator’s supported_evaluation_levels field in the evaluator catalog.
  • Turn-only evaluators (for example, fluency, relevance) can’t be used with evaluation_level="conversation".
  • Currently, all conversation-level evaluators support both "turn" and "conversation" levels.

Common errors

Prepare conversation data

Create a JSONL file where each line contains a complete conversation in the messages field. Each message should include a role (user, assistant, or system) and content. For a complete example, see the conversation evaluation samples in the SDK.
You can also include tool definitions and tool calls if your agent uses tools:

Define the data schema and evaluators

Specify the schema for your conversation data, map the messages field to each evaluator, and select evaluators designed for conversation-level evaluation. Conversation-level evaluators assess the entire interaction rather than individual turns.

Create evaluation and run

Download sample_data_multiturn_conversations.jsonl before you run the sample.
To poll for completion and interpret results, see Get cloud evaluation results. For a complete runnable example, see sample_multiturn_conversation_evaluation.py on GitHub.

Next steps