该技能用于配置、启动、验证和排查 BoltzGen ToolUniverse 远程工具,并可选通过 ToolUniverse Connect 中继。使用场景为部署 BoltzGen 远程 MCP 工具并进行本地验证。
主要能力与使用方式:
-
环境要求:在 Linux 上从 ToolUniverse 仓库根目录运行,Python 3.12.3;需要 CUDA GPU,提供方在请求之间保持模型驻留,CPU 不是目标。提供方数据、权重、缓存和凭证需放在 Git 之外。服务器应绑定回环地址,非回环绑定需要 TOOLUNIVERSE_API_TOKEN。
-
预检:下载大依赖前运行 python scripts/remote_validation/setup_skill_preflight.py --implementation boltzgen;导出提供方资源后可加 --check-provider-env;服务器启动后可加 --live;分享前可加 --check-connect-prereqs。
-
双环境创建:MCP 服务器运行在 ToolUniverse 环境中,模型运行在独立环境中,二者不可互相导入。示例命令创建 .venvs/boltzgen 并安装依赖和 fastmcp;模型环境路径由 TOOLUNIVERSE_BOLTZGEN_PYTHON 指定,需先创建空解释器,再由 tu remote setup --only environment 根据 requirements.lock 以 --no-deps 填充。其余由 tu remote setup 读取 provider.toml 执行 preflight、environment、kit、weights、smoke 五步;smoke 会持有模型、发送请求、断言产物并记录峰值 VRAM 至 ~/.cache/tooluniverse/measured/boltzgen.json。
-
凭证与权重:BOLTZGEN_CACHE 指向 Hugging Face 缓存,包含六个固定检查点(7.9 GiB);启动时按清单校验每个权重文件的大小和 sha256,不匹配则拒绝启动。
-
授权与分享:每台机器运行一次 tu remote login(可用 --env-file 导入 0600 文件),默认使用设备码和浏览器审批,无头机器加 --no-browser;之后用 tu remote share boltzgen 分享,支持 --name 和 --workers 覆盖。也可用 tu remote check 做就绪检查,tu remote run 启动仅本地前台服务器。
-
本地启动与验证:运行 python -m tooluniverse.remote.boltzgen.boltzgen_tool,端点为 http://127.0.0.1:8035/mcp;使用 fastmcp Client 列出工具,确认包含 boltzgen_design。重启后首个请求承担模型构建开销,后续请求不再承担。
-
连接 ToolUniverse Connect:安装带 SHA-256 固定的 tuplatform-connect wheel,运行 tu doctor 和 tu serve --share 进行中继。
-
示例调用:boltzgen_design 接受 spec、num_designs、seed 等参数;成功时 n_designs 大于零并附带每个设计的指标。输出 glob 为 _[0-9].cif,不要使用 *.cif,因为 configure 总会写入 design_spec.cif。
-
调优与排查:使用一个 worker,驻留 worker 一次处理一个请求;先测量冷启动、至少四次连续相同请求、混合形状序列,再测试并行级别。读取 manifest 中的 vram_budget_gb 和测量文件。日志在 ~/.cache/tooluniverse/remote-logs/boltzgen-resident.log。环境失败可重跑 --only environment;权重问题手动删除后重跑 --only weights;401/403 配置匹配的 bearer 认证。停止用 Ctrl-C,可用 tuplatform-service uninstall --name validation-boltzgen 卸载;用 nvidia-smi 检查残留进程;撤销临时密钥后仅删除 .venvs/boltzgen 和提供方缓存目录。
限制:公开发布、跨用户隔离、并发、恢复和设计质量尚未测试,应保持私有部署。验证状态记录为 2026-10-01,BoltzGen 0.3.2 在 NVIDIA GB10 上以快速模式运行,四次连续相同请求耗时 27.4/26.6/27.2/29.1 秒,峰值保留 2.49 GiB;OMP_NUM_THREADS=1 为关键设置,不可移除。峰值随链长扩展(10 倍链长约 3.17 倍),随设计数量变化很小。该实现未通过 Platform 测试。仅使用实现 README 链接的官方上游文档,不要使用第三方模型镜像。