关于 Arquimedes
Arquimedes 是面向数学研究、教学和模型训练的竞赛与基准题库,汇集多个数据集并统一题目、难度和解答格式。提供本地 CLI 与 MCP 服务,可按条件搜索、抽样和读取题目。
主要功能
- 01聚合 9 个数学数据集
- 02统一 LaTeX 题目与难度
- 03提供题目解答和推理轨迹
- 04按类别与难度全文搜索
- 05导出去污染训练与评测集
适用场景
- 01查找特定主题或难度的竞赛题
- 02随机抽取符合条件的练习题
- 03为模型训练与评测导出数据集
MCP 相关
MCP 服务提供只读工具,用于查看数据集统计、搜索和抽样题目,以及按 ID 获取题目、答案、提示、解答和可选推理轨迹。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 1 周前
此工具无需参数。
详细介绍
Arquimedes:数学题目数据库
结构化、去重的竞赛与基准数学数据库:
包含 9 个数据集中的 1,038,963 道题目,每道题均有标准化的 LaTeX 题面、
经过校准的莫氏难度(1.0 至 10.0)、答案元数据,以及采用统一 JSON 架构(v2)的解答。
- 1,038,963 道题目,包含完整题面,99.98% 已分类领域
- 797,671 份书面解答:证明概要(797,631)、策略(22)、仅答案(18)
- 277,002 条模型推理轨迹(
deepmath数据集,JSONL 分片) - 1,219 张图表(SVG 和 JPG),以哈希作为内容地址
- 统一的莫氏难度(
1.0–10.0),已填充至全部 1,038,963 条记录 - 快速 CLI 和 MCP 服务:可通过
uv安装(arquimedesCLI 和arquimedes-mcp服务) - 去污染的训练/评估划分:一条命令即可导出(
972,458道去污染训练题 /10,533道标准评估题) - 交互式网页浏览器:简洁的浏览器目录,位于
site/,可直接用于 GitHub Pages
数据集
| 数据集 | 内容 | 题目数量 | 特色字段 |
|---|---|---|---|
numina | NuminaMath 题目,规模最大的数据集 | 840,924 | 每道题的来源标签,莫氏难度 1.0–9.5 |
deepmath | 带有 R1 推理轨迹的 DeepMath 题目 | 92,334 | 每道题包含三条模型推理轨迹,难度评级 1–10 |
bigmath | 答案已验证的 Big-Math-RL-Verified 题目 | 77,527 | Llama-8B 解题率难度说明,分层领域标签 |
math | MATH 基准题目 | 12,401 | 难度等级 1 至 5,训练/测试划分标签 |
core | 精选竞赛题目(AMC 项目、IMO、HMMT 等) | 10,645 | 概念标签、课程/来源难度评级、递进提示、解题时间 |
omnimath | Omni-MATH 奥林匹克题目 | 2,640 | 难度评级 1 至 9.5,竞赛来源标签 |
olympiadbench | OlympiadBench 奥林匹克题目 | 1,389 | 图表(JPG)、答案类型标签 |
cemc | CEMC 选择题竞赛(Gauss、Pascal、Cayley、Fermat) | 792 | 每道题有五个选项,参考 URL |
aops | 附有社区编写解答的竞赛题目 | 311 | 每条记录包含题集、年份和题目代码 |
分类分布
| 分类 | 题目数量 | 占比 |
|---|---|---|
algebra | 386,699 | 37.22% |
geometry | 243,231 | 23.41% |
arithmetic | 183,930 | 17.70% |
number-theory | 129,482 | 12.46% |
probability | 38,809 | 3.74% |
combinatorics | 35,493 | 3.42% |
logic-foundations | 19,935 | 1.92% |
problem-solving-techniques | 1,225 | 0.12% |
uncategorized | 159 | 0.02% |
各数据集的分类明细和字段说明:docs/datasets.md。
竞赛覆盖范围
source.collection 字段用于标记来自特定竞赛或基准测试的记录:
- AMC 项目(
core):AHSME 1,810 · AMC 8 1,025 · AMC 10A 625 · AMC 10B 625 · AMC 10 50 · AMC 12A 625 · AMC 12B 625 · AMC 12 50 · AIME I 405 · AIME II 405 · AIME 255 · USAMO 153 · USA TST 45 · USA TSTST 48 - IMO(
core):156 - HMMT(
core):February 2,606 · November 1,072 · Invitational 65 - CEMC(
cemc):Gauss(7 年级)174 · Gauss(8 年级)166 · Pascal(9 年级)134 · Cayley(10 年级)150 · Fermat(11 年级)168 - AoPS(
aops):IMO Shortlist 102 · USAJMO 91 · Canadian MO 83 · APMO 28 · Putnam 7 - OlympiadBench(
olympiadbench):1,389 - MATH(
math):12,401
omnimath、deepmath、numina 和 bigmath 中的记录会在 source.tags 中标注来源和领域。
CLI 与 MCP 服务(uv)
arquimedes 提供一个零依赖 Python 包,其中包含快速 CLI(arquimedes)和 Model Context Protocol 服务(arquimedes-mcp),后者基于 SQLite + FTS5;若 SQLite 不可用,则会自动回退到 JSONL 分片。
从 PyPI 安装
包名为 arquimedes-mcp。它不包含题目。请从 Hugging Face 数据集下载题目一次(分片约 1.3 GB,随后下载一个约 0.8 GB 的精简索引):
uvx arquimedes-mcp fetch
该副本位于用户数据目录中(macOS 上为 ~/Library/Application Support/arquimedes),因此下次运行 uvx 时即可找到它。
{
"mcpServers": {
"arquimedes": {
"command": "uvx",
"args": ["arquimedes-mcp"]
}
}
}
uvx --from arquimedes-mcp arquimedes stats
uvx --from arquimedes-mcp arquimedes search "Cauchy-Schwarz" --min-mohs 7.0 -n 5
从代码检出目录运行
# Build the local 1.7 GB SQLite + FTS5 database (~50 seconds)
uv run arquimedes build
# or a 0.8 GB index that reads solutions from the shards
uv run arquimedes build --lean
# Show corpus summary
uv run arquimedes stats
# Sub-20ms full-text search across 1,038,963 problems
uv run arquimedes search "Cauchy-Schwarz" --min-mohs 7.0 -n 5
# Sample calibrated problems by competition, category, or Mohs difficulty
uv run arquimedes sample --competition IMO --category geometry -n 3
# Inspect a full problem record with choices, answer, hints, and proof
uv run arquimedes show prob.ahsme-1950-p10
从代码检出目录运行 MCP 服务
当分片已位于代码检出目录中时,将以下内容添加到 mcp.json 或 claude_desktop_config.json:
{
"mcpServers": {
"arquimedes": {
"command": "uv",
"args": ["--directory", "/path/to/arquimedes", "run", "arquimedes-mcp"]
}
}
}
公开的 MCP 工具(均为只读;参数见 docs/usage.md):
arquimedes_get_stats:数据集、类别、竞赛和解答数量arquimedes_search_problems:全文搜索,支持类别、数据集、竞赛以及min_mohs/max_mohs筛选条件arquimedes_sample_problems:从符合筛选条件的题目中均匀随机抽取;使用种子可重复抽取arquimedes_get_problem:按 ID 获取完整的 LaTeX 题目、选项、答案、提示、解答,以及可选的 deepmath 推理轨迹
稳定性(1.x)
从 1.0.0 版本起,在发布 2.0.0 之前,这些接口只会以向后兼容的方式变更:
docs/schema.md中的 v2 题目记录架构:不会移除或重命名字段,也不会更改字段类型- MCP 工具名称、参数及结果结构
arquimedesCLI 命令和标志,以及其--json输出arquimedes build构建的 SQLite 表和列ArquimedesEngine的get_stats、search、sample和get_problem方法
次要版本和补丁版本可能会加入新字段、新工具和新标志,也可能修正数据。对个别记录的更正(例如答案错误、类别标签错误)属于数据修正,不属于破坏性变更。随着记录得到修正,数量和 difficulty.mohs 值可能会变化;mohs 是一种校准值,并非测得的难度。变更记录见 CHANGELOG.md。
去污染的训练集/评估集划分
对于大模型后训练和 RLVR(可验证奖励强化学习),tools/export_splits.py(或 uv run arquimedes splits)会生成去污染的训练集和规范评估基准:
uv run arquimedes splits --out-dir splits/
- 评估集(
splits/eval.jsonl.gz— 10,533 道题):math测试集(4,974)、omnimath(2,640)、olympiadbench(1,389)、core2023 年及之后的竞赛(931)、aops(311)以及cemc2023 年及之后的竞赛(288)。 - 去污染的训练集(
splits/train.jsonl.gz— 972,458 道题):过滤掉 46,057 条无法验证的记录,并移除通过 5-gram token 分片重叠检测出的 9,915 条与基准测试近似重复的数据泄漏记录;检测范围涵盖numina、bigmath、core、math、deepmath和cemc。
快速入门(Python 和 SQLite)
使用 Python 标准库直接从分片中读取一道题目:
import gzip, json
with gzip.open("problems/core/shard-00000.jsonl.gz", "rt", encoding="utf-8") as fh:
prob = json.loads(fh.readline())
print(prob["title"], "Mohs:", prob["difficulty"]["mohs"])
print(prob["statement"]) # raw LaTeX with \( \) delimiters
print(prob["answer"]) # {'letter': 'd', 'value': '3+\\sqrt6'}
print(prob["solutions"][0]["text"][:200])
直接查询 SQLite + FTS5:
SELECT p.id, p.title, p.difficulty_mohs, p.answer_value
FROM problems_fts f
JOIN problems p ON p.rowid = f.rowid
WHERE problems_fts MATCH '"pigeonhole"'
AND p.difficulty_mohs BETWEEN 5.0 AND 8.5
LIMIT 10;
目录结构
problems/<dataset>/shard-*.jsonl.gz gzipped JSON Lines, one v2 problem record per line
images/<hash>.svg, images/<hash>.jpg 1,219 content-addressed diagram files
data/index.json summary index (counts by dataset, category, competition)
data/problems.sqlite queryable SQLite + FTS5 database (build locally)
arquimedes/ uv-installable CLI and MCP server package
site/ minimalistic interactive web explorer (GitHub Pages)
tools/ converters, shard normalizer, split exporter, DB builder
docs/ schema, usage, and dataset documentation
文档
docs/schema.md:完整的 v2 记录参考、分片格式、SQLite + FTS5 架构、LaTeX 约定和图像存储docs/usage.md:CLI、MCP 服务、SQL 和 FTS5 查询、推理轨迹、去污染数据集划分docs/datasets.md:各数据集的内容、字段说明、类别分布、去重规则和上游许可证
许可证
arquimedes/、tools/ 和 site/ 中的代码采用 MIT 许可证。Mohs 校准、此项目分配的类别标签以及 data/index.json 采用 CC BY 4.0 许可证。题目陈述、解答、答案和示意图不重新授权;上游条款见 docs/datasets.md。Hugging Face 副本保留每条记录,并在其中标注权利持有方声明:richard01172000/arquimedes。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。