Skip to main content
Installiere das veröffentlichte Paket phaseo über PyPI. Das Phaseo-Python-SDK bietet den synchronen Client Phaseo und den nativ asynchronen Client AsyncPhaseo.

Native asynchrone Anfragen

Nutze async for event in client.responses.stream(request) für geparste Textereignisse. Nativer asyncio-Abbruch stoppt HTTP und Polling. Ressourcennamensräume decken Text, Bilder, Audio, Musik, Video, Batches, Dateien, Modelle, Embeddings, OCR, Neusortierung, Parsing, Moderation und Entscheidungen ab; nutze await client.request(...) für andere HTTP-Operationen. Übergebene HTTPX-Clients bleiben im Besitz des Aufrufers. Beide Clients unterstützen with_options(timeout=30, max_retries=2), ohne den Originalclient zu ändern. HTTPX-Fristen begrenzen Netzwerkinaktivität in Sekunden. Wiederholungen sind standardmäßig null und gelten nur für GET/HEAD vor dem Lesen der Antwort, niemals für Einreichungen. PhaseoHTTPError liefert Körper, Code, Anfrage-ID, Dashboard-Trace-URL und Wiederholungsfrist. Ersetze beim Upgrade das Abfangen von urllib.error.HTTPError bei synchronen JSON-Anfragen durch PhaseoHTTPError (oder httpx.HTTPStatusError) und Verbindungsfehler durch httpx.TransportError. error.status ist der HTTP-Status; error.code ist der API-Fehlercode.

Zusätzliche Hilfsfunktionen

Jobressourcen bieten start- und resume-Handles mit result, events und to_dict. Warte auf asynchrone Methoden und iteriere Ereignisse mit async for. Nur Video und Batch unterstützen Remote-Abbruch. Streame Medien mit videos.stream_content(id) und Batches mit batches.results(id). Der synchrone Helfer download_to(chunks, binary_file) schreibt ohne Pufferung der gesamten Datei. Uploads akzeptieren Bytes, Path-Objekte, Dateiobjekte und HTTPX-Dateitupel. responses.parse(request, PydanticModel) validiert abgeschlossene JSON-Ausgaben; setze das Serverantwortformat ausdrücklich. collect_stream und collect_async_stream sammeln geparste Textereignisse und Nutzung. check_model_capabilities(id, input_types=..., output_types=..., endpoints=..., parameters=..., parameter_values=...) prüft angegebene Fähigkeiten und skalare Einschränkungen zusammen für ein verfügbares Anbieterangebot. Unbekannte Fakten lassen die Vorabprüfung scheitern. Nutze für Modellauswahl und Parametereditoren aktuelle Endpunktmetadaten:
Jeder Parameter ist als supported, partial, unsupported oder unknown markiert, mit passenden Anbieterrouten und Einschränkungsproblemen zur direkten Hervorhebung. client.models.capabilities(model_id) liefert die vollständige Endpunktfähigkeits- antwort. AsyncPhaseo stellt dieselben await-fähigen Methoden bereit. Setze für lokale Tests phaseo.testing.MockTransport mit httpx.Client oder httpx.AsyncClient ein. Unerwartete Anfragen scheitern lokal; prüfe mit assert_done(), ob alle Testdaten verwendet wurden. Diese prüfen nicht das Verhalten von Live-Anbietern. Phaseo-Rooms exportieren ausführbaren Code der gesendeten Anfrage über Code abrufen.

Funktionen

  • Typisierte Anfragemodelle, generiert aus der OpenAPI-Spezifikation.
  • Integrierte Hilfsfunktionen für Chat, Responses, Messages, Bilder, Audio, Embeddings, Moderationen, Dateien, Batches, Generierungen und asynchrone Videojobs.
  • Streaming-Hilfsfunktionen für Text, Responses und Messages (stream_*-Iteratoren).
  • Hilfsfunktionen für die Steuerungsebene zum Abrufen von Modellen, Endpunkten und Organisationen, zur Preisermittlung und -berechnung, zum Lebenszyklus von API-Schlüsseln und Workspaces sowie zur Prüfung des aktuellen Schlüssels, des Status, der Anbieter, Guthaben, Aktivitäten und Analysen.

Schnellstart-Beispiel

Auf Musik, Videos oder Batches warten

Nutze videos.generate_and_wait(request, **options) für Videos und batches.create_and_wait(request, **options) für Batches. Die synchronen Helfer senden einmal und liefern die vollständige abgeschlossene Antwort; Polling erfolgt nur bei Bedarf. JobFailedError.response behält Details zu fehlgeschlagenen, abgebrochenen oder abgelaufenen Jobs. Abgeschlossene Batches können fehlgeschlagene Einzelanfragen enthalten. Jede Ressource unterstützt wait(id, **options), um einen bestehenden Job fortzusetzen und jede abschließende Antwort zurückzugeben. Musik bietet auch die direkten Methoden create(request) und retrieve(id). Optionen sind interval (Sekunden; Standard 5, Minimum 0.25), timeout (Sekunden; Standard 1800), on_poll und cancel_event (ein threading.Event). Die Wartefrist beginnt nach Rückkehr der Einreichung. Der synchrone Client prüft Abbruch und Fristen zwischen Anfragen und Callbacks; laufende HTTP-Aufrufe kann er damit nicht unterbrechen. JobTimeoutError und JobCancelledError behalten job_id und last_response. Setze mit .wait(error.job_id) fort. Lokale Fristüberschreitung oder Abbruch beendet den Remote-Job nicht; Einreichungen werden nie automatisch wiederholt. Die Helfer fügen dem Gateway keine Hintergrundausführung hinzu.

”Lieferumfang”

  • Phaseo-Client
  • chat.completions.create(...) and responses.create(...) Kompatibilitätshelfer
  • Ressourcenhelfer wie client.batches, client.videos, client.files, and client.async_jobs
  • WebSocket-URL-Hilfsfunktionen für Lebenszyklus-Streams asynchroner Batch- und Videojobs
  • client.batches.stream_results(batch_id) für JSONL-Bytefragmente von Batches
  • Hilfsfunktionen für den Modelllebenszyklus wie get_model_deprecation_info(...) and validate_model(...)
  • Streaming-Iteratoren für Text, Responses und Messages
  • Generierte Anfrage- und Antwortmodelle in phaseo.models
Zuletzt geändert am 2. Oktober 2026