SuperAPI AI 工具集

serverless-deploy

部署与运维

查看项目

更新于 10-14 21:09

技能介绍

Serverless deploy 是 Runpod 官方插件中的一项部署技能,目标是把任意可部署来源变成一个真正可用的、基于队列的 Serverless 端点,并用一个真实任务证明它可用,同时让用户清楚知道创建了什么、会产生什么费用。

用途 该技能面向需要将已有来源部署到 Runpod Serverless 端点的场景。可处理的来源包括:HuggingFace 仓库、ComfyUI 工作流、Hub 发布、自定义容器镜像、GGUF 仓库、Civitai 资产以及社区模板。它不适用于代码优先的 Python 开发方式(在项目中编写端点函数并用 Runpod 的 Python 开发循环 runpod-flash 迭代),该 MCP-only 组合没有这条路径。

主要能力

  • 读取 GPU 目录、价格、实时库存、各数据中心可用性以及有容量的 CUDA 版本。
  • 浏览 Hub worker 目录及其发布配置,查找预构建 worker 或社区模板,并读取其硬件与环境变量 schema。
  • 将 Hub 发布直接部署为端点(一次调用)。
  • 创建模板(镜像、磁盘、端口、环境变量、注册表、挂载)。
  • 创建 Serverless 端点(GPU 池、worker 最小/最大数量、扩缩容器、数据中心、网络卷)。
  • 创建网络卷,用于在 GPU 同地数据中心暂存大型权重。
  • 固定 GPU / 设置每个 worker 的 GPU 数量。
  • 读取端点健康状态与 worker 列表,结合 worker 日志判断冷启动与崩溃循环。
  • 提交任务并阻塞等待(冒烟测试)。
  • 在工具可用时读取 worker 日志。
  • 删除端点、模板及创建的网络卷。

使用方式 流程分为几个阶段。阶段 0:识别来源并选择引擎。根据模态与模型格式决定引擎族,例如文本生成 LLM 的 safetensors 权重用 vLLM 或 SGLang,GGUF 量化权重用 llama.cpp/Ollama,图像/扩散工作流用 ComfyUI,语音转文字用 Whisper 系列,文本转语音用 TTS 模型,说话人分离用 diarization 流水线,OCR/文档提取用经典 OCR 引擎,文本嵌入用 embeddings 服务,自定义 handler 用自定义容器镜像。需检查仓库文件(*.safetensors / .bin → vLLM/SGLang;.gguf → llama.cpp/Ollama)。阶段 1:根据模型真实元数据(参数量、精度、扩散资产大小)确定硬件规格,选择 VRAM 足够的最小 GPU 类别,并确认实时库存。阶段 2:配置。Hub 发布可直接部署;其他来源先创建模板再创建端点。默认从 scale-to-zero 开始,除非用户要求常驻容量。阶段 3:预热并提交一个真实的小任务做冒烟测试,使用服务端等待(get-job-status wait:300000),最多三次等待,之后报告有证据的状态。

适用场景 适用于把已有模型或工作流快速部署为可调用端点的场景,尤其是需要验证部署可用性、了解计费、并希望获得端点 URL 与 curl 示例的情况。也适用于需要固定 GPU、多 GPU 张量并行、网络卷暂存大权重、多区域部署等较复杂配置的场景。

限制

  • 不适用于代码优先的 Python 开发循环(runpod-flash)。
  • 创建端点与运行冒烟任务都会计费,需在创建前说明 GPU 每小时费用。
  • 账户内所有端点的 workers.max 总和受余额分级配额限制(初始为 5)。
  • 多区域端点每个数据中心需各挂一个网络卷,且这些卷不会自动同步,需自行复制数据。
  • 负载均衡型端点没有队列,所有 worker 繁忙时请求会失败而非等待。
  • 端点类型创建后不可更改。
  • 若来源为受限 HuggingFace 仓库且无 token,下载会返回 403。
  • 部分工具(如读取 worker 日志)可能不可用,此时只能依据 worker 健康计数缩小原因。
  • 具体价格、库存、配额等数值以实际读取的目录为准,本介绍不提供具体数值。