Руководство по CLI и SDK

Обзор

Clore.ai предоставляет REST API который обеспечивает полный программный доступ к рынку GPU — просмотр серверов, создание заказов, мониторинг развертываний и отмену аренды.

Примечание: В настоящий момент официального CLI-бинарника нет. Вся автоматизация осуществляется напрямую через REST API с помощью таких инструментов, как curl, Python или Node.js.

Базовый URL: https://api.clore.ai/v1

Формат ответа: JSON. Каждый ответ содержит code поле, указывающее статус.


Аутентификация

Сгенерируйте ваш API-ключ в Панели управления Clore.aiarrow-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-серверы:

Ответ:


Получить ваши заказы

Включить завершенные/истекшие заказы:


Создать заказ (On-Demand)

Ответ:


Создать спотовый заказ

Спотовые заказы дешевле, но могут быть перебиты. Вы указываете вашу цену в день:


Проверить статус заказа

Активные заказы содержат pub_cluster (имена хостов) и tcp_ports для доступа по SSH:

Подключение по SSH к арендованному серверу:


Отменить заказ

По желанию сообщите о проблеме с сервером:


Python SDK

Легкий обертка, использующая requests библиотеку. Установите её с помощью:

Класс CloreClient

Полный рабочий пример


Пример Node.js

Использование нативного fetch API (Node.js 18+):


Распространенные рабочие сценарии

Найти самый дешевый RTX 4090 и арендовать его


Мониторинг моих заказов


Авто-аренда при падении цены ниже X


WebSocket

REST API Clore.ai в настоящее время не предоставляет конечную точку 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

Ошибка приложения (см. ошибка поле)

Прочитайте ошибка поле для подробностей

Подошибки кода 6

ошибка значение

Значение

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, веб-интерфейсов). Разрешён только один HTTP-порт на http_port поле.

После создания заказа данные для подключения появятся в my_orders:

Подключиться через SSH:

Доступ к Jupyter через браузер: https://n1.c1.clorecloud.net (использует http_port)

Последнее обновление

Это было полезно?