适用场景
- 改了一句系统提示词,想确认结构化输出的字段没被改坏
- CI 里模型输出每次都不一样,断言全红没法用
- 要给产品演示前做一轮输出质量回归
PROMPT
团队每次调 DeepSeek 的系统提示词都心里没底,改完不知道结构化输出的字段还对不对,需要一套不会因为文字润色就误报的回归测试时用这个。 【需求】 设计模型输出的快照测试方案: 1. 被测对象是一个返回 JSON 的接口,字段固定为 title、summary、keywords、scenes 四个; 2. 断言只锁结构不锁文字:字段名集合、字段类型、keywords 数组长度区间、每条长度上限; 3. 文字部分用相似度阈值(比如与上次快照的余弦相似度不低于 0.75)而不是精确相等; 4. 快照文件按用例名存 JSON,首次运行生成、之后比对,提供 --update 参数更新; 5. 给出 CI 里的执行方式,以及模型临时不可用时如何跳过而不是失败。 【输出要求】 1. 用 Python + pytest 实现,给完整可跑的测试文件; 2. 相似度用标准库实现(字符级 n-gram 重合度即可),不引入第三方库; 3. 说明为什么不能直接断言全文相等(模型有随机性、温度大于 0 时必然抖动); 4. 最后列出 3 类应该做精确断言的情况(枚举值、必填字段、长度硬上限)。 ---