命令行界面与 SDK 指南

概览

Clore.ai 提供了一个 REST API 使得可以对 GPU 市场进行完整的编程访问 — 列出服务器、创建订单、监控部署和取消租用。

注意: 目前没有官方的 CLI 二进制。所有自动化均通过 REST API 直接完成,使用诸如 curl、Python 或 Node.js 等工具。

基础 URL: https://api.clore.ai/v1

响应格式: JSON。每个响应都包含一个 code 字段指示状态。


身份验证

从以下位置生成您的 API 密钥: Clore.ai 仪表板arrow-up-right:

  1. 登录到您的帐户

  2. 导航到 API 设置中的部分

  3. 生成并复制您的 API 密钥

头部格式:

auth: YOUR_API_KEY

⚠️ 重要: auth 头是 auth, 不是 Authorization: Bearer。使用错误的格式会返回代码 3 (无效的 API 令牌)。

示例:

curl -H 'auth: YOUR_API_KEY' 'https://api.clore.ai/v1/marketplace'

快速开始

列出市场服务器

浏览所有可用的 GPU 服务器:

响应:


获取您的订单

是否包含已完成/已过期的订单:


创建订单(按需)

响应:


创建一个竞价(Spot)订单

竞价订单更便宜但可能被超价。您设定每天的价格:


检查订单状态

活动订单包含 pub_cluster (主机名)以及 tcp_ports 用于 SSH 访问:

通过 SSH 登录到您租用的服务器:


取消订单

可选地报告服务器问题:


Python SDK

一个使用 requests 库的轻量封装。使用以下命令安装:

CloreClient 类

完整可运行示例


Node.js 示例

使用原生 fetch API(Node.js 18+):


常见工作流

查找最便宜的 RTX 4090 并租用它


监控我的订单


当价格低于 X 时自动租用


WebSocket

Clore.ai 的 REST API 目前不公开 WebSocket 端点。要进行实时监控,请使用带有合理间隔的轮询(见下方速率限制)。


速率限制

端点
限制

大多数端点

1 次请求/秒

create_order

1 次请求/5 秒

set_spot_price (降价)

每次 600 秒

速率限制响应(代码 5):

最佳实践:

  • 添加 time.sleep(1) 在连续的 API 调用之间

  • 对于 create_order,请求之间至少等待 5 秒

  • 对监控循环使用 60 秒以上的轮询间隔

  • 如果需要频繁查询市场数据,请在本地缓存

Python 辅助函数:


错误处理

每个 API 响应都包含一个 code 字段。值为 0 表示成功。

错误代码

代码
含义
操作

0

成功

1

数据库错误

延迟后重试

2

输入数据无效

检查你的请求主体/参数

3

API 令牌无效

在仪表板中验证你的 API 密钥

4

端点无效

检查端点 URL

5

超过速率限制(1 请求/秒)

在请求之间增加延迟

6

应用错误(见 error 字段)

阅读 error 字段以获取详细信息

代码 6 子错误

error

含义

exceeded_max_step

现货价格下调过大;检查 max_step 字段

can_lower_every_600_seconds

必须在再次降低现货价格之前等待;检查 time_to_lowering

Python 错误处理示例

JavaScript 错误处理示例


可用的 Docker 镜像

Clore.ai 提供针对 GPU 工作负载优化的预构建镜像:

镜像
描述

cloreai/ubuntu20.04-jupyter

Ubuntu 20.04 + JupyterLab

cloreai/ubuntu22.04-jupyter

Ubuntu 22.04 + JupyterLab

你也可以使用任何公共 Docker Hub 镜像。要使用 GPU,请使用支持 CUDA 的镜像,例如:


端口转发

创建订单时,指定要暴露的端口:

  • "tcp" — 直接 TCP 端口转发(用于 SSH、自定义服务器)

  • "http" — HTTPS 代理(用于 Jupyter、网页 UI)。每个 http_port 字段仅允许一个 HTTP 端口。

订单创建后,连接详情会出现在 my_orders:

通过 SSH 连接:

通过浏览器访问 Jupyter: https://n1.c1.clorecloud.net (使用该 http_port)

最后更新于

这有帮助吗?