核心功能
基准注册库(Registry):大量已注册 eval(按 YAML 声明、数据存于 `evals/registry/data/`)。
功能亮点
slug
openai-evals
m evals.cli.oaieval
执行评估;含单元测试与 pre-commit 钩子。
仓库
https://github.com/openai/evals
适用场景
• 模型选型
• 提示词迭代
• 线上质量控制
安装配置
只想跑现成评测时 pip install evals 即可;要新增或修改评测则克隆仓库做开发模式安装:git clone https://github.com/openai/evals.git,cd evals,pip install -e .(需 Python 3.9+,可选 pip install -e '.[formatters]' 装格式化工具);仓库的数据集用 Git LFS 托管,务必先 git lfs fetch --all && git lfs pull 拉取,或用 git lfs fetch --include=evals/registry/data/<评测名> 只取需要的那份;最后 export OPENAI_API_KEY=sk-… 完成鉴权(远程日志写 Snowflake 时另配凭据)。
使用方法
第一步准备数据集:在 evals/registry/data/<你的评测>/samples.jsonl 里每行写一条样本,含 input(可用 role/content 的 chat 格式)与 ideal(标准答案),先写 3~20 条小而高信噪的样本迭代;第二步在 evals/registry/evals/<你的评测>.yaml 注册,class 选内置模板 —— evals.elsuite.basic.match:Match 精确匹配、Includes 子串命中、FuzzyMatch 模糊匹配、evals.elsuite.modelgraded.classify:ModelBasedClassify 用裁判模型按评分档打分,args 里用 samples_jsonl 指向数据文件;用模型判分时还要在 evals/registry/modelgraded/ 写评分规范(choice_strings 定档位、choice_scores 映射分数、prompt 写明确的评分细则,eval_type 常用 cot_classify 让裁判先推理再给档);第三步跑评测:oaieval <模型或completion-fn> <评测名>(如 oaieval gpt-4o test-match),跑成套用 oaievalset,常用参数 --max_samples 限量、--record_path 指定日志目录,控制台直接打印 accuracy,逐样本明细以 JSONL 落在 /tmp/evallogs;最后翻日志看失败模式(JSON 不合法、字段漏抽、格式漂移),模板覆盖不了的判分逻辑就继承 Eval 基类写自定义 Python 评测类再注册。
关键指标
尚未核验对标产品,此处只列本工具自身指标,不做对比结论。
相关工具
优点
- 可追溯
- 可对比
- 减少迭代风险
缺点
- 指标设计复杂
- 需要数据集
- 接入成本