Guía SDK de Python

Guía completa del SDK de Python: clientes sync/async, filtrado del marketplace, ciclo de vida de órdenes, mercado spot, operaciones de wallet y manejo de errores

circle-check

Para un tutorial de inicio rápido con ejemplos reales, consulta Clore.ai Python SDK — Automatiza tus flujos de trabajo con GPU en 5 minutosarrow-up-right

Instalación

pip install clore-ai

El SDK proporciona dos clientes:

  • CloreAI — sincrónico (más simple, bueno para scripts)

  • AsyncCloreAI — asincrónico (más rápido para operaciones concurrentes)

Ambos comparten los mismos métodos y devuelven los mismos modelos Pydantic.


Sincrónico vs Asincrónico — Cuándo usar cada uno

Caso de uso
Cliente
Por qué

Scripts simples, tareas puntuales

CloreAI

Código más simple, sin async/await

Bucles de monitorización

CloreAI

Comprobaciones secuenciales funcionan bien

Consultas masivas al marketplace

AsyncCloreAI

Solicitudes concurrentes = más rápido

Creación por lotes de órdenes

AsyncCloreAI

Crear múltiples órdenes en paralelo

Aplicaciones web

AsyncCloreAI

E/S no bloqueante

Ejemplo sincrónico

Ejemplo asincrónico

Gestores de contexto (recomendado)

Ambos clientes soportan gestores de contexto para limpieza automática:


Configuración del cliente

El SDK incluye un limitador de tasa integrado:

  • Solicitudes generales: 1 solicitud/segundo

  • create_order: enfriamiento de 5 segundos entre llamadas

  • Errores por límite de tasa (código 5): Reintento exponencial automático


Filtrado del marketplace

El marketplace() método obtiene todos los servidores disponibles y filtra del lado del cliente:

Filtrado avanzado (lado del cliente)

Para filtros no incorporados en el método, filtra los Server objetos devueltos tú mismo:

Campos del modelo Server

Cada MarketplaceServer objeto tiene estos atributos y propiedades de conveniencia:

Campo
Tipo
Descripción

id

int

ID del servidor (usa esto en create_order)

gpu_model

str | None

Descripción de la GPU según las especificaciones (propiedad)

gpu_count

int

Número de GPUs de gpu_array (propiedad)

ram_gb

float | None

RAM del sistema en GB (propiedad, desde specs.ram)

price_usd

float | None

Precio bajo demanda en USD (propiedad, desde price.usd.on_demand_usd)

spot_price_usd

float | None

Precio spot en USD (propiedad)

available

bool

Si el servidor no está alquilado (propiedad)

location

str | None

Código de país desde las especificaciones de red (propiedad)

specs

ServerSpecs | None

Especificaciones de hardware (CPU, RAM, disco, GPU, red)

price

ServerPrice | None

Estructura de precios completa

rented

bool | None

Si el servidor está actualmente alquilado


Gestión de órdenes

Creación de órdenes

Parámetros create_order Completos

Parámetro
Tipo
Requerido
Descripción

server_id

int

Servidor a alquilar

image

str

Imagen Docker

type

str

"on-demand" o "spot"

currency

str

Moneda de pago (p. ej., "bitcoin")

ssh_password

str

Contraseña SSH

ssh_key

str

Clave pública SSH

ports

dict

Mapeos de puertos ({"22": "tcp"})

env

dict

Variables de entorno

jupyter_token

str

Token de Jupyter notebook

command

str

Comando de inicio

spot_price

float

Precio de oferta spot

required_price

float

Precio requerido

autossh_entrypoint

str

Punto de entrada Auto SSH

Listado de órdenes

Campos del modelo Order

Campo
Tipo
Descripción

id

int

ID de la orden

server_id

int | None

ID del servidor alquilado

type

str

"on-demand" o "spot"

status

str | None

Estado de la orden

image

str | None

Imagen Docker

currency

str | None

Moneda de pago

price

float | None

Precio

pub_cluster

str | None

IP pública / nombre de host

tcp_ports

dict | None

Mapeos de puertos (p. ej., {"22": 50022})

created_at

str | None

Marca temporal de creación

Monitorización de órdenes

Cancelación de órdenes


Gestión de servidores (para anfitriones)

Si alojas GPUs en Clore, el SDK te permite gestionar tus servidores:

Listar tus servidores

Obtener configuración del servidor

Actualizar ajustes del servidor


Mercado spot

Las órdenes spot son 30–50% más baratas pero pueden ser interrumpidas si alguien te supera la puja.

Ver ofertas spot

Crear una orden spot

Ajustar precio spot

Estrategia de puja spot


Operaciones con billeteras

Comprobar saldos

Alerta de saldo bajo


Buenas prácticas para el manejo de errores

Jerarquía de excepciones

Manejo básico de errores

Patrón de reintento con backoff

El SDK tiene reintentos integrados para límites de tasa y errores de red (max_retries=3). Para reintentos a nivel de aplicación:


Consejos de rendimiento

1. Reutiliza el cliente

2. Usa asincronía para operaciones concurrentes

3. Creación de órdenes por lotes asincrónica

circle-exclamation

4. Cierra los clientes cuando termines


Ejemplo completo: Autoescalar trabajadores GPU


Siguientes pasos

Última actualización

¿Te fue útil?