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, meistuserodersystem.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_failedoderpricing_not_configured.provider_candidate_diagnosticsundprovider_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_errorundfailure_sample: bestmögliche Zusammenfassung des ersten Anbieterfehlers, falls die Anfrage einen Anbieter erreicht hat.failed_providers,failed_statusesundattempt_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.categoryprovider_failure_diagnostics.hintprovider_failure_diagnostics.provider
credentials_not_configuredcredentials_invalid_or_forbiddenprovider_access_missingregion_or_project_restrictionmodel_unavailable_for_endpointrate_limitedserver_error
Wenn ein Modell oder Endpunkt nicht verfügbar ist
Bei Antworten mitunsupported_model_or_endpoint kann Phaseo Folgendes zurückgeben:
provider_candidate_diagnosticsprovider_enablementmissing_pricing_providersrouting_diagnostics
- 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
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 wiepricing_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 eindebug-Objekt:
enabledreturn_upstream_requestreturn_upstream_responsetracetrace_level(summaryoderfull)
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.
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_idsowie 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_idan.
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.