Guide du SDK Python

Guide complet du SDK Python — clients sync/async, filtrage de marketplace, cycle de vie des commandes, marché spot, opérations de portefeuille et gestion des erreurs

circle-check

Pour un tutoriel de démarrage rapide avec des exemples réels, voir Clore.ai Python SDK — Automatisez vos flux de travail GPU en 5 minutesarrow-up-right

Installation

pip install clore-ai

Le SDK fournit deux clients :

  • CloreAI — synchrone (plus simple, idéal pour les scripts)

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

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


Sync vs Async — Quand utiliser l’un ou l’autre

Cas d'utilisation
Client
Pourquoi

Scripts simples, tâches ponctuelles

CloreAI

Code plus simple, pas de async/await

Boucles de surveillance

CloreAI

Des vérifications séquentielles suffisent

Requêtes massives au marketplace

AsyncCloreAI

Requêtes concurrentes = plus rapide

Création de commandes en lot

AsyncCloreAI

Créer plusieurs commandes en parallèle

Applications web

AsyncCloreAI

E/S non bloquante

Exemple synchrone

Exemple asynchrone

Gestionnaires de contexte (recommandé)

Les deux clients supportent les gestionnaires de contexte pour le 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: Cooldown de 5 secondes entre les appels

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


Filtrage du marketplace

La marketplace() 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 vous-même les Server objets retournés :

Champs du modèle Server

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

Champ
Type
Description

id

int

ID du serveur (utilisez ceci dans create_order)

gpu_model

str | None

Description du GPU issue des spécifications (propriété)

gpu_count

int

Nombre de GPU issu 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é)

available

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 de tarification complète

rented

bool | None

Indique si le serveur est actuellement loué


Gestion des commandes

Création de commandes

Paramètres create_order complets

Paramètre
Type
Obligatoire
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

Lister les commandes

Champs du modèle Order

Champ
Type
Description

id

int

ID de la commande

server_id

int | None

ID du serveur loué

type

str

"on-demand" ou "spot"

status

str | None

Statut de la commande

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 commandes

Annulation des commandes


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 commandes spot sont 30–50% moins chères mais peuvent être interrompues si quelqu'un vous surenchérit.

Voir les offres spot

Créer une commande spot

Ajuster le prix spot

Stratégie d'enchère spot


Opérations de portefeuille

Vérifier les soldes

Alerte de faible solde


Bonnes pratiques de gestion des erreurs

Hiérarchie des exceptions

Gestion d'erreurs basique

Schéma de retry avec backoff

Le SDK inclut des réessais intégrés pour les limites de débit et les erreurs réseau (max_retries=3). Pour des réessais au niveau de l'application :


Conseils de performance

1. Réutiliser le client

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

3. Création de commandes en lot asynchrone

circle-exclamation

4. Fermer les clients une fois terminé


Exemple complet : Auto-Scale des workers GPU


Prochaines étapes

Mis à jour

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