用途
RFD4-Proteína Setup 用于安装 RFD4-Proteína 模型运行时和已发布的检查点对,然后通过预检(preflight)和生成一个单体(monomer)来证明就绪状态。它面向原生模型安装与故障排查;已经运行的 NIM 有不同的部署工作流。
前提条件
需要 RFD4-Proteína 模型检出、其文档规定的主机/GPU 平台,以及用于环境和检查点的存储空间。技能目录包含的是说明和辅助脚本,不包含模型源码。安装技能并不意味着模型或 GPU 已安装。
输入
使用位于 RFPROTEINA_ROOT 的已提供模型检出,或在需要克隆时使用已提供的源 URL 和修订版本。复用已知路径和访问信息。可选输入包括 DATA_PATH、用于已有模型解释器的 RFPROTEINA_PYTHON,以及 oracle 或调度器设置。导出的值优先于配置文件默认值。
使用方式
1. 定位模型并保留工作区
将已加载的技能目录解析为绝对路径并保存在 RFD4_SETUP_SKILL 中,然后再更改目录。其辅助脚本属于技能安装;setup.sh、配置和基准输入属于模型。
检查已提供的 RFPROTEINA_ROOT,若未提供路径则检查当前项目。模型检出包含 .project-root、pyproject.toml 和 configs/inference.yaml。阅读其安装手册和 setup 入口点。仅缺少 scripts/rfproteina_exec.sh 并不表示模型不存在:原生安装可以直接使用 .venv/bin/python。
如果源缺失,使用已提供的仓库 URL 和修订版本克隆到新的未使用目录。否则请求缺失的源信息。不要猜测名称相似的 Proteina 仓库,也不要用 NIM 替代此模型。404 可能表示源不可用或为私有。
保留现有文件、Git 元数据、环境和数据。绝不要为了容纳克隆而清空或重置工作区。如果目标已存在,检查它并复用有效检出或选择未使用的目标。克隆失败不授权删除其目标或无关文件。
将 RFPROTEINA_ROOT 设置为已验证的绝对模型路径,并在那里执行 RFProteína 命令。对其辅助脚本使用绝对技能路径。有关特定修订版本的设置和安全的环境文件处理,请阅读 environment。
2. 检查主机,然后安装
根据安装手册检查所选执行主机的 GPU 可见性(例如 nvidia-smi -L)、存储和所需平台。在集群上,检查请求的 GPU 分配,而不是将登录节点视为推理主机。区分缺少驱动工具与 CUDA 检查失败。如果 GPU 访问不可用,报告推理被阻塞;执行明确请求的仅环境安装,但不要声称就绪。
从已验证的模型检出,使用其维护的安装配方:
cd "$RFPROTEINA_ROOT"
make setup
source .venv/bin/activate
如果用户选择了已有的模型环境,复用它并仅安装缺失的依赖。从预检所检查的同一环境运行后续的 rfd4-generate 命令。
文档化的原生设置会创建 .venv 并安装 pyproject.toml 中固定修订版本的 AtomWorks。它保留现有环境文件,不编辑 shell 启动文件。在调整这些命令之前,先检查所选修订版本的手册。根据日志诊断安装失败;不要禁用 TLS 验证、替换导入桩或修补模型代码来制造成功的预检。
3. 解析数据路径和检查点
文档化的设置会将两个已发布检查点下载到 DATA_PATH,默认为 ./data_path,并复用现有文件。在 setup 之前设置自定义 DATA_PATH。bash setup.sh --skip-weights 仅安装环境。缺少检查点是下载/配置问题,不是检出缺失的证据。
从 configs/inference.yaml 读取检查点名称,并检查所选数据目录。导出的 DATA_PATH 优先于 .env.local,仅当 .env.local 不存在时才使用 .env。将这些文件视为数据,绝不要 shell-source 它们或打印凭据。有关发布文件和下载器,请参阅 checkpoints。将可选的 refolding 设置分开;普通单体生成不需要 oracle。
对于原生预检,导出设置期间选择的实际数据目录,或使用 --data-path 显式传递。检查器使用提供的路径;它不加载凭据文件。保留现有配置,而不是用猜测的默认值替换它。
4. 在该模型的运行时中运行预检
bash "$RFD4_SETUP_SKILL/scripts/preflight.sh" --repo-root "$RFPROTEINA_ROOT"
该辅助脚本在提供时使用显式的 RFPROTEINA_PYTHON,否则使用检出的可执行调度器(如果存在),否则使用其原生 .venv/bin/python。它检查导入、CUDA 和非空的已发布检查点文件。--data-path 覆盖导出的 DATA_PATH;相对数据路径相对于模型根解析。非零退出会阻止冒烟测试。报告实际失败的检查和补救措施,而不是替换检出或宣布设置完成。
5. 生成并验证一个冒烟结果
在预检以 0 退出并显示 PREFLIGHT PASSED 后,运行:
rfd4-generate inputs=data/benchmarks/monomer \
subset_to_examples=monomer-short num_replicates=1 out_dir=./runs/smoke
使用未使用的输出目录;如果 runs/smoke 已包含结果,保留之前的运行。确认命令成功,并在实际输出目录的 inference_samples/ 下存在非空的带注释 CIF。报告检出、解释器、检查点对、预检结果和生成的 CIF 路径。仅预检通过并不能证明生成成功。将更大的设计请求交给 rfd4-proteina-generate。
故障排查
- 技能存在但模型源不可用:报告检查了哪些候选路径,并请求批准的检出或源 URL/修订版本。访问失败后停止猜测源;保留工作区。
- 找到检出但运行时缺失:运行其安装程序,或使用 RFPROTEINA_PYTHON 选择其现有解释器。
- 缺少数据/检查点:检查所选 DATA_PATH,并对该目录重复文档化的下载;保留现有设置。
- 没有可用的 CUDA 设备:在生成之前修复请求的主机/分配。
- Refolding 失败:检查单独的 oracle 镜像、权重、缓存和主机运行时。不要将 refolding 添加到此普通生成冒烟测试中。
限制
执行环境中必须存在检出、GPU 和检查点访问。预检检查依赖、CUDA 和发布文件;它不验证每个设计任务、检查点校验和、自定义检查点覆盖或可选 oracle。
示例
对于单独安装的技能和模型,将 RFD4_SETUP_SKILL 设置为已加载的技能目录,将 RFPROTEINA_ROOT 设置为模型检出,然后遵循步骤 2–5。在没有 GPU 的主机上,有用的结果是准确的阻塞诊断;它不是完成的推理安装。
可用脚本
| 脚本 | 用途 | 参数 |
|---|---|---|
| scripts/preflight.sh | 检查所选模型运行时 | --repo-root PATH 或 RFPROTEINA_ROOT;--data-path PATH 或 DATA_PATH;可选 RFPROTEINA_PYTHON |
| scripts/preflight.py | 在已安装的模型解释器中直接运行检查 | --repo-root PATH 或 RFPROTEINA_ROOT;--data-path PATH 或 DATA_PATH |