Opción B: Configuración por CLI (se guarda en ~/.clore/config.json)
Paso 3: Busca una GPU
CLI
Verás una tabla con IDs de servidores, especificaciones de GPU, RAM, precio y ubicación.
Python
Salida:
Consejo: El marketplace() método filtra del lado del cliente. También puedes filtrar por min_gpu_count, min_ram_gb, y available_only (predeterminado: True).
Paso 4: Desplegar (Alquilar un servidor)
CLI
Python
El primer arranque tarda entre 1 y 5 minutos. El servidor descarga la imagen Docker y inicia los servicios. Si pub_cluster es None, espera y revisa de nuevo con my_orders().
Paso 5: Conectarse via SSH
CLI (conexión automática)
La CLI busca la orden, encuentra la IP pública y el puerto SSH, y ejecuta ssh por ti.
SSH manual
Paso 6: Limpieza
Cuando termines, cancela la orden para detener la facturación:
client.cancel_order(order_id=38, issue="He terminado mi trabajo")
print("Orden cancelada")
from clore_ai import CloreAI
import time
client = CloreAI() # Usa la variable de entorno CLORE_API_KEY
# 1. Encontrar la RTX 4090 más barata
servers = client.marketplace(gpu="RTX 4090", max_price_usd=5.0)
servers.sort(key=lambda s: s.price_usd or float("inf"))
if not servers:
print("No hay RTX 4090 disponibles por debajo de $5/h")
exit(1)
best = servers[0]
print(f"Mejor oferta: Servidor {best.id} — ${best.price_usd:.4f}/h — {best.location}")
# 2. Desplegar
order = client.create_order(
server_id=best.id,
image="cloreai/ubuntu22.04-cuda12",
type="on-demand",
currency="bitcoin",
ssh_password="MySecurePass123",
ports={"22": "tcp"}
)
print(f"¡Orden {order.id} creada!")
# 3. Esperar la asignación de IP
for _ in range(12):
orders = client.my_orders()
current = next((o for o in orders if o.id == order.id), None)
if current and current.pub_cluster:
print(f"¡Listo! SSH: ssh root@{current.pub_cluster} -p {current.tcp_ports.get('22', 22)}")
break
print("Esperando a que el servidor inicie...")
time.sleep(10)
# 4. ... haz tu trabajo ...
# 5. Cancela cuando termines
client.cancel_order(order_id=order.id)
print("Orden cancelada, facturación detenida.")