Merge branch ‘master’ of code.gitlink.org.cn:Kexing/airbench
AIRBench(AI Research Benchmark)是科研智能领域的标准化评测框架,复刻 ImageNet 方法论,定义五大原子能力、四层复合评测体系,支持评测与训练双场景。
# 安装依赖 pip install -r requirements.txt # 运行自测(使用假数据验证完整评测流水线) python scripts/self_test.py
AIRBench/ ├── airbench/ # 核心框架 │ ├── schema.py # 七元组数据模型 (Pydantic) │ ├── constants.py # 能力枚举、评测维度、权重常量 │ ├── data/ │ │ ├── loader.py # JSONL 数据加载器 │ │ └── generator.py # 假数据生成器 │ ├── eval/ │ │ ├── engine.py # 评测主引擎 │ │ ├── layer1_objective.py # L1: 客观硬指标 │ │ ├── layer2_rules.py # L2: 科研范式规则 │ │ ├── layer3_agents.py # L3: 多Agent交叉评测 │ │ └── layer4_calibration.py # L4: 专家校准接口 │ ├── agent/ │ │ └── base.py # Agent 抽象接口 │ └── report/ │ └── generator.py # 评测报告生成器 ├── data/fake/ # 假测试数据 (JSONL) ├── scripts/ │ └── self_test.py # 自测脚本 ├── results/ # 评测结果输出 └── docs/ ├── 设计手册.md # 完整设计文档 ├── 实现设计文档.md # 实现计划 └── 数据构造说明.md # 数据接口与构造指南
from airbench.data.loader import load_samples from airbench.eval.engine import EvalEngine samples = load_samples("data/your_data.jsonl") engine = EvalEngine(llm_caller=your_llm_function) # 单Agent评测 report = engine.evaluate_batch(samples, agent_id="my_model", agent_response_fn=lambda s: model.generate(s.prompt)) # 多Agent对比 reports = engine.evaluate_multi_agent(samples, { "model_a": lambda s: model_a.generate(s.prompt), "model_b": lambda s: model_b.generate(s.prompt), })
from airbench.data.loader import load_samples # 加载含Gold_Trace的完整训练数据 samples = load_samples("data/your_data.jsonl", scenario="train") # 构造训练对 for sample in samples: input_text = f"{sample.prompt}\n约束: {sample.constraint}" for gold in sample.gold_trace: output_text = f"{gold.thinking_process}\n{gold.final_output}" # 用于 SFT 训练 for neg in sample.neg_cases: # 用于 DPO 偏好对齐 pass
参见 docs/数据构造说明.md,按七元组 Schema 准备 JSONL 文件,通过 loader 加载即可。
docs/数据构造说明.md
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
AIRBench - 科研智能基准评测框架
AIRBench(AI Research Benchmark)是科研智能领域的标准化评测框架,复刻 ImageNet 方法论,定义五大原子能力、四层复合评测体系,支持评测与训练双场景。
快速开始
项目结构
五大原子能力
四层复合评测
使用方式
评测场景
训练场景
添加新数据
参见
docs/数据构造说明.md,按七元组 Schema 准备 JSONL 文件,通过 loader 加载即可。