Skip to main content
Auf dieser Seite erfahren Sie, was ein Phaseo-Fehler bedeutet und was als Nächstes zu tun ist. Alle Fehlerantworten verwenden dasselbe JSON-Format. So kann Ihre Anwendung Fehler bei allen Modellen und Anbietern einheitlich behandeln.

Beispiel einer Fehlerantwort

Felder, die immer zurückgegeben werden

  • generation_id: stabile Anfrage-ID, die Sie an den Support weitergeben können.
  • status_code: entspricht dem HTTP-Statuscode.
  • error: maschinenlesbarer Fehlercode, z. B. validation_error.
  • error_type: allgemeine Klasse, meist user oder system.
  • error_origin: gibt an, ob das Problem hauptsächlich durch den Aufrufer, Phaseo oder einen Upstream-Anbieter verursacht wurde.
  • description: verständliche Erklärung des Fehlers.
  • details (optional): strukturierte Validierungsdetails bei einem Fehler in der Anfragevalidierung.

Weitere mögliche Felder

Einige Fehler enthalten zusätzliche Informationen, die bei der schnelleren Behebung helfen:
  • reason: genauerer Untergrund, z. B. all_candidates_failed oder pricing_not_configured.
  • provider_candidate_diagnostics und provider_enablement: erklären, warum ein Modell für den angeforderten Endpunkt nicht verwendet werden konnte.
  • routing_diagnostics: zusätzliche Angaben dazu, wie Routing- oder Verfügbarkeitsprüfungen die Anfrageauswahl eingeschränkt haben.
  • provider_failure_diagnostics: Hinweise zu fehlenden Zugangsdaten, Zugriffsproblemen, regionalen Einschränkungen, Ratenbegrenzungen und ähnlichen Anbieterfehlern.
  • upstream_error und failure_sample: bestmögliche Zusammenfassung des ersten Anbieterfehlers, falls die Anfrage einen Anbieter erreicht hat.
  • failed_providers, failed_statuses und attempt_count: zusätzlicher Kontext zu Wiederholungsversuchen und Failover.

Bedeutung der Statusklassen

Häufige Fehlercodes

Wenn ein Anbieter ausfällt

Wenn Phaseo einen Anbieter erreicht hat, die Anfrage aber trotzdem fehlgeschlagen ist, sehen Sie möglicherweise:
  • provider_failure_diagnostics.category
  • provider_failure_diagnostics.hint
  • provider_failure_diagnostics.provider
Aktuelle Kategorien:
  • credentials_not_configured
  • credentials_invalid_or_forbidden
  • provider_access_missing
  • region_or_project_restriction
  • model_unavailable_for_endpoint
  • rate_limited
  • server_error
Diese Felder sollen bei der Behebung helfen, ohne den vollständigen Debug-Modus einzuschalten.

Wenn ein Modell oder Endpunkt nicht verfügbar ist

Bei Antworten mit unsupported_model_or_endpoint kann Phaseo Folgendes zurückgeben:
  • provider_candidate_diagnostics
  • provider_enablement
  • missing_pricing_providers
  • routing_diagnostics
So können Sie unterscheiden zwischen:
  • einem bekannten Modell, das noch nicht aktiv ist
  • einem Modell, das den angeforderten Endpunkt nicht unterstützt
  • fehlenden Preisdaten
  • Einschränkungen beim Rollout oder bei der internen Verfügbarkeit
Häufige Felder:
  • provider_candidate_diagnostics.totalProviders: Anzahl der für das Modell bekannten Anbieter vor der Endpunktfilterung.
  • provider_candidate_diagnostics.supportsEndpointCount: Anzahl der Anbieter, die den angeforderten Endpunkt unterstützen.
  • provider_candidate_diagnostics.candidateCount: Anzahl der nach den Adapterprüfungen verbliebenen Anbieter.
  • provider_candidate_diagnostics.droppedUnsupportedEndpoint: Anbieter, die wegen fehlender Unterstützung des Endpunkts entfernt wurden.
  • provider_candidate_diagnostics.droppedMissingAdapter: Anbieter-/Endpunktpaare, die entfernt wurden, weil es noch keinen Gateway-Adapter für diesen Endpunkt gibt.
  • provider_enablement.capability: geprüfte Fähigkeit, z. B. video_generation.
  • provider_enablement.providersBefore / provider_enablement.providersAfter: Anbieter vor und nach der Filterung nach Fähigkeit oder Freigabe.
  • provider_enablement.dropped[].reason: maschinenlesbare Gründe wie pricing_missing.
  • routing_diagnostics.filterStages[].stage: Routing-Phase, z. B. Filterung nach Fähigkeit, Rollout oder Routing-Status.
  • routing_diagnostics.filterStages[].beforeCount / routing_diagnostics.filterStages[].afterCount: Anzahl der Anbieter vor und nach jeder Phase.
  • routing_diagnostics.filterStages[].droppedProviders[].reason: maschinenlesbare Gründe wie Rollout- oder Routing-Einschränkungen.

Beispiel

Optionaler Debug-Modus

Die meisten Anfrage-Schemas unterstützen für kontrollierte Fehlersuche ein debug-Objekt:
Verfügbare Felder:
  • enabled
  • return_upstream_request
  • return_upstream_response
  • trace
  • trace_level (summary oder full)
Verwenden Sie den Debug-Modus nur in der Entwicklung oder in streng kontrollierten Umgebungen.

Wiederholungsstrategie

  • 400er-Fehler außer 429: Korrigieren Sie die Anfrage, Zugangsdaten oder Zugriffsrichtlinie vor einem erneuten Versuch.
  • 429: Verwenden Sie exponentielles Backoff und beachten Sie den Retry-After-Header.
  • 500er-Fehler: Verwenden Sie begrenzte Wiederholungsversuche nur, wenn die Wiederholung sicher ist. Eine Übermittlung mit unklarem Ergebnis kann bereits einen Job erstellt oder Kosten verursacht haben; rufen Sie einen angenommenen Job ab, statt ihn erneut zu übermitteln.
Legen Sie eine maximale Anzahl von Versuchen und eine Gesamtfrist fest und ergänzen Sie die Backoff-Wartezeiten um zufällige Streuung. Informationen zu Antwort-Headern und Wiederholungsversuchen finden Sie unter Anfragelimits.

Hinweise speziell für Streaming

  • Schlägt die Anfrage vor Beginn des Streamings fehl, erhalten Sie eine standardmäßige JSON-Fehlerantwort.
  • Schlägt sie während des Streams fehl, behandeln Sie den Teilstream als unvollständig und bieten Sie einen erneuten Versuch an.
  • Protokollieren Sie immer generation_id sowie Endpunkt- und Modellmetadaten.

Tipps zur Fehlerbehebung

  • Prüfen Sie auf der Gateway-Statusseite, ob gerade eine Störung vorliegt.
  • Vergleichen Sie den Anfrage-Body mit der Endpunktdokumentation.
  • Geben Sie bei einer Supportanfrage die generation_id an.

Zugehörige Ressourcen

Authentifizierung

Authentifizieren Sie sich mit Bearer-API-Schlüsseln.

Limits

Behandeln Sie anbietergesteuerte Drosselungen und Wiederholungen.

Streaming

Verwenden Sie SSE sicher in Produktionsabläufen.
Zuletzt geändert am 2. Oktober 2026