用途:为调用 LLM API(OpenAI、Anthropic 等)的代码提供测试与评估模式,包括确定性单元测试、集成测试、RAG 输出质量校验和质量门禁。
主要能力:
- LLM 模拟:用 AsyncMock/patch 替换模型工厂,禁止在 CI 中调用真实 API;集成测试用 VCR.py 录制回放,通过 record_mode 与 filter_headers 过滤密钥。
- 质量评估:DeepEval 提供 AnswerRelevancyMetric、FaithfulnessMetric 等指标,断言示例 assert_test(test_case, [AnswerRelevancyMetric(threshold=0.7), FaithfulnessMetric(threshold=0.8)]);阈值表:答案相关性≥0.7、忠实度≥0.8、幻觉≤0.3、上下文精确率与召回率≥0.7。RAGAS 采用类式指标 API,配合 EvaluationDataset 使用 evaluate(dataset, metrics=[...])。依赖下限 deepeval>=4.0、ragas>=0.4。
- 结构化输出:用 Pydantic 模型(字段约束 min_length、ge/le)做 schema 校验。
- 智能体工作流:Planner→Generator→Healer 三阶段,其中 Planner 与 Generator 归属 testing-e2e 技能,本地仅保留 Healer 参考:自动修复失败测试,每个测试最多 3 次修复尝试,且不改动测试逻辑。初始化仅支持 CLI:npx playwright init-agents。
适用场景:CI 中设置确定性 LLM 测试、构建带质量门禁的评估流水线、验证 RAG 管道输出、应用智能体测试模式。
限制与注意:必须覆盖空/None 输入、长输入截断、超时、Schema 违规、提示注入、Unicode 等边界。避免在 CI 调用真实 API、使用随机种子、仅单指标评估、硬编码密钥、只断言 is not None。DeepEval、RAGAS、VCR.py、Playwright 的完整文档需查阅上游来源;本地仅记录其增量规则(如 GEval 与 RAGAS API 修正、阈值方向、cassette 路径、延迟预算等),相关资料未在本文提供全部细节。