Руководство по Python SDK
Полное руководство по Python SDK — синхронные/асинхронные клиенты, фильтрация на маркетплейсе, жизненный цикл ордеров, спотовый рынок, операции с кошельком и обработка ошибок
Новичок в SDK? Начните с 5-минутного быстрого старта сначала.
Для краткого руководства с реальными примерами см. Clore.ai Python SDK — автоматизируйте свои GPU-рабочие процессы за 5 минут
Установка
pip install clore-aiSDK предоставляет два клиента:
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
Примечание: SDK требует 5-секундную паузу между create_order вызовами. Даже в async-режиме заказы распределяются по времени, чтобы соблюдать ограничения по частоте.
4. Закрывайте клиентов после завершения
Полный пример: автоматическое масштабирование GPU-воркеров
Дальнейшие шаги
Автоматизация CLI — Bash-скрипты, CI/CD, пакетные операции
Пакетная обработка — Обрабатывайте большие нагрузки на GPU Clore
Интеграция API — Подключайте ИИ-сервисы к своим приложениям
Последнее обновление
Это было полезно?