SuperAPI AI 工具集

setup-atlasfold-remote-tool

部署与运维

查看项目

更新于 10-20 04:54

技能介绍

【用途】 本技能用于把 AtlasFold 部署为 ToolUniverse 远程工具,覆盖安装、启动、验证、调优与故障排查,并可选地通过 ToolUniverse Connect 中继给他人使用。目标环境为 Linux + Python 3.12.3 + CUDA GPU;该服务在请求之间保持模型常驻,CPU 不是支持目标。

【验证现状与重要警告】 资料给出的验证状态为 2026-10-01:AtlasFold v1.0.0 在 NVIDIA GB10(aarch64,cc 12.1)上运行,需使用优化套件的 big 模式、关闭十三个 lever,并强制上游三角形后端为 torch。原因是该栈的 triton 3.3.1 无法为此卡编译 warp-shuffle 内核,会以 LLVM ERROR: Cannot select 直接终止进程。实测 12 个请求(含 600 与 800 残基折叠),峰值保留显存 100 残基 12.06 GiB、600 残基 19.64 GiB、800 残基 38.63 GiB。 需注意三点:一是 35 残基的冒烟测试不会触发任何内核 lever(均以 512 token 为门槛),验收测试必须达到你将接受的最大输入;二是默认 --kernel auto 在此卡上无法折叠超过约 128 token,唯一可用后端是 --kernel torch;三是显存保留会“棘轮式”不下降,一次 800 残基折叠后后续请求都报告 38.63 GiB,将部署上限限制在 400 残基可把占用控制在 14 GiB。公开共享、跨用户隔离、并发、恢复与结构准确性均未测试,应保持私有部署。

【前置条件】 在 ToolUniverse 仓库根目录运行。Provider 数据、权重、缓存与凭据不得放入 Git。绑定回环地址;非回环绑定必须配置 TOOLUNIVERSE_API_TOKEN,且不得出现在参数或结果中。下载大依赖前先运行标准库契约检查: python scripts/remote_validation/setup_skill_preflight.py --implementation atlasfold 导出 provider 资源后加 --check-provider-env;服务启动后加 --live 验证 MCP 工具集;共享前加 --check-connect-prereqs(只报告密钥是否设置,不打印值)。

【双环境搭建】 该 provider 有两个不可互相导入的环境:MCP 服务器运行在 ToolUniverse 环境中,模型运行在由锁定文件构建的独立环境中。 python3 -m venv .venvs/atlasfold . .venvs/atlasfold/bin/activate python -m pip install --upgrade pip python -m pip install -e . python -m pip install fastmcp 模型侧需先在 TOOLUNIVERSE_ATLASFOLD_PYTHON 指定路径创建空解释器(如 python3 -m venv ~/atlasfold-venv 或 uv venv),再由 tu remote setup --only environment 依据 src/tooluniverse/remote/atlasfold/environment/requirements.lock 以 --no-deps 填充。之后运行完整安装: export TOOLUNIVERSE_ATLASFOLD_PYTHON=~/atlasfold-venv/bin/python tu remote setup atlasfold 该命令读取 provider.toml 并执行 preflight、environment、kit、weights、smoke 五步,每步失败时会报出名称并给出修复方法。可用 --only preflight|environment|kit|weights|smoke 逐步执行。smoke 步骤会保持模型、发送一次请求、断言输出符合 manifest 声明,并将实测峰值显存写入 ~/.cache/tooluniverse/measured/atlasfold.json。涉及包与网络的命令需在干净环境中重跑后才算完成。

【凭据、数据与权重】 常驻 worker 强制数据加载器为 0 workers(上游默认 10,套件下限为 1),因为父进程在请求到来前已初始化 CUDA,fork 子进程会无堆栈退出。请求时不下载任何内容;manifest 声明每个权重文件的大小与 sha256,启动时若不一致即拒绝。

【授权与共享】 安装依赖、导出资源、安装固定版本的 relay SDK 后,每台机器只需登录一次: tu remote login

或导入受保护的 0600 文件:

tu remote login --env-file /path/to/tooluniverse-service.env 之后每次私有共享一条命令: tu remote share atlasfold tu remote login 默认请求短期设备码、打开 TU Platform 审批页并轮询;无头机器可加 --no-browser。CLI 将审批换成仅限计算机的密钥,校验 /remote-servers/preflight,存入本地 0600 配置文件且不显示。share 命令执行环境与平台预检、启动或复用回环端点、验证发现,并保持前台中继直至 Ctrl-C;可覆盖参数: tu remote share atlasfold --name my-atlasfold-remote --workers 1 tu remote check atlasfold 用于非共享就绪检查;tu remote run atlasfold 用于本地前台服务。交互终端下共享会在密钥缺失、过期或吊销时自动启动浏览器流程;显式密钥格式错误或被吊销会快速失败。非交互任务同样快速失败。tu remote logout 仅删除本地副本;--revoke 会先吊销平台连接。

【本地启动与验证】 python -m tooluniverse.remote.atlasfold.atlasfold_tool Streamable HTTP 端点为 http://127.0.0.1:8043/mcp。另一个已激活的 shell 中可用 fastmcp Client 列出工具名,确认发现结果包含 atlasfold_predict;空、重复或 schema 漂移都应停止。重启后首个请求承担模型构建开销,之后请求不再支付,因此只测首次调用会得到错误结论。

【连接 ToolUniverse Connect】 tuplatform-connect 尚未发布到 PyPI,需安装带 SHA-256 固定的公开 wheel: python -m pip install fastmcp pyyaml "tuplatform-connect @ https://connect.aiscientist.tools/downloads/tuplatform_connect-0.3.0-py3-none-any.whl#sha256=3fad5eee5ecf7887a693d93ccd1aa112dc0955617a885d1fc3daded0030f9ae0" tu doctor --forward http://127.0.0.1:8043/mcp --json tu serve --share --forward http://127.0.0.1:8043/mcp --name validation-atlasfold --workers 1 优先使用浏览器设备授权;CI 或迁移时仅通过受保护环境提供 TOOLUNIVERSE_SERVICE_KEY,或使用 tu remote login --manual-key,不得把密钥放入 shell 参数。该实现未参与 2026-08-16 的平台矩阵测试,也未经平台调用;现有证据仅为单卡、本地回环。

【示例调用】 操作 atlasfold_predict,参数为 {"chains":["LSDEDFKAVFGMTRSAFANLPLWKQQNLKKEKGLF"]}。通过本地 MCP 端点用 fastmcp Client 调用该工具。成功形态:n_structures 大于零,包含五次扩散采样加上游排序副本,并带每结构置信度;回复还包含 triton_usable 与所选内核后端(此卡上为 false 与 torch)。需检查科学含义、输出边界、非法输入行为以及是否泄漏路径、密钥或堆栈。

【GPU 与并发调优】 使用一个 worker:常驻 worker 设计上一次只服务一个请求,第二个请求在锁上排队而非翻倍显存。共置其他任务前读取 manifest 中的 vram_budget_gb 与实测文件,manifest 说明峰值测量的输入范围。测量顺序:冷启动、至少四次连续相同请求、混合形状序列(小、小、大、小)、并行度 1/2/4/8(内存允许才到 16),记录成功/错误、p50/p95、峰值内存与显存、利用率、排队、取消清理与恢复。只有在单飞初始化与可恢复 OOM/超时行为得到证明后才增加 worker。

【排障与清理】 exit 3 为拒绝、exit 1 为失败;每一步都会指出问题与修复方法。worker 日志在 ~/.cache/tooluniverse/remote-logs/atlasfold-resident.log,含 lever 全量清单,state=off reason=... 通常表示套件主动关闭某项。堆栈不在请求输出目录,而在 worker 启动目录 /tmp/atlasfold-resident-*/logs/predict_err_rank0.log。模型侧导入/可执行文件失败时重跑 tu remote setup atlasfold --only environment;权重不匹配时保留文件供检查,手动删除后重跑 --only weights;故意网络绑定时出现 401/403 需配置匹配的 TOOLUNIVERSE_API_TOKEN,优先用回环加中继。Ctrl-C 停止服务/中继;如安装可执行 tuplatform-service uninstall --name validation-atlasfold。worker 可能比服务器存活更久,用 nvidia-smi --query-compute-apps=pid,used_memory --format=csv 确认显卡是否空闲。确认后仅删除 .venvs/atlasfold 与 provider 自身缓存目录,切勿使用宽泛递归目标。只使用实现 README 链接的官方上游文档,不要使用第三方模型镜像。