kanshan 3e1e562cb3 feat: spectrum parsers for gate metrics + human_gate override
- Add platform/io/spectra.py (UV-Vis onset/Tauc, PL peak/FWHM) + fixtures
- measurement_from_spectra: data/spectra/{formula}_uvvis|_pl.csv → decide()
- Wire 40/41 to prefer spectrum files, else synthetic metrics
- Schema: decisions.human_* + human_gates; human_gate.apply_override
- scripts/43_human_gate.py CLI; loops consume pending overrides
- Docs/README; 27 unit tests green; smoke 40/41 + 43 demo
2026-09-07 16:49:21 +00:00

钙钛矿高通量「AI 决策系统」计算测试

对前期调研报告中 AI 决策模块(ML 预测 + 贝叶斯优化闭环)的完整计算测试,数据为真实公开 DFT 数据。

入口:report.html(单文件,图表内嵌,浏览器直接打开)

测试结论一览

环节 结果
数据获取 NOMAD API 拉取 60,000 条钙钛矿 DFT 记录 → 23,653 唯一化学式(GGA)
理论计算 S-Q 详细平衡极限:峰值 1.29 eV → 29.9%Eg=1.34 eV 时 η=29.8%,与文献自洽)
ML 预测 Magpie 65 维特征 + HistGBDT,带隙 MAE = 0.104 eV(基线 0.140,改进 26%
BO 闭环 GP+EI 第 11 轮(147 次实验)精确命中 1.400 eV 目标带隙;随机搜索 279 次仍未达标(≥1.9× 提速)

目录结构

perovskite_hpt_test/
├── report.html                          # 主报告(先看这个)
├── data/
│   ├── nomad_perovskite_entries.csv     # 清洗后条目级数据(50,984 行)
│   ├── nomad_perovskite_aggregated.csv  # 化学式×泛函聚合(24,182 组,中位数)
│   └── pv_window_halides.csv            # 光伏窗口卤化物候选(61 个)
├── figures/                             # fig1fig7 图表原图
└── scripts/                             # 全流程复现脚本(按编号顺序执行)
    ├── 00_fetch_nomad.py                # NOMAD API 分页拉取
    ├── 01_process.py                    # 清洗/单位换算(J→eV)/聚合
    ├── 02_eda.py                        # EDA + ShockleyQueisser 模型
    ├── 03_ml_model.py                   # Magpie 特征 + HistGBDT 带隙回归
    ├── 04_bayesian_opt.py               # GP+EI 主动学习闭环 vs 随机基线
    └── 05_report.py                     # 生成本报告

复现

pip install pandas scikit-learn scipy matplotlib
cd scripts && python 00_fetch_nomad.py && python 01_process.py && python 02_eda.py \
  && python 03_ml_model.py && python 04_bayesian_opt.py

两个关键工程经验

  1. NOMAD 带隙单位是焦耳(非 eV),必须除以 1.602176634e-19,否则全部带隙落在 10⁻²⁰ 量级。
  2. BO 目标函数设计决定闭环成效:直接优化 S-Q 效率会因目标面平坦(1.2–1.5 eV 都近峰值)使 BO 与随机无差异;改为带隙回归目标(reward = -|Eg 1.4 eV|)后 BO 优势立即显现。

数据来源:NOMAD Repository (nomad-lab.eu)2026-09-06 获取。

合并后的完整结构(2026-09-07)

本仓库现为钙钛矿高通量主仓,合并了设备调研核验包:

perovskite-hpt-test/
├── report.html / figures / data / scripts   # 计算测试主线(NOMAD→ML→BO→深挖EDA
└── docs/
    ├── MERGE.md
    └── equipment-verification/             # 原 pvk-ht-verification-2026
        ├── 核验报告-….md
        ├── source-archive/                 # 论文PDF、出处页、冲突对照
        └── viewer/                         # 本地只读浏览(可选)

详见 docs/MERGE.md。旧仓 https://git.aiot.ml/kanshan/pvk-ht-verification-2026 请视为已并入,勿再双写。

Nature 移动机器人能力层

对标 Dai et al., Nature 2024 (DOI 10.1038/s41586-024-08173-7) 的 合成–分析–决策 软件能力层(非实体机器人):

  • Schemaplatform/schema/schema.sql + platform/schema/csv_templates/
  • 正交启发式门控:platform/decision/heuristic_planner.pyUV-Vis↔MSPL↔NMR
  • 阈值版本:platform/config/gates_perovskite_phase0.yamlthreshold_version
  • GP+EI 下一 batchplatform/decision/bo_core.py + bo_next_batch.pymethod=gp_ei
  • 离线闭环:
# 单轮(向后兼容;内部 rounds=1)
python scripts/40_nature_mobile_robot_loop.py

# 多轮 GP+EI(默认 3 轮:screen→gate→repro→scaleup→BO 提案→重复)
python scripts/41_nature_multround_bo_loop.py --rounds 3

# DBA 查询 ledger
python scripts/42_ledger_query.py hits
python scripts/42_ledger_query.py scaleup
python scripts/42_ledger_query.py fails --db output/nature_multround_bo_loop.db

# 人工覆盖(论文:人类选化学 / 可覆写启发式)
python scripts/43_human_gate.py --run-id R01-SCR-000 --override force_scaleup --note "..." --by kanshan

可选光谱:data/spectra/{formula}_uvvis.csv + _pl.csv(有则解析入门控,否则合成指标)。

说明文档:docs/platform-nature-mobile-robot.md

S
Description
Perovskite high-throughput test: NOMAD 60k + S-Q + ML MAE 0.104eV + BO 1.9x speedup
Readme
61 MiB
Languages
HTML 78.3%
Python 21.7%