Guide CLI & SDK

Aperçu

Clore.ai fournit un API REST qui permet un accès programmatique complet au marché des GPU — lister les serveurs, créer des commandes, surveiller les déploiements et annuler les locations.

Remarque : Il n'existe pas de binaire CLI officiel pour le moment. Toute automatisation se fait directement via l'API REST en utilisant des outils comme curl, Python ou Node.js.

URL de base : https://api.clore.ai/v1

Format de réponse : JSON. Chaque réponse inclut un code champ indiquant le statut.


Authentification

Générez votre clé API depuis le Tableau de bord Clore.aiarrow-up-right:

  1. Connectez-vous à votre compte

  2. Accédez à API section dans les paramètres

  3. Générez et copiez votre clé API

Format de l'en-tête :

auth: VOTRE_CLE_API

⚠️ Important : L'en-tête auth est auth, pas Authorization: Bearer. L'utilisation du mauvais format retournera le code 3 (Jeton API invalide).

Exemple :

curl -H 'auth: VOTRE_CLE_API' 'https://api.clore.ai/v1/marketplace'

Démarrage rapide

Lister les serveurs du marché

Parcourez tous les serveurs GPU disponibles :

Réponse :


Récupérer vos commandes

Inclure les commandes terminées/expirées :


Créer une commande (à la demande)

Réponse :


Créer une commande Spot

Les commandes Spot sont moins chères mais peuvent être surenchéries. Vous fixez votre prix par jour :


Vérifier le statut d'une commande

Les commandes actives incluent pub_cluster (noms d'hôtes) et tcp_ports pour l'accès SSH :

Se connecter en SSH à votre serveur loué :


Annuler une commande

Signaler éventuellement un problème avec le serveur :


SDK Python

Une couche légère utilisant la bibliothèque requests Installez-la avec :

Classe CloreClient

Exemple complet fonctionnel


Exemple Node.js

Utilisation de la fetch API (Node.js 18+) :


Flux de travail courants

Trouver le RTX 4090 le moins cher et le louer


Surveiller mes commandes


Location automatique lorsque le prix descend en dessous de X


WebSocket

L'API REST de Clore.ai n'expose pas actuellement de point de terminaison WebSocket. Pour la surveillance en temps réel, utilisez le sondage avec un intervalle raisonnable (voir les limites de fréquence ci-dessous).


Limites de fréquence

Point de terminaison
Limite

La plupart des points de terminaison

1 requête/seconde

create_order

1 requête/5 secondes

set_spot_price (réduction de prix)

Une fois toutes les 600 secondes

Réponse de limitation de fréquence (code 5) :

Bonnes pratiques :

  • Ajouter time.sleep(1) entre des appels API consécutifs

  • Pour create_order, attendez au moins 5 secondes entre les requêtes

  • Utilisez des intervalles de sondage de 60+ secondes pour les boucles de surveillance

  • Mettez en cache les données du marché localement si vous devez les interroger fréquemment

Assistant Python :


Gestion des erreurs

Chaque réponse API inclut un code champ. Une valeur de 0 signifie succès.

Codes d'erreur

Code
Signification
Action

0

Succès

1

Erreur de base de données

Réessayer après un délai

2

Données d'entrée invalides

Vérifiez le corps/les paramètres de votre requête

3

Jeton API invalide

Vérifiez votre clé API dans le tableau de bord

4

Point de terminaison invalide

Vérifiez l'URL du point de terminaison

5

Limite de fréquence dépassée (1 req/sec)

Ajoutez des délais entre les requêtes

6

Erreur d'application (voir erreur champ)

Lisez le erreur champ pour des détails

Sous-erreurs du code 6

erreur valeur

Signification

exceeded_max_step

Réduction du prix spot trop importante ; vérifiez max_step champ

can_lower_every_600_seconds

Vous devez attendre avant de baisser à nouveau le prix spot ; vérifiez time_to_lowering

Exemple de gestion d'erreur en Python

Exemple de gestion d'erreur en JavaScript


Images Docker disponibles

Clore.ai fournit des images préconstruites optimisées pour les charges GPU :

Image
Description

cloreai/ubuntu20.04-jupyter

Ubuntu 20.04 + JupyterLab

cloreai/ubuntu22.04-jupyter

Ubuntu 22.04 + JupyterLab

Vous pouvez également utiliser n'importe quelle image publique de Docker Hub. Pour l'accès GPU, utilisez des images compatibles CUDA, par ex :


Transfert de ports

Lors de la création d'une commande, spécifiez les ports à exposer :

  • "tcp" — Transfert de port TCP direct (pour SSH, serveurs personnalisés)

  • "http" — Proxy HTTPS (pour Jupyter, interfaces web). Un seul port HTTP autorisé par http_port champ.

Après la création de la commande, les détails de connexion apparaissent dans my_orders:

Se connecter via SSH :

Accéder à Jupyter via le navigateur : https://n1.c1.clorecloud.net (utilise le http_port)

Mis à jour

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