用途 该技能提供将 ESMFold2 作为 ToolUniverse 远程工具部署的完整流程:环境准备、启动、验证、排障,并可选地通过 ToolUniverse Connect 转发共享。适用于需要在本地 GPU 上常驻运行 ESMFold2 蛋白结构预测服务并经 MCP 端点调用的场景。
主要能力
- 部署标准:遵循 remote-tool 标准,区分两个互相不能导入的 Python 环境——MCP 服务器运行于 ToolUniverse 环境,模型运行于由锁定文件构建的独立环境。
- 分步安装:tu remote setup esmfold2 读取 provider.toml 并依次执行 preflight、environment、kit、weights、smoke 五步;可用 --only 单独执行某一步。
- 预检:下载大型依赖前先运行 setup_skill_preflight.py --implementation esmfold2;导出 provider 资源后加 --check-provider-env,服务启动后加 --live,共享前加 --check-connect-prereqs(仅报告密钥是否存在,不打印其值)。
- 冒烟验证:smoke 步骤加载模型、发送一次请求、断言输出符合清单描述,并将实测峰值显存记录到 ~/.cache/tooluniverse/measured/esmfold2.json,供主机调度使用。
- 本地服务与发现:启动 python -m tooluniverse.remote.esmfold2.esmfold2_tool,Streamable HTTP 端点为 http://127.0.0.1:8038/mcp,通过 FastMCP Client 列出工具,确认包含 esmfold2_fold。
- 共享与登录:tu remote login 采用设备码浏览器授权,无头机器需加 --no-browser;tu remote share esmfold2 执行预检、启动或复用回环端点、校验发现并前台保持中继。另有 tu remote check、tu remote run、tu remote logout(及 --revoke)。
- 调用示例:操作 esmfold2_fold,参数含 chains(sequence)与 seed;成功结果包含 variant、n_structures 以及每个采样结构的 pTM、ipTM 分数;单体 ipTM 为 0.0 属正常;mmCIF 文本仅在 return_structures 为 true 时返回。
- 显存与并发调优:建议单 worker;先测冷启动,再测连续四次相同请求及混合形状序列,然后测试并行级别 1、2、4、8,仅在内存允许时测 16;记录成功/错误、p50/p95、峰值 RAM/VRAM、利用率、排队、取消清理与恢复情况。
- 排障与清理:exit 3 为拒绝,exit 1 为失败;worker 日志位于 ~/.cache/tooluniverse/remote-logs/esmfold2-resident.log;模型端导入失败可重跑 --only environment;权重偏离固定值时保留原文件供检查后手动删除并重跑 --only weights;401/403 需配置匹配的 TOOLUNIVERSE_API_TOKEN 或改用回环加中继;用 Ctrl-C 停止,必要时执行 tuplatform-service uninstall --name validation-esmfold2;确认后仅删除 .venvs/esmfold2 与 provider 缓存目录。
使用方式 在 Linux、Python 3.12.3、ToolUniverse 仓库根目录下操作。先创建并安装 MCP 环境(python3 -m venv .venvs/esmfold2,pip install -e . 与 fastmcp),并在 TOOLUNIVERSE_ESMFOLD2_PYTHON 指定路径创建空解释器环境;导出 HF_HOME 与 TOOLUNIVERSE_ESMFOLD2_PYTHON 后运行 tu remote setup esmfold2 完成构建。随后可本地启动服务并用示例请求验证,或安装固定 SHA-256 的 tuplatform-connect wheel 后通过 tu serve --share 共享。
适用场景 需要在带 CUDA GPU 的 Linux 主机上以常驻方式提供 ESMFold2 蛋白折叠预测能力,并通过本地 MCP 端点或经中继被回调使用的部署与运维场景。
限制与未验证项 必须使用 CUDA GPU,CPU 非目标平台。权重共 25.6 GiB(十六个文件,其中含 ESMC-6B);静态常驻约 14.21 GiB,800 残基时约 25.28 GiB(实测)。非回环绑定必须配置 TOOLUNIVERSE_API_TOKEN,且不得放入参数或结果。该部署被建议保持私有:公开出版、跨用户隔离、并发、恢复和生物学准确性均未测试;尚未通过 TU Platform 实际演练,公开出版、独立调用方授权/隔离、饱和与持久监管亦未测试。tuplatform-connect 尚未发布到 PyPI,需使用所给固定校验和的 wheel。模型权重仅从 HF_HOME 指向的固定快照获取,请求时不下载。只应使用实现 README 链接的官方上游文档,不使用第三方模型镜像。