Eine OpenAI-kompatible API testen
Produktionsleitfaden: Eine OpenAI-kompatible API testen. Enthalten sind ein deterministisches Artefakt, Fehlergrenzen, Rollout-Prüfungen und belegte Einschränkungen.
Produktionsleitfaden: Eine OpenAI-kompatible API testen. Enthalten sind ein deterministisches Artefakt, Fehlergrenzen, Rollout-Prüfungen und belegte Einschränkungen.
Entscheidung zuerst
Eine OpenAI-kompatible API testen ist ein expliziter Produktionsvertrag und keine isolierte Änderung. Erfolg, Endfehler und Rollback müssen vor einer Traffic-Änderung feststehen; das Artefakt trennt Beleg und Annahme.
Beginnen Sie mit text, belegen Sie stream deterministisch und machen Sie errors zum Release-Gate.
Wiederverwendbares Artefakt
Eine Zeile gilt nur, wenn der Beleg aus derselben Anfrage, demselben Testfenster oder derselben Konfigurationsversion stammt.
| Prüfpunkt | Zu erfassender Beleg | Bestanden wenn |
|---|---|---|
text |
non-stream_response,finish_state,empty_and_Unicode_input |
Der Wert bleibt an der Wire-Grenze exakt erhalten. |
stream |
SSE_event_order,terminal_marker,usage_placement,disconnect |
Der Datensatz verbindet logische Anfrage und konkreten Versuch. |
tools |
single_and_parallel_calls,argument_schema,call_correlation |
Der Datensatz verbindet logische Anfrage und konkreten Versuch. |
schema |
valid_object,refusal,truncation,unsupported_keyword |
Die Grenze ist explizit und schlägt geschlossen fehl. |
usage |
input,output,cache_read/write,missing_categories |
Reservierung, Messung und Endwert stimmen im dauerhaften Ledger überein. |
errors |
401,403,429,499,5xx_outer_and_embedded_failures |
Owner, Quelle, Datum und Grenze sind dokumentiert. |
Durchgerechnetes Beispiel
Das Beispiel ist synthetisch und deterministisch. Verwenden Sie geprüfte eigene Werte und niemals Secrets oder Kundendaten.
corpus_version: 1
cases:
- id: text/non_stream_zero_values
request: { stream: false, temperature: 0 }
assert: [http_status, response_shape, explicit_zero_preserved]
- id: stream/disconnect
action: cancel_after_first_content_delta
assert: [client_cancelled, upstream_cancelled, terminal_state_recorded]
- id: tools/two_calls
assert: [stable_call_ids, arguments_validated, results_correlated]
- id: errors/rate_limit
assert: [status_429, retry_after_parsed, attempt_budget_respected]
Umsetzungsverfahren
- Aktuelle Anfrage, Antwort, Konfiguration und Messbasis einfrieren.
- Einen deterministischen Positivfall vollständig erfassen.
- Den passenden Negativ- oder Grenzfall ausführen.
- Alle Versuche über eine logische Request-ID verbinden und Zeit, Endzustand sowie Nutzung ohne sensible Inhalte erfassen.
- Nur in einer begrenzten Kohorte mit Abbruchbedingungen ausrollen.
- Dauerhaften Zustand und öffentliches Verhalten erneut lesen; bei verletzter Invariante zurückrollen.
Fehlermodi
Diese Fehler machen das Ergebnis ungültig, auch wenn der äußere HTTP-Aufruf erfolgreich wirkt:
- Eine Textantwort gilt fälschlich als vollständiger Kompatibilitätsnachweis.
- Ein explizites
0oderfalsegeht beim Serialisieren verloren. - Ein Komfortfeld wird gelesen, typisierte Outputs, Tools, Ablehnungen oder Teilergebnisse gehen verloren.
- Unbegrenzte Retries verstärken die Last.
Modelflare-Grenze
Modelflare bündelt OpenAI-kompatibles Routing, Schlüssel, Gruppen, Nutzung und Fehlerbehandlung. Eine konfigurierte Route beweist jedoch keine optionale Provider-Fähigkeit. Modell und Kanal nativ prüfen, explizite Nullwerte erhalten und nur die dauerhafte Abrechnung als Billing-Wahrheit verwenden.
Die übergeordnete Anleitung beschreibt die Entscheidungsgrenze, die Dokumentation die aktuelle Client-Konfiguration.
Checkliste vor Veröffentlichung
- Kernfrage vor dem Hintergrund beantworten.
- Jedem Feld, Zustand, Messwert und jeder Formel einen Owner geben.
- Nur synthetische Kennungen verwenden.
- Struktur, Code, Grenzen und Hinweise in allen Sprachen erhalten.
- Verträge, Support und Preise an T-1 neu prüfen; bei Änderung verschieben.
- Vor dem Termin aus Public API, Routen und Sitemap ausschließen.
Quellen und Prüfdatum
Quellen geprüft am 2026-08-07; sie beweisen keine ungetestete Route.