OracleProto
收藏OracleProto 数据集详情
数据集概述
OracleProto 是一个可复现的框架,用于通过知识截止和时间掩码来基准测试 LLM 原生预测能力。该数据集包含 80 个精心策划的问题,涵盖三种问题类型,时间范围从 2026-03-12 至 2026-04-14。
核心原理
- 背景与挑战:评估 LLM 预测面临两难困境:实时基准测试容易过期,回顾性基准测试存在数据泄漏问题。提示无法建立真正的知识边界。
- 架构与方法:OracleProto 框架结合模型知识截止和时间掩码,将历史事件严格重构为可复现、有时间限制的预测样本。
- 实验结果:对六个当代 LLM 的测试表明,OracleProto 能有效区分模型的预测质量、稳定性和成本效率。它将泄漏率降低至 1%,为模型比较、监督微调和强化学习提供了受控信号源。
数据集构成
- 问题数量:80 个精心策划的问题
- 问题类型:三种不同类别
- 时间范围:2026-03-12 至 2026-04-14
- 数据格式:SQLite 数据库文件 (
forecast_eval_set_example.db)
框架结构
forecast_eval/ # 核心包 ├─ runner.py # 构建任务计划 + 调度器 ├─ react.py # ReAct 循环 + Tavily 结束日期注入 ├─ leak_filter.py # 检索内容审计器 ├─ llm.py # OpenAI 兼容客户端 ├─ search.py # Tavily 封装 ├─ analysis/ # 评分和诊断:准确率、FSS、BI、复合指标、行为 ├─ prompts.py / parser.py # 输入渲染器 / 输出解析器 ├─ types.py / errors.py / config.py # 数据模型 / 类型异常 / 设置 ├─ db.py / loader.py # SQLite 架构迁移 / 数据集同步 └─ tavily_keys.py / tools.py # API 密钥轮换 / 工具架构 evaluation.py # 入口点 scripts/ # 离线工具 tests/ # 测试 runs/, logs/ # 运行产物
使用方式
环境配置
- 支持
uv和Conda两种环境管理方式 - 需要配置
.env文件,包含 LLM API 密钥、模型信息、Tavily API 密钥等
运行评估
bash python evaluation.py
每次运行会在 runs/{run_id}/ 目录下生成结果,支持断点续跑。
输出内容
runs/{run_id}/ ├─ manifest.json # 运行级元数据和哈希链 ├─ db/{model_slug}.db # 每个模型独立的 SQLite 数据库 ├─ analysis/ # CSV/JSON 分析结果 └─ logs/{run_id}.log # 日志文件
- 数据库仅存储原始观测数据
- 所有聚合指标(pass@1、FSS、BI、复合指标等)由
forecast_eval/analysis/模块计算
扩展性
支持用户自定义数据集。只需在 .env 中替换 SOURCE_DB 和 SOURCE_TABLE 配置,即可接入其他数据源。
联系信息
- 代码使用、数据集构建、结果复现:
- Yiding Ma:yidingma@bupt.edu.cn
- Chengyun Ruan:ruanchengyun815@bupt.edu.cn
- 联合研究、数据集与基准共建、论文合作:
- Kaibo Huang(通讯作者):huangkaibo@bupt.edu.cn
- Zhongliang Yang(通讯作者):yangzl@bupt.edu.cn
相关资源
- 论文:arXiv
- Hugging Face 数据集:MaYiding/OracleProto
- 排行榜:oracleproto.pages.dev

- 1OracleProto: A Reproducible Framework for Benchmarking LLM Native Forecasting via Knowledge Cutoff and Temporal Masking北京邮电大学 · 2026年



