LightEval 互操作测试夹具
状态:Active(2026-03-13)
本文描述用于验证 LightEvalConfigService、LiteLLM factory,以及
lighteval endpoint litellm CLI/Python 入口之间契约的确定性夹具集。
目标
- 验证 CLI 与 Python 两条 LightEval 路径生成的
config.yaml - 覆盖成功、重试与失败语义
- 避免在 CI 与本地 smoke 运行中访问外部 API
- 保持契约夹具可复现
夹具布局
provider fixture 指向本地 OpenAI-compatible test gateway。 契约测试在启动临时本地实例时,可能会动态改写其 base URL。
测试矩阵
Test Gateway 行为
本地 test gateway 兼容 OpenAI API,并按 model name 控制行为:
- 普通 model names:成功
- 名称包含
fail-once:第一次调用失败,之后成功 - 名称包含
always-fail:每次都失败
这样能在不引入额外生产分支的情况下,稳定覆盖重试语义。
夹具再生成
使用以下命令刷新夹具集:
构建器会更新:
- provider JSON
- dataset package
- golden LightEval config
- golden CLI stdout
CI 用法
pytest -m lighteval --no-cov会在 CI 和 nightly 流程中运行- Docker integration 与其独立,但采用相同的本地 gateway 思路
- 失败时应上传日志与调用元数据,便于调试
