用途:把大型、嘈杂的数据集转成一个小的、高信号的 Coval 测试集。运行数千次模拟既慢又贵,且行间常有重复、改述或套话,因此目标是得到 10–50 个代表性用例,覆盖真实场景各一次并偏向已知失败。
主要能力:通过 coval CLI 和 scripts/distill.py 分阶段执行。蒸馏器会丢弃没有可检验答案的行、去除精确与改述重复、对套话收敛簇(不同提问都命中同一通用兜底/问候)设小配额,并按标签与语言选分层、失败加权子集。它自己完成去重与代表性选择,再用无上限路径载入结果;Coval 的两个加载器都不去重,CSV/XLSX 导入和 coval test-cases create --stdin 是逐行 1:1 加载,而“创建测试集→附加文件”的 LLM 只合成约 10–15 个场景。
必要用法:先 coval whoami 检查认证,未认证则 coval login(密钥在 https://app.coval.dev/settings → Organization → Manage → API Keys),无账号见 https://coval.dev。列出已有测试集 coval test-sets list --format json。确定源:现有 Coval 测试集用 --source coval:<TEST_SET_ID>;本地 CSV/JSON/NDJSON 则确定字段映射(--input-field 默认 input_str、--expected-field 默认 expected_behaviors、--label-field、--pass-fail-field)。若元数据在管道分隔描述里,加 --parse-coval-description。运行 python3 scripts/distill.py,如 --target-size 30、--min-minority-ratio 0.3、--out distilled.ndjson;报告打到 stderr。之后预览并让用户确认。创建测试集:coval test-sets create 取名、--type SCENARIO、--format json 取 id,再 cat distilled.ndjson | coval test-cases create --test-set-id "$TS" --stdin;用 coval test-cases list 核对数量。
适用场景:为 persona 驱动评测准备小而可信的套件,先跑小集再迭代,下一工作流另建新测试集而非扩大旧集。
限制:仅需 coval CLI 与 python3,无需 jq;脚本默认用字符 n-gram 启发式聚类,设 OPENAI_API_KEY 并加 --embeddings 可提升多语言聚类质量,失败会自动回退。可调 --fail-weight(默认 0.45)、--boilerplate-quota(默认 4)、--jaccard-threshold、--embed-threshold。手工编辑 distilled.ndjson 时每行须为合法 JSON,批量加载遇首个错误行即停止。蒸馏器保留源数据的输入/答案配对,源中错位会原样带入。SCENARIO 是 persona 驱动评测的合适类型,也是 CLI 默认;旧版 CLI 拒绝 --type 时省略即可。
其它细节(如具体收费、价格、平台支持)暂未提供。