Python SDK-Anleitung

Vollständige Python-SDK-Anleitung — Sync/Async-Clients, Marktplatz-Filter, Bestelllebenszyklus, Spot-Markt, Wallet-Operationen und Fehlerbehandlung

circle-check

Für ein Schnellstart-Tutorial mit echten Beispielen siehe Clore.ai Python SDK — Automatisieren Sie Ihre GPU-Workflows in 5 Minutenarrow-up-right

Installation

pip install clore-ai

Das SDK stellt zwei Clients bereit:

  • CloreAI — synchron (einfacher, gut für Skripte)

  • AsyncCloreAI — asynchron (schneller für gleichzeitige Vorgänge)

Beide teilen sich die gleichen Methoden und geben dieselben Pydantic-Modelle zurück.


Sync vs Async — Wann welches verwenden

Anwendungsfall
Client
Warum

Einfache Skripte, einmalige Aufgaben

CloreAI

Einfacherer Code, kein async/await

Überwachungs-Schleifen

CloreAI

Sequenzielle Checks funktionieren gut

Massive Marketplace-Abfragen

AsyncCloreAI

Gleichzeitige Anfragen = schneller

Batch-Erstellung von Orders

AsyncCloreAI

Erstellen mehrerer Orders parallel

Webanwendungen

AsyncCloreAI

Nicht-blockierende I/O

Sync-Beispiel

Async-Beispiel

Context-Manager (empfohlen)

Beide Clients unterstützen Context-Manager für automatische Aufräumarbeiten:


Client-Konfiguration

Das SDK enthält einen eingebauten Rate Limiter:

  • Allgemeine Anfragen: 1 Anfrage/Sekunde

  • create_order: 5 Sekunden Cooldown zwischen Aufrufen

  • Rate-Limit-Fehler (Code 5): Automatisches exponentielles Backoff


Marketplace-Filterung

Die marketplace() Methode holt alle verfügbaren Server und filtert clientseitig:

Erweiterte Filterung (clientseitig)

Für Filter, die nicht in die Methode integriert sind, filtern Sie die zurückgegebenen Server Objekte selbst:

Server-Modell-Felder

Jedes MarketplaceServer Objekt hat diese Attribute und Hilfseigenschaften:

Feld
Typ
Beschreibung

id

int

Server-ID (verwenden Sie dies in create_order)

gpu_model

str | None

GPU-Beschreibung aus den Spezifikationen (Eigenschaft)

gpu_count

int

Anzahl der GPUs aus gpu_array (Eigenschaft)

ram_gb

float | None

Systems-RAM in GB (Eigenschaft, aus specs.ram)

price_usd

float | None

On-Demand-Preis in USD (Eigenschaft, aus price.usd.on_demand_usd)

spot_price_usd

float | None

Spot-Preis in USD (Eigenschaft)

available

bool

Ob der Server nicht vermietet ist (Eigenschaft)

location

str | None

Ländercode aus den Netzwerk-Spezifikationen (Eigenschaft)

specs

ServerSpecs | None

Hardware-Spezifikationen (CPU, RAM, Festplatte, GPU, Netzwerk)

price

ServerPrice | None

Vollständige Preisstruktur

rented

bool | None

Ob der Server derzeit vermietet ist


Auftragsverwaltung

Orders erstellen

Vollständige create_order Parameter

Parameter
Typ
Erforderlich
Beschreibung

server_id

int

Server, der gemietet werden soll

image

str

Docker-Image

type

str

"on-demand" oder "spot"

currency

str

Zahlungswährung (z. B., "bitcoin")

ssh_password

str

SSH-Passwort

ssh_key

str

SSH-Public-Key

ports

dict

Port-Mappings ({"22": "tcp"})

env

dict

Umgebungsvariablen

jupyter_token

str

Jupyter-Notebook-Token

command

str

Startbefehl

spot_price

float

Spot-Gebotspreis

required_price

float

Erforderlicher Preis

autossh_entrypoint

str

Auto-SSH-Einstiegspunkt

Auflistung von Orders

Order-Modell-Felder

Feld
Typ
Beschreibung

id

int

Order-ID

server_id

int | None

Gemietete Server-ID

type

str

"on-demand" oder "spot"

status

str | None

Order-Status

image

str | None

Docker-Image

currency

str | None

Zahlungswährung

price

float | None

Preis

pub_cluster

str | None

Öffentliche IP / Hostname

tcp_ports

dict | None

Port-Mappings (z. B., {"22": 50022})

created_at

str | None

Erstellungszeitstempel

Monitoring von Orders

Stornierung von Orders


Server-Verwaltung (für Hoster)

Wenn Sie GPUs bei Clore hosten, ermöglicht das SDK Ihnen, Ihre Server zu verwalten:

Ihre Server auflisten

Server-Konfiguration abrufen

Server-Einstellungen aktualisieren


Spot-Markt

Spot-Orders sind 30–50% günstiger, können jedoch unterbrochen werden, wenn jemand Sie überbietet.

Spot-Angebote anzeigen

Eine Spot-Order erstellen

Spot-Preis anpassen

Spot-Gebotsstrategie


Wallet-Operationen

Kontostände prüfen

Niedriger Kontostand - Alarm


Beste Praktiken zur Fehlerbehandlung

Ausnahme-Hierarchie

Grundlegende Fehlerbehandlung

Retry-Muster mit Backoff

Das SDK verfügt über eingebaute Wiederholungsversuche für Rate-Limits und Netzwerkfehler (max_retries=3). Für Anwendungs-Levels-Wiederholungen:


Performance-Tipps

1. Den Client wiederverwenden

2. Verwenden Sie Async für gleichzeitige Vorgänge

3. Asynchrone Batch-Erstellung von Orders

circle-exclamation

4. Clients nach Gebrauch schließen


Vollständiges Beispiel: Auto-Scaling von GPU-Workern


Nächste Schritte

Zuletzt aktualisiert

War das hilfreich?