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

Guide du SDK Python

Guide complet du SDK Python — clients synchrones/asynchrones, filtrage de la place de marché, cycle de vie des commandes, marché spot, opérations de portefeuille et gestion des erreurs

Pour un tutoriel de démarrage rapide avec des exemples concrets, voir Clore.ai Python SDK — Automatisez vos workflows GPU en 5 minutes

Installation

pip install clore-ai

Le SDK fournit deux clients :

  • CloreAI — synchrone (plus simple, adapté aux scripts)

  • AsyncCloreAI — asynchrone (plus rapide pour les opérations concurrentes)

Les deux partagent les mêmes méthodes et renvoient les mêmes modèles Pydantic.


Synchrone vs asynchrone — quand utiliser chacun

Cas d’utilisation
Client
Pourquoi

Scripts simples, tâches ponctuelles

CloreAI

Code plus simple, pas de async/await

Boucles de surveillance

CloreAI

Les vérifications séquentielles fonctionnent très bien

Requêtes groupées sur la place de marché

AsyncCloreAI

Requêtes concurrentes = plus rapide

Création d’ordres en lot

AsyncCloreAI

Créer plusieurs ordres en parallèle

Applications web

AsyncCloreAI

E/S non bloquantes

Exemple synchrone

Exemple asynchrone

Gestionnaires de contexte (recommandé)

Les deux clients prennent en charge les gestionnaires de contexte pour un nettoyage automatique :


Configuration du client

Le SDK inclut un limiteur de débit intégré :

  • Requêtes générales : 1 requête/seconde

  • create_order: délai de 5 secondes entre les appels

  • Erreurs de limitation de débit (code 5) : Backoff exponentiel automatique


Filtrage de la place de marché

Le marketplace() la méthode récupère tous les serveurs disponibles et filtre côté client :

Filtrage avancé (côté client)

Pour les filtres non intégrés à la méthode, filtrez les Server objets renvoyés vous-même :

Champs du modèle de serveur

Chaque MarketplaceServer objet possède ces attributs et propriétés pratiques :

Champ
Type
Description

id

int

ID du serveur (utilisez-le dans create_order)

gpu_model

str | None

Description du GPU d’après les spécifications (propriété)

gpu_count

int

Nombre de GPU provenant de gpu_array (propriété)

ram_gb

float | None

RAM système en Go (propriété, depuis specs.ram)

price_usd

float | None

Prix à la demande en USD (propriété, depuis price.usd.on_demand_usd)

spot_price_usd

float | None

Prix spot en USD (propriété)

disponibles

bool

Indique si le serveur n’est pas loué (propriété)

location

str | None

Code pays issu des spécifications réseau (propriété)

specs

ServerSpecs | None

Spécifications matérielles (cpu, ram, disque, gpu, réseau)

price

ServerPrice | None

Structure tarifaire complète

rented

bool | None

Indique si le serveur est actuellement loué


Gestion des ordres

Création d’ordres

Complet create_order Paramètres

Paramètre
Type
Requis
Description

server_id

int

✅

Serveur à louer

image

str

✅

Image Docker

type

str

✅

"on-demand" ou "spot"

currency

str

✅

Devise de paiement (par ex. "bitcoin")

ssh_password

str

—

Mot de passe SSH

ssh_key

str

—

Clé publique SSH

ports

dict

—

Mappages de ports ({"22": "tcp"})

env

dict

—

Variables d’environnement

jupyter_token

str

—

Jeton du notebook Jupyter

command

str

—

Commande de démarrage

spot_price

float

—

Prix d’enchère spot

required_price

float

—

Prix requis

autossh_entrypoint

str

—

Point d’entrée Auto SSH

Liste des ordres

Champs du modèle d’ordre

Champ
Type
Description

id

int

ID de l’ordre

server_id

int | None

ID du serveur loué

type

str

"on-demand" ou "spot"

status

str | None

Statut de l’ordre

image

str | None

Image Docker

currency

str | None

Devise de paiement

price

float | None

Prix

pub_cluster

str | None

IP publique / nom d’hôte

tcp_ports

dict | None

Mappages de ports (par ex. {"22": 50022})

created_at

str | None

Horodatage de création

Surveillance des ordres

Annulation des ordres


Gestion des serveurs (pour les hébergeurs)

Si vous hébergez des GPU sur Clore, le SDK vous permet de gérer vos serveurs :

Lister vos serveurs

Obtenir la configuration du serveur

Mettre à jour les paramètres du serveur


Marché spot

Les ordres spot peuvent être interrompus si quelqu’un surenchérit sur vous. Environ un tiers des serveurs affichent un prix spot inférieur au prix à la demande (médiane ~13 % de moins) ; les autres affichent le spot au prix à la demande.

Voir les offres spot

Créer un ordre spot

Ajuster le prix spot

Stratégie d’enchère spot


Opérations sur les portefeuilles

Vérifier les soldes

Alerte de solde faible


Bonnes pratiques de gestion des erreurs

Hiérarchie des exceptions

Gestion des erreurs de base

Modèle de nouvelle tentative avec backoff

Le SDK intègre des tentatives automatiques pour les limites de débit et les erreurs réseau (max_retries=3). Pour les tentatives au niveau de l'application :


Conseils de performance

1. Réutiliser le client

2. Utiliser l'asynchrone pour les opérations concurrentes

3. Création asynchrone de lots de commandes

4. Fermer les clients une fois terminé


Exemple complet : mise à l'échelle automatique des workers GPU


Étapes suivantes

Mis à jour

Ce contenu vous a-t-il été utile ?