Files
lean-bench/docker/README.md
T
2026-09-22 16:50:32 +00:00

45 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[Dockerfile](/Users/zzyang/ProjectResearch/lean-bench/docker/Dockerfile)
构建完整运行镜像:
- 基于 Ubuntu 24.04。
- 安装 Python、Git、curl、SQLite 等。
- 安装 elan。
- 解析 Mathlib 和 Lean 兼容版本。
- 运行 lake update。
- 下载 Mathlib 预编译缓存。
- 用真实 Lean 编译 smoke 文件。
- 安装 lean-bench Python 包。
- 配置数据库、LLM 和 Lean 环境变量。
- 挂载 /books 与 /data。
镜像很重,Mathlib 缓存和编译对内存、磁盘要求较高。
[docker-compose.yml](/Users/zzyang/ProjectResearch/lean-bench/docker/docker-compose.yml)
本地 Docker Compose 配置:
- 构建或拉取 lean-bench 镜像。
- 注入 DashScope API Key 和模型设置。
- 把本地 books/ 映射到 /books。
- 把本地 data/ 映射到 /data。
- 默认运行 doctor。
[entrypoint.sh](/Users/zzyang/ProjectResearch/lean-bench/docker/entrypoint.sh)
容器入口:
- 创建数据库父目录。
- 设置运行环境。
- 把用户传入参数交给 lean-bench。
- 允许镜像直接执行 ingest、search 等子命令。
[resolve-mathlib.sh](/Users/zzyang/ProjectResearch/lean-bench/docker/resolve-mathlib.sh)
构建阶段解析 Lean/Mathlib 兼容性:
- 接受显式 Mathlib revision 或 auto。
- 查找合适的 Mathlib revision。
- 根据 Mathlib 对应配置确定 Lean toolchain。
- 更新 Lean 工程配置。
它解决“Lean 版本和 Mathlib revision 不兼容”的常见构建问题,但动态解析降低了可复现性。
[smoke.py](/Users/zzyang/ProjectResearch/lean-bench/docker/smoke.py)
Docker 中的端到端 smoke test:
- 使用脚本化 LLM 回复。
- 走完整 ingest 流程。
- 调用真实 Lean,而不是 fake checker。
- 写入临时 SQLite 数据库。
- 检查生成条目确实被 Lean 验证并可查询。
这曾经由 Docker CI 调用;工作流删除后,当前没有自动执行者。