Skip to content

Conversations (multi-turn)

Later

Multi-turn evaluation is on the roadmap under Later. This page records the intended design so the data model stays compatible. Until then, test single turns with Chatbots and Q&A, passing earlier messages as part of the input.

What it covers

Evaluating a whole conversation, not one reply: support chats, tutoring sessions, sales assistants.

What can go wrong

Failure Example
Forgets earlier information Asks for the order number the user already gave
Drifts from its role A support bot starts giving legal advice
Never resolves the issue A polite but endless loop
One bad turn Nine good replies and one rude one

Planned evals

Eval Question it asks Level
remembers_context Does the assistant use information given earlier? Whole conversation
stays_in_role Does it stay within its role throughout? Whole conversation
resolved Was the user's goal achieved by the end? Whole conversation
Per-turn criteria Any single-turn criterion, applied to every assistant turn Each turn

Source for the approach: multi-turn judging in MT-Bench (Zheng et al., 2023).

The statistical point to get right

Turns in one conversation are related, like repeated agent runs. Per-turn results must be clustered by conversation, or 50 conversations × 10 turns will look like 500 independent tests and the error ranges will be far too narrow. The existing group_id mechanism already supports this.

Planned data format

{"conversation_id": "c-17", "turns": [
  {"role": "user", "content": "My order hasn't arrived"},
  {"role": "assistant", "content": "Sorry to hear that. What's your order number?"},
  {"role": "user", "content": "A-1042"}
]}

Compared with DeepEval

DeepEval already offers Knowledge Retention, Role Adherence, Conversation Completeness and Conversation Relevancy. When EvalHawk adds conversations, its difference will be the same as everywhere else: calibrated verdicts and clustered error ranges.