该技能用于设置、启动、验证和排查 Genie 3 ToolUniverse 远程工具,并可选择通过 ToolUniverse Connect 中继。Genie 3 是常驻模型的 GPU 生成式蛋白质设计提供方,暴露 genie3_design 操作。
一、用途与验证状态 资料记录的验证时间为 2026-10-01:Genie 3 在 NVIDIA GB10(aarch64,cc 12.1)上以优化工具包的精确模式运行,全部九个开关启用。它是唯一一个已证明驻留不改变输出的提供方:在同一常驻 worker 中连续四次相同请求产生逐字节相同的 PDB 文件(对每个文件做 sha256;耗时依次 9.8 秒、之后每次 0.8 秒),因为 worker 会快照并恢复四个 RNG 生成器状态,以模拟工具包自身“每请求一进程”的契约;在该契约保持完整的情况下实现了 12 倍热启动。内存阶梯为:100/200/400/670 tokens 时分别 0.31 / 0.61 / 1.28 / 2.82 GiB,670x2 时 4.84 GiB;比 RFdiffusion3(12.49)和 ESMFold2(25.28)便宜一个数量级。
二、主要能力 提供 genie3_design 操作,参数包括 length(字符串)、n_designs、seed。成功输出的特征是 n_designs 大于零、逐设计记录,以及 engine_rebuilt 和 rng_restored 字段;输出文件通配为 _ [0-9].pdb。
三、前提条件 需在 ToolUniverse 仓库根目录、Linux 上以 Python 3.12.3 运行;需要 CUDA GPU,该提供方在请求之间保持模型常驻,CPU 不是目标;提供方数据、权重、缓存和凭据必须放在 Git 之外;绑定回环地址,非回环绑定需要 TOOLUNIVERSE_API_TOKEN,且不得放在参数或结果中。下载大依赖前先运行标准库契约检查:python scripts/remote_validation/setup_skill_preflight.py --implementation genie3;导出提供方资源后可加 --check-provider-env,服务器启动后可加 --live,共享前可加 --check-connect-prereqs(仅报告是否设置密钥,不打印其值)。
四、双环境创建 该提供方遵循远程工具标准,因此有两个环境:MCP 服务器运行在 ToolUniverse 环境中,模型运行在由固定 lock 构建的独立环境中,二者不可互相导入。创建 .venvs/genie3,升级 pip,执行 python -m pip install -e . 和 python -m pip install fastmcp。模型半部分位于 TOOLUNIVERSE_GENIE3_PYTHON 指定的路径,需先创建空解释器(python3 -m venv ~/genie3-venv 或 uv venv,除非 lock 头另有说明),再执行 tu remote setup --only environment,从 src/tooluniverse/remote/genie3/environment/requirements.lock 以 --no-deps 填充,避免版本被静默解析。
五、设置与权重 其余由 tu remote setup 完成,它读取 src/tooluniverse/remote/genie3/provider.toml 并运行五步:preflight、environment、kit、weights、smoke;每步按名称拒绝并附带修复方法。可导出 GENIE3_WEIGHTS 与 TOOLUNIVERSE_GENIE3_PYTHON 后运行 tu remote setup genie3,并用 --only 逐步执行。smoke 步骤最关键:它持有模型、发送一个请求、断言产出符合 manifest 的成功形态,并把测得的峰值 VRAM 记录到 ~/.cache/tooluniverse/measured/genie3.json。GENIE3_WEIGHTS 指向 <root>/pretrained/v1(2 个文件,0.3 GiB);[kit.env] GENIE3_OPT_AUTOLOAD = "0" 是关键配置:该工具包的 .pth 钩子不会修补上游,而是杀死任何进程内的 genie3 导入者并以退出码 3 结束。请求时不获取任何内容,manifest 声明每个权重文件的大小和 sha256,启动时若偏离即拒绝。
六、授权、共享与本地验证 安装依赖、导出资源并安装固定的中继 SDK 后,运行 tu remote login(每台机器只登录一次,密钥轮换后重新登录),或使用 tu remote login --env-file 导入受保护的 0600 文件;随后每次私有共享只需 tu remote share genie3。登录默认请求短期设备码、打开平台审批页并轮询,无需复制密钥;无头机器加 --no-browser。共享命令会运行预检、启动或复用精确回环端点、验证发现并保持中继前台直到 Ctrl-C;可用 --name 和 --workers 覆盖默认值。另可用 tu remote check genie3 做非共享就绪检查、tu remote run genie3 做本地前台服务器。本地启动:python -m tooluniverse.remote.genie3.genie3_tool,Streamable HTTP 端点为 http://127.0.0.1:8048/mcp;用 fastmcp Client 列出工具并确认包含 genie3_design,发现为空、重复或模式漂移即停止。
七、Connect 中继 中继尚未发布到 PyPI,需安装固定的公开 wheel(带 sha256),然后 tu doctor --forward http://127.0.0.1:8048/mcp --json 与 tu serve --share --forward ... --name validation-genie3 --workers 1。CI 或迁移时仅通过受保护环境或 tu remote login --manual-key 提供密钥,不得放入 shell 参数。资料说明该实现未经过 Platform 矩阵验证,证据仅限单卡本地回环。
八、示例、调优与故障排查 示例操作 genie3_design,参数 {"length":"60","n_designs":1,"seed":0},可用 fastmcp Client 调用。使用一个 worker:常驻 worker 按设计一次只服务一个请求,第二个在途请求在锁上排队而非翻倍 VRAM。在与其他租户共卡前,读取 vram_budget_gb 与实测文件;测量冷启动、至少四次连续相同请求,以及混合形状序列(小、小、大、小),然后测试并行级别 1、2、4、8,内存允许再测 16,记录成功/错误、p50/p95、峰值 RAM/VRAM、利用率、排队、取消清理和恢复。只有证明单飞初始化与可恢复的 OOM/超时行为后才增加 worker。排查时阅读拒绝信息(退出码 3 为拒绝,1 为失败);worker 日志在 ~/.cache/tooluniverse/remote-logs/genie3-resident.log;模型半部分导入失败则重跑 --only environment;权重偏离固定值则手动删除后重跑 --only weights;401/403 需配置匹配的 bearer 认证;用 nvidia-smi 检查孤儿 worker;确认后仅删除 .venvs/genie3 和提供方缓存目录,使用 tu remote logout(--revoke 先撤销平台连接)。仅使用实现 README 链接的官方上游文档,不要使用第三方镜像。
九、限制 资料明确指出:上游每进程只能构建一个采样配置(default_config 是模块级可变对象),worker 已做重置;统一内存下容量守卫读取系统级 cudaMemGetInfo,共租户预分配会导致该提供方拒绝小得多的批处理;公开出版、跨用户隔离、并发、恢复和设计质量尚未测试,应保持私有部署。平台侧也未演练。