# DeepEval 多轮对话完整性：回答很流畅也可能漏办一项请求，按整段对话验收

已用真实DeepEval ConversationalTestCase/Turn构造完整四轮对话并执行作者漏办需求审计；未运行模型评判或业务写入。

## 运行

在本目录使用独立虚拟环境并安装requirements.txt；脚本结果写入results。

```sh
python reference/audit.py
python reference/run_sdk.py
```

fixtures是原创输入与故意失败样本；作者真值、离线合成provider和实际SDK记录各自标明，不是模型正确率。需要真实模型/账号/GPU的步骤按正文另行授权运行。

## 1. 写下整段对话的两项需求

用户第一轮改地址，第三轮要求发票。发票是新增请求，不能只评最后一句的流畅度。

## 2. 保留每一轮角色和原话

对话中助手只确认地址，没有办理或解释发票。作者完成标签只有address；覆盖率0.5只是人工参考。

## 3. 建立ConversationalTestCase

按安装版接口构造完整turns，保留角色与顺序。不要把四轮压成一条single-turn prompt而丢失后续请求。

## 4. 配置ConversationCompletenessMetric

显式指定评判模型与阈值，并核对当前文档要求的字段。包内没有调用默认在线模型。

## 5. 保存实际请求识别与完成判断

目标环境运行后记录judge找出了哪些请求、每项如何判完成及reason。助手说“已记下”不自动代表后台写入成功。

## 6. 加上流畅但遗漏发票的反例

要求指标指出invoice未完成；若只抓到地址，应标记judge漏识别而不是直接接受高分。

## 7. 交付逐项验收表

并列原对话、人工需求表、真实评判及业务回执。本文只运行需求集合差异检查，没有真实DeepEval对话评判或地址修改。

## 官方依据

- DeepEval 官方文档或源码：https://deepeval.com/docs/metrics-conversation-completeness
