
Replicate
Replicate 快速上手:从运行公开模型到部署自定义模型
Replicate 提供云端 API 来运行 AI 模型,无需自己管理 GPU 基础设施。本文从账号与 API Token 准备讲起,演示如何用 Python、Node.js 和 HTTP 接口运行公开模型,再逐步完成创建模型、用 Cog 打包、创建部署与监控的完整流程。
Replicate 是一个通过云端 API 运行 AI 模型的平台。你不需要理解机器学习原理,也不需要自己维护 GPU 机器,就能调用别人已经发布的模型;也可以带上自己的训练数据做微调,或者把自定义模型部署上去。它适合两类人:一类是想在应用里快速接入图像生成、语音、放大等能力的开发者;另一类是自己写了模型代码、希望把它变成可调用 API 并自动扩缩容的模型作者。如果你只是想先跑通一次调用,可以从 Replicate 的公开模型开始;如果你要上线自己的模型,则需要走完创建模型、打包、部署这条链路。
准备工作
账号与组织
使用 Replicate 需要一个账号。个人使用直接在用户账号下创建模型即可;如果是团队协作,建议先在账号菜单里选择「Join or create organization」创建组织,或者访问 replicate.com/organizations/create。模型挂在组织下,团队成员可以共享访问权限和账单。
API Token
调用 API 需要 API Token。Token 属于账号级凭据,创建后应妥善保存,不要写进前端代码或提交到公开仓库。在代码里通常通过环境变量传入,例如 REPLICATE_API_TOKEN。
运行环境
按你选择的调用方式准备:
- Python:安装官方客户端库
replicate,需要 Python 3 环境。 - Node.js:安装 npm 包
replicate,需要 Node.js 运行时。 - HTTP:任何能发 HTTPS 请求的语言或工具都可以,不需要额外依赖。
- Google Colab:不想本地装环境时,可以直接在 Colab 笔记本里运行任意公开模型。
如果要部署自定义模型,还需要安装 Cog。Cog 是开源工具,负责把任意代码打包成标准的生产级容器,并自动生成 API 服务器。你只需要定义模型环境和预测逻辑,服务器、扩缩容和算力管理由 Replicate 负责。
费用与配额
Replicate 按实际用量计费,具体价格、免费额度与速率限制以官网当前信息为准。调用前建议先确认账号的计费状态,避免在批量任务中途因余额不足失败。
操作步骤
第一步:选择一个模型
Replicate 上的模型分为官方模型和社区模型,也有公开与私有之分。公开模型任何人都能发现和使用,私有模型只有所属用户或组织可见。每个模型都有若干版本(version),调用时需要指定具体版本,或者使用模型页面上给出的完整标识。
在模型页面上可以直接看到输入参数、输出示例和可复制的调用代码。第一次使用时,建议先在网页上试跑一次,确认输入输出符合预期,再写进代码。
第二步:用 Python 运行模型
安装客户端库:
pip install replicate
设置 Token 后调用模型。下面以图像生成类模型为例,把模型标识替换成你要用的那个:
import os
import replicate
os.environ["REPLICATE_API_TOKEN"] = "你的_token"
output = replicate.run(
"owner/model-name:版本哈希",
input={
"prompt": "a photo of a hotdog on a plate",
},
)
print(output)
replicate.run 会创建一次预测(prediction)并等待结果返回。输入是一个字典,键名必须与模型页面上列出的输入字段一致;字段名写错或类型不符,请求会被拒绝。
第三步:用 Node.js 运行模型
安装 npm 包:
npm install replicate
然后在脚本中调用:
import Replicate from "replicate";
const replicate = new Replicate({
auth: process.env.REPLICATE_API_TOKEN,
});
const output = await replicate.run(
"owner/model-name:版本哈希",
{
input: {
prompt: "a photo of a hotdog on a plate",
},
}
);
console.log(output);
Node.js 版本同样支持在浏览器之外的服务端环境运行。不要把 Token 暴露在客户端代码里。
第四步:直接调用 HTTP API
不依赖客户端库时,可以直接向 HTTP API 发请求。创建预测的基本形式是向模型的 predictions 端点 POST 一个 JSON 体,请求头带上 Authorization: Bearer <token> 和 Content-Type: application/json,请求体里放 version 和 input。返回结果中包含预测的 ID 和状态,可以据此轮询或配合 webhook 获取最终输出。
HTTP API 的完整字段定义可以参考 OpenAPI schema。平台还提供 llms.txt,方便把文档内容交给语言模型处理。
第五步:创建自定义模型
如果公开模型不能满足需求,就要创建自己的模型。在账号菜单里点击「Create model」,或者访问 replicate.com/create。创建时需要决定四件事:
- 名称:短且好记,例如
hotdog-detector。只能使用小写字母和连字符。 - 所有者:个人使用选自己的用户账号;团队协作选组织,以便共享访问和账单。
- 可见性:公开模型任何人都能发现和使用;私有模型只有所属用户或组织可见。
- 硬件:选择模型运行所需的 GPU 类型。平台提供 A100、H100、B200 等高端 GPU。
第六步:用 Cog 构建模型
模型用 Cog 打包。你需要定义两样东西:模型运行环境(依赖、系统包、Python 版本等)和预测逻辑(接收什么输入、返回什么输出)。Cog 会据此生成一个标准的容器镜像,其中包含一个符合 Replicate 规范的 API 服务器。
构建完成后,把模型推送到 Replicate,平台会为它创建一个版本。版本是模型的可调用快照,后续更新会生成新版本,旧版本仍然保留。
第七步:创建部署
模型版本可以直接按需调用,但如果要承载生产流量,应该创建部署(deployment)。部署是专用的推理实例,特点包括:
- 没有「吵闹邻居」,算力独享;
- 可以从零自动扩展到数千块 GPU,按需伸缩;
- 支持滚动部署,更新模型时不中断服务;
- 可以实时查看性能、成本和用量;
- 按实际使用量付费。
创建部署时指定模型版本和硬件配置,平台会负责拉起实例并对外提供 API 端点。
第八步:监控与迭代
部署上线后,在控制台查看请求量、延迟、错误率和费用。需要更新模型时,推送新版本并执行滚动部署,旧实例逐步被替换,期间服务保持可用。不再需要的部署可以删除,避免持续产生费用。
一个完整示例
下面把前面的步骤串起来,做一个最小可用的图像生成调用。假设你已经有一个公开的图像生成模型,模型标识为 owner/model-name,版本哈希为 abc123。
1. 准备环境
python -m venv venv
source venv/bin/activate
pip install replicate
2. 设置 Token
export REPLICATE_API_TOKEN=你的_token
3. 编写脚本
import replicate
output = replicate.run(
"owner/model-name:abc123",
input={
"prompt": "an oil painting of a lighthouse at dusk",
"num_outputs": 1,
},
)
for item in output:
print(item)
4. 运行
python generate.py
脚本会创建一次预测,等待模型执行完毕,然后打印输出。图像类模型的输出通常是文件 URL 列表,可以直接下载或在前端展示。如果输出是单个字符串而不是列表,说明该模型的输出结构不同,以模型页面上的说明为准。
5. 换成异步方式
当模型执行时间较长时,同步等待可能不合适。此时可以创建预测后立即拿到预测 ID,再通过查询预测状态获取结果,或者配置 webhook,让 Replicate 在预测完成时回调你的服务。webhook 需要你自己提供一个可公网访问的接收端点,并验证请求来源。
注意事项
输入字段必须匹配
每个模型的输入 schema 不同,字段名、类型、默认值都以模型页面为准。传了不存在的字段或类型不符,预测会直接失败。不要凭经验猜测参数名。
预测是有生命周期的
一次预测会经历创建、排队、运行、成功或失败等状态。长时间运行的预测可能因为超时或资源问题失败,代码里要处理失败状态,而不是假设一定会成功。
速率限制与安全审查
平台对 API 调用有速率限制,具体阈值以官网当前信息为准。部分输入会经过安全检查,被判定为不合规的请求可能被拒绝。批量任务应加入重试和退避逻辑。
数据保留
预测的输入和输出文件会按平台的数据保留策略存储,超过期限后可能被清理。需要长期保存的结果,应在生成后及时转存到自己的存储中。
密钥管理
模型运行所需的敏感信息(例如第三方 API Key)应通过 Secrets 配置,不要硬编码在模型代码里。Secrets 在运行时注入环境变量,不会出现在公开的模型文件中。
私有模型的可见性
私有模型只有所属用户或组织可见,但这不等于自动加密所有输出。分享预测结果时会生成公开链接,分享前确认其中不含敏感数据。
部署会产生持续费用
部署实例即使没有流量也可能产生费用,具体计费方式以官网当前信息为准。测试完成后及时删除不再使用的部署,避免账单意外增长。
自定义模型需要自己保证可运行
Cog 负责打包和生成 API 服务器,但模型本身的依赖、权重加载、显存占用需要你自己处理。本地能跑通不代表在目标 GPU 上能跑通,部署前应在对应硬件规格上验证。