For the complete documentation index, see llms.txt. This page is also available as Markdown.

Руководство по Python SDK

Полное руководство по Python SDK — синхронные/асинхронные клиенты, фильтрация на маркетплейсе, жизненный цикл ордеров, спотовый рынок, операции с кошельком и обработка ошибок

Для краткого руководства с реальными примерами см. Clore.ai Python SDK — автоматизируйте свои GPU-рабочие процессы за 5 минут

Установка

pip install clore-ai

SDK предоставляет два клиента:

  • CloreAI — синхронный (проще, хорошо подходит для скриптов)

  • AsyncCloreAI — асинхронный (быстрее для параллельных операций)

Оба используют одни и те же методы и возвращают одни и те же модели Pydantic.


Синхронный vs асинхронный — когда использовать каждый

Сценарий использования
Клиент
Почему

Простые скрипты, разовые задачи

CloreAI

Более простой код, без async/await

Циклы мониторинга

CloreAI

Последовательные проверки работают нормально

Массовые запросы к маркетплейсу

AsyncCloreAI

Параллельные запросы = быстрее

Пакетное создание заказов

AsyncCloreAI

Создание нескольких заказов параллельно

Веб-приложения

AsyncCloreAI

Неблокирующий ввод-вывод

Пример синхронного использования

Пример асинхронного использования

Контекстные менеджеры (рекомендуется)

Оба клиента поддерживают контекстные менеджеры для автоматической очистки:


Конфигурация клиента

SDK включает встроенный ограничитель скорости:

  • Общие запросы: 1 запрос/секунду

  • create_order: 5-секундная пауза между вызовами

  • Ошибки ограничения скорости (код 5): Автоматический экспоненциальный backoff


Фильтрация маркетплейса

Параметр marketplace() метод получает все доступные серверы и фильтрует их на стороне клиента:

Продвинутая фильтрация (на стороне клиента)

Для фильтров, не встроенных в метод, отфильтруйте возвращённые объекты Server самостоятельно:

Поля модели сервера

Каждый объект MarketplaceServer имеет следующие атрибуты и удобные свойства:

Поле
Тип
Описание

id

int

ID сервера (используйте это в create_order)

gpu_model

str | None

Описание GPU из спецификаций (свойство)

gpu_count

int

Количество GPU из gpu_array (свойство)

ram_gb

float | None

Системная RAM в ГБ (свойство, из specs.ram)

price_usd

float | None

Цена по требованию в USD (свойство, из price.usd.on_demand_usd)

spot_price_usd

float | None

Спотовая цена в USD (свойство)

доступные

bool

Находится ли сервер не в аренде (свойство)

location

str | None

Код страны из сетевых спецификаций (свойство)

specs

ServerSpecs | None

Аппаратные характеристики (cpu, ram, disk, gpu, net)

price

ServerPrice | None

Полная структура ценообразования

rented

bool | None

Арендован ли сервер в данный момент


Управление заказами

Создание заказов

Полная create_order Параметры

Параметр
Тип
Требуется
Описание

server_id

int

✅

Сервер для аренды

image

str

✅

Docker-образ

type

str

✅

"on-demand" или "spot"

currency

str

✅

Валюта оплаты (например, "bitcoin")

ssh_password

str

—

Пароль SSH

ssh_key

str

—

Публичный ключ SSH

ports

dict

—

Сопоставление портов ({"22": "tcp"})

env

dict

—

Переменные окружения

jupyter_token

str

—

Токен Jupyter Notebook

command

str

—

Команда запуска

spot_price

float

—

Цена ставки для спота

required_price

float

—

Требуемая цена

autossh_entrypoint

str

—

Точка входа Auto SSH

Список заказов

Поля модели заказа

Поле
Тип
Описание

id

int

ID заказа

server_id

int | None

ID арендованного сервера

type

str

"on-demand" или "spot"

status

str | None

Статус заказа

image

str | None

Docker-образ

currency

str | None

Валюта оплаты

price

float | None

Цена

pub_cluster

str | None

Публичный IP / имя хоста

tcp_ports

dict | None

Сопоставление портов (например, {"22": 50022})

created_at

str | None

Временная метка создания

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

Отмена заказов


Управление сервером (для хостеров)

Если вы размещаете GPU на Clore, SDK позволяет управлять вашими серверами:

Список ваших серверов

Получить конфигурацию сервера

Обновить настройки сервера


Спотовый рынок

Спотовые заказы могут быть прерваны, если кто-то перебьёт вашу ставку. Примерно у трети серверов спотовая цена ниже цены по требованию (медиана ~13% ниже); у остальных спотовая цена равна цене по требованию.

Просмотреть спотовые предложения

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

Изменить спотовую цену

Стратегия спотовых ставок


Операции с кошельком

Проверка балансов

Оповещение о низком балансе


Лучшие практики обработки ошибок

Иерархия исключений

Базовая обработка ошибок

Паттерн повторных попыток с backoff

В SDK встроены повторные попытки для ограничений по частоте и сетевых ошибок (max_retries=3). Для повторных попыток на уровне приложения:


Советы по производительности

1. Используйте клиента повторно

2. Используйте async для одновременных операций

3. Создание пакетных заказов в async

4. Закрывайте клиентов после завершения


Полный пример: автоматическое масштабирование GPU-воркеров


Дальнейшие шаги

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

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