SuperAPI AI 工具集

setup-progen2-remote-tool

智能体与模型

查看项目

更新于 10-20 05:55

技能介绍

用途

该技能用于搭建和管理 ProGen2 蛋白质语言模型的 ToolUniverse 远程工具。它覆盖从环境准备、依赖安装、模型权重获取、本地启动验证到通过 ToolUniverse Connect 中继共享的完整流程,并提供故障排查与清理指引。适用于需要在自有 GPU 机器上私有部署 ProGen2 打分或生成能力的场景。

主要能力

  • 提供 run_progen2_score 操作,对蛋白质序列进行打分,成功结果包含 ll_sum、ll_mean 和 sequence_length,即按上游 likelihood.py 方式对两个读取方向取平均的对数似然。
  • 提供 run_progen2_generate 操作,返回生成序列;该操作对 num_samples 与 max_length 的乘积设上限 4096 token,超出时按名称拒绝并给出测量依据。
  • 通过 tu remote setup progen2 执行五步流程:preflight、environment、kit、weights、smoke,每步可单独运行。
  • 冒烟测试会保持模型驻留、发送一次请求、校验输出符合清单预期,并将实测峰值显存记录到 ~/.cache/tooluniverse/measured/progen2.json。
  • 支持通过 tu remote login 进行设备码授权,并用 tu remote share progen2 一键私有共享。
  • 提供 tu remote check 非共享就绪检查和 tu remote run 本地前台服务器模式。

使用方式

前置条件:在 ToolUniverse 仓库根目录运行,Linux 系统,Python 3.12.3,需要 CUDA GPU;提供方在请求间保持模型驻留,CPU 不是目标平台。provider 数据、权重、缓存和凭据应放在 Git 之外。默认绑定回环地址;非回环绑定需要 TOOLUNIVERSE_API_TOKEN,且不得将令牌放入参数或结果。

先运行标准库契约检查:

python scripts/remote_validation/setup_skill_preflight.py --implementation progen2

导出 provider 资源后加 --check-provider-env;服务器启动后加 --live 验证 MCP 工具集;共享前加 --check-connect-prereqs(仅报告密钥是否设置,不打印值)。

创建两个环境。MCP 服务器环境:

python3 -m venv .venvs/progen2
. .venvs/progen2/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .
python -m pip install fastmcp

模型环境位于 TOOLUNIVERSE_PROGEN2_PYTHON 指定路径,需先创建空解释器(如 python3 -m venv ~/progen2-venv),再由 tu remote setup --only environment 从 src/tooluniverse/remote/progen2/environment/requirements.lock 以 --no-deps 填充。

设置权重路径和模型 Python 路径后运行完整设置:

export PROGEN2_WEIGHTS=...
export TOOLUNIVERSE_PROGEN2_PYTHON=~/progen2-venv/bin/python
tu remote setup progen2

PROGEN2_WEIGHTS 指向包含 progen2-base/{pytorch_model.bin,config.json}(1.4 GiB)的目录。请求时不下载任何内容;清单声明每个权重文件的大小和 sha256,启动时校验不符则拒绝。

授权与共享:

tu remote login
tu remote share progen2

默认请求短时设备码并打开 TU Platform 审批页;无头机器可加 --no-browser。可用 tu remote check progen2 做非共享就绪检查,tu remote run progen2 仅本地前台运行。

本地启动:

python -m tooluniverse.remote.progen2.progen2_tool

Streamable HTTP 端点为 http://127.0.0.1:8047/mcp。在另一激活的 shell 中可用 fastmcp Client 列出工具,确认发现集包含 run_progen2_score;发现为空、重复或模式漂移时应停止。

连接 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:8047/mcp --json
tu serve --share --forward http://127.0.0.1:8047/mcp --name validation-progen2 --workers 1

优先使用浏览器设备授权;CI 或迁移场景仅通过受保护环境变量提供 TOOLUNIVERSE_SERVICE_KEY,或使用 tu remote login --manual-key,切勿将密钥放入 shell 参数。

适用场景

适合在单张 CUDA GPU 上私有部署 ProGen2-base 的蛋白质序列打分与生成功能,并通过本地回环端点或 ToolUniverse Connect 中继供受控调用。注意 2026-10-01 验证状态:ProGen2-base 在 NVIDIA GB10(aarch64, cc 12.1)上以优化工具包关闭方式运行,四次连续相同请求验证为 0.65 秒后每次 0.16 秒。部署前应阅读生成边界:16 序列和 1024 token 各自合理但乘积不合理,8×512 token 实测 5.81 GiB,8×1024 为 29.2 GiB,16×1024 为 116.93 GiB,接近整卡显存,因此工具将乘积限制在 4096 token。打分显存较平缓:128 残基 1.65 GiB 至 2040 残基 2.82 GiB。

限制

  • 公开出版、跨用户隔离、并发、恢复和序列质量尚未测试;应保持私有部署。
  • 该实现加入于 2026-08-16 认证 Platform 矩阵之后,未纳入该矩阵;尚未通过 Platform 完整调用验证,现有证据均为单卡本地回环端点。公开出版、独立调用方授权/隔离、饱和度和持久监督均未测试。
  • 单 worker 设计为一次服务一个请求;第二个在途请求在锁上排队,不会双倍峰值显存。
  • 冷启动后首个请求承担模型构建开销,后续请求不承担;仅测量首次调用的基准会测错对象。
  • 调优建议:先测冷启动,再测至少四次连续相同请求,然后测混合形状序列(小、小、大、小);再测并行级别 1、2、4、8,显存允许才测 16;记录成功/错误、p50/p95、峰值 RAM/VRAM、利用率、排队、取消清理和恢复;仅在单飞初始化和可恢复 OOM/超时行为经证明后再增加 worker。
  • 故障排查:退出码 3 为拒绝、1 为失败;worker 日志在 ~/.cache/tooluniverse/remote-logs/progen2-resident.log。模型半侧导入/可执行失败可重跑 tu remote setup progen2 --only environment;权重偏离固定值时应手动删除后重跑 --only weights;401/403 需配置匹配的 TOOLUNIVERSE_API_TOKEN。Ctrl-C 停止服务器/中继;可用 tuplatform-service uninstall --name validation-progen2 卸载。用 nvidia-smi --query-compute-apps=pid,used_memory --format=csv 检查卡是否空闲。确认后仅删除 .venvs/progen2 和 provider 缓存目录,切勿宽泛递归删除。仅使用实现 README 链接的官方上游文档,不要替换为第三方模型镜像。