Prerequisites
- Complete the cloud evaluation prerequisites and client setup.
- Conversation data with a
messagesarray. - Evaluators that support the selected evaluation level, such as coherence and groundedness.
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
Theevaluation_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 withevaluation_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 themessages 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.
Define the data schema and evaluators
Specify the schema for your conversation data, map themessages field to each evaluator, and select evaluators designed for conversation-level evaluation. Conversation-level evaluators assess the entire interaction rather than individual turns.
- Python
- C#
- JavaScript/TypeScript
- cURL
Create evaluation and run
- Python
- C#
- JavaScript/TypeScript
- cURL
Download sample_data_multiturn_conversations.jsonl before you run the sample.
Next steps
- To poll for completion and interpret results, see Get cloud evaluation results.
- To evaluate production traces, see Evaluate deployed model and agent conversations.
- To generate synthetic conversations, see Simulate agent conversations.