GPU Cloud

部署托管GPU实例,运行模型或Docker工作负载,并通过EmpirioLabs API连接。

GPU Cloud 为模型服务、笔记本、ComfyUI、Web Terminal、Ollama 或您自己的 CUDA 镜像提供托管 GPU 实例。账单是按秒计入信用余额的。通过认证的EmpirioLabs的API路径连接到正在运行的工作负载。

你可以在仪表盘的GPU Cloud页面或这里文档的API中管理实例。

工作原理

  1. 从目录中选一显卡。每一行显示显存、按小时定价以及具体可用数量。
  2. 选择工作负载:策划模型、Hugging Face模型ID、模板或自定义CUDA Docker镜像。
  3. 部署实例。你的仪表盘设置显示了你账户当前的显卡限制。
  4. 等待准备就绪。新的实例会先provisioning、再loading、再running
  5. 通过API连接使用你的EmpirioLabs API密钥。
  6. 完成后停止或摧毁。停止实例释放GPU和运行时磁盘,同时保留部署规范以便重新开始。被销毁的实例会被永久移除。

定价与限制

  • 价格是按GPU按小时计费,按秒计费。
  • 多GPU部署则按listed hourly price x GPU count计费。
  • 计费从实例达到running开始。
  • 计费在实例被停止或销毁时停止。
  • 部署和启动实例需要在初始运行窗口内积累足够的信用余额。
  • 当余额阈值不足时,运行实例会自动停止。
  • GPU Cloud限制是根据账户范围设定的。你的仪表盘设置显示了你的有效限制。
  • 磁盘大小可请求从100 GB到300 GB。

浏览目录

该目录返回了客户安全的GPU元数据、价格和当前供应情况。

GET
/v1/gpu/catalog
1curl https://api.empiriolabs.ai/v1/gpu/catalog
$curl https://api.empiriolabs.ai/v1/gpu/catalog
1{
2 "object": "list",
3 "data": [
4 {
5 "slug": "rtx-4090",
6 "name": "RTX 4090",
7 "vram_gb": 24,
8 "price_hourly": 0.65,
9 "available": true,
10 "available_count": 21,
11 "max_gpus": 8,
12 "regions": ["US", "EU"]
13 }
14 ]
15}
GET
/v1/gpu/catalog/:slug
1curl https://api.empiriolabs.ai/v1/gpu/catalog/rtx-4090

部署实例

部署开始配置并返回一个处于provisioning状态的实例。投票持续GET /v1/gpu/instances/\{id\}直到status running。如果分配或设置无法及时准备好,实例将移动到error,分配会自动取消。

POST
/v1/gpu/instances
1curl -X POST https://api.empiriolabs.ai/v1/gpu/instances \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "gpu_slug": "rtx-4090"
6}'

部署模型

传递一个精心策划的template_slug或粘贴任何Hugging Face仓库ID。模型部署由实例上的兼容 OpenAI /v1端点提供。

$curl https://api.empiriolabs.ai/v1/gpu/instances \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "gpu_slug": "rtx-4090",
> "mode": "model",
> "hf_id": "Qwen/Qwen2.5-7B-Instruct"
> }'

对于门控仓库,将令牌传递到env

1{
2 "gpu_slug": "a100-80gb",
3 "mode": "model",
4 "hf_id": "meta-llama/Llama-3.1-8B-Instruct",
5 "env": { "HF_TOKEN": "hf_..." }
6}

部署模板

模板是ready-to-run环境。可用的模板包括PyTorch + JupyterLab、ComfyUI、Web Terminal和Ollama。

$curl https://api.empiriolabs.ai/v1/gpu/instances \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "gpu_slug": "rtx-4090",
> "mode": "template",
> "template_slug": "pytorch-jupyter",
> "disk_gb": 150
> }'

部署自定义的 Docker 镜像

运行你自己的CUDA图片。仅支持CPU的镜像可能会失败,因为运行时需要一个兼容GPU的容器。

$curl https://api.empiriolabs.ai/v1/gpu/instances \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "gpu_slug": "rtx-4090",
> "mode": "custom",
> "image": "pytorch/pytorch:2.4.0-cuda12.1-cudnn9-runtime",
> "ports": [8000],
> "disk_gb": 150,
> "env": { "MY_VAR": "value" }
> }'

管理生命周期

GET
/v1/gpu/instances
1curl https://api.empiriolabs.ai/v1/gpu/instances \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json"
GET
/v1/gpu/instances/:instance_id
1curl https://api.empiriolabs.ai/v1/gpu/instances/instance_id \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json"
POST
/v1/gpu/instances/:instance_id/:action
1curl -X POST https://api.empiriolabs.ai/v1/gpu/instances/instance_id/stop \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json" \
4 -d '{}'

使用 refresh 重新同步状态,stop 释放正在运行的分配和暂停计费,start 重新部署已保存的实例规格。

$curl -X POST https://api.empiriolabs.ai/v1/gpu/instances/$ID/stop \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY"
DELETE
/v1/gpu/instances/:instance_id
1curl -X DELETE https://api.empiriolabs.ai/v1/gpu/instances/instance_id \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json" \
4 -d '{}'

销毁实例会永久停止计费,且无法撤销。

状态

现状含义
provisioning容量正在分配中。
loading工作量是开始或热身。
running工作负载可以通过连接路径访问,计费处于激活状态。
stopping正在执行停止或摧毁操作。
stoppedGPU计费暂停。Start 会重新部署已保存的实例规格,并重新部署新的运行时磁盘。
error配置或运行时设置失败,或分配未能及时准备好。实例可以被刷新或销毁。
destroyed该实例已被永久移除。

连接到正在运行的实例

用 Connect 端点配合你的 EmpirioLabs API 密钥。它支持获取、发布、放置、补丁、删除和流式响应。

GET
/v1/gpu/connect/:instance_id/:path
1curl https://api.empiriolabs.ai/v1/gpu/connect/instance_id/v1%2Fchat%2Fcompletions \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json"

对于模型部署,调用实例上的兼容 OpenAI 端点:

$curl https://api.empiriolabs.ai/v1/gpu/connect/$ID/v1/chat/completions \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "model": "Qwen/Qwen2.5-7B-Instruct",
> "messages": [{ "role": "user", "content": "Hello!" }]
> }'
1from openai import OpenAI
2
3client = OpenAI(
4 base_url="https://api.empiriolabs.ai/v1/gpu/connect/INSTANCE_ID/v1",
5 api_key="EMPIRIOLABS_API_KEY",
6)
7
8resp = client.chat.completions.create(
9 model="Qwen/Qwen2.5-7B-Instruct",
10 messages=[{"role": "user", "content": "Hello!"}],
11)
12print(resp.choices[0].message.content)

对于 JupyterLab、ComfyUI、Web Terminal 或 Ollama,请从仪表盘打开实例连接 URL,或向相应的连接路径发送请求。

在仪表盘上与你的模特聊天

当你部署模型(或任何支持 OpenAI 兼容 API 的实例)时,仪表盘会给你内置的聊天页面,让你可以直接试用模型,无需写代码。从GPU Cloud页面打开实例,选择与此型号聊天。聊天页面支持流式回复,支持系统提示和常见的采样控制(温度、top-p、最大token),并允许你为多模态模型附加图片或音频。它运行在与API相同的认证连接路径上,因此无需额外设置,也无需单独计费:实例已按秒计量。

SSH和shell访问

当你需要在工作负载中放置 shell 时,可以使用 Web 终端模板,或者从自定义容器中暴露 HTTP 服务并通过 /v1/gpu/connect/\{instance_id\}/\{path\} 访问它。

使用和计费记录

GPU Cloud 仪表盘显示运行消耗和终身 GPU 消耗。API生命周期响应包括实例价格、GPU数量、计费状态和计费金额,以便你对账自有系统的使用情况进行对账。