JEV KENNENLERNEN
Ein System-One-Modell für Software
Klassische LLMs erzeugen vor allem Text für Menschen. Jev konzentriert sich auf Entscheidungen, die Software direkt verarbeiten kann: Sende einen Kontext und typisierte Fragen und erhalte strukturierte Ergebnisse, anhand derer dein Code verzweigen, sortieren und weiterleiten kann.
Typisierte Ergebnisse
Parallele Entscheidungen
Wahrscheinlichkeit und Konfidenz
SCHNELLSTART
Eine Entscheidung in der Spielwiese prüfen
Die Spielwiese ist der schnellste Weg, Jevs Eingaben und Ausgaben kennenzulernen. Sobald die Frage passt, erstelle einen API-Schlüssel und verbinde sie mit deinem Produkt.
- 1
Spielwiese öffnen
Melde dich an, öffne die Jev-KI-Spielwiese und gib einen realen Geschäftskontext ein.
- 2
Kontext vorbereiten
Nutze Text, ein JSON-Objekt oder ein Textarray, um den benötigten Entscheidungskontext bereitzustellen.
- 3
Fragen hinzufügen
Wähle Choice, Score oder Noul. Du kannst alle drei Typen in einer Anfrage kombinieren.
- 4
Code verbinden
Erstelle einen API-Schlüssel in deinem Arbeitsbereich und rufe den Produktiv-Endpunkt per SDK oder REST auf.
EINGABE
Gib dem Kontext die nötigen Informationen für die Entscheidung
Der Kontext ist der Inhalt, den jede Frage auswertet. Nutze für einfache Fälle eine Zeichenfolge und ein JSON-Objekt, wenn Ticket, Bestellung und Richtlinie gemeinsam berücksichtigt werden müssen.
textNatürliche Sprache, ein Ticket oder eine Nachricht
objectStrukturierte Datensätze und verschachtelte Felder
arrayKontext aus mehreren Textelementen
Aktuelle Eingabegrenze: Jev akzeptiert Text, JSON-Objekte und Textarrays. Bilder, Audio und Video werden noch nicht unterstützt.
FRAGETYPEN
Entscheidungen aus präzisen Fragen zusammensetzen
Jede Frage sollte eine konkrete, klar eingegrenzte Sache abfragen. Mehrere Fragen werden parallel anhand desselben Kontexts ausgewertet – einzelne Aufrufe müssen dafür nicht verkettet werden.
Gemeinsame Felder und Struktur
Eine Frage hat einen von drei Typen. Alle Typen enthalten type und instructions; criteria hängt vom Typ ab. instructions kann eine Zeichenfolge, ein Objekt oder ein Array sein. Wenn eine Frage zusätzlichen Kontext braucht, lege Frage und Daten strukturiert ab und verweise anhand der Feldnamen darauf.
typeErforderlich: noul, choice oder score.
instructionsErforderlich: eine Zeichenfolge, ein Objekt oder Array, das die Entscheidung beschreibt.
criteriaTypspezifisch: optionales Objekt für Noul, erforderliche Zuordnung für Choice, erforderliches Array für Score.
{
"type": "noul",
"instructions": "Does this message convey urgency?",
"criteria": {
"true": "Explicitly needs immediate attention",
"false": "No urgency expressed"
}
}Strukturierte Anweisungen helfen bei längeren Fragen oder wenn zusätzliche Daten referenziert werden: Lege die Frage in einem Feld und den Kontext in den übrigen Feldern ab und verweise anhand der Namen darauf.
"instructions": {
"potential_duplicate": {
"name": "John Smith",
"location": "Oakland, California",
"last_employer": "Google"
},
"question": "Is the resume for the same person as `potential_duplicate`?"
}Choice
Nutze Choice, um eine Antwort aus vorgegebenen Optionen auszuwählen. type muss choice sein, instructions beschreibt die Entscheidung und criteria ordnet Optionen Beschreibungen zu. Choice unterstützt bis zu 255 Optionen; jede Beschreibung kann eine Zeichenfolge, ein Objekt, ein Array oder null sein.
{
"state": "Help! My payouts have been failing for 3 days.",
"model": "typesafe/jev-1.14",
"questions": {
"department": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {
"billing": "Payments, invoicing, refunds",
"technical": "Bugs, outages, integrations",
"sales": "Pricing, upgrades, new accounts"
}
}
}
}Score
Nutze Score für beschreibende Stufen auf einer Skala, etwa Schweregrad oder Zufriedenheit. type muss score sein; instructions beschreibt die Bewertung und criteria ist ein aufsteigendes Array mit 2 bis 10 Stufen. Einträge können Zeichenfolgen, Objekte oder Arrays sein. Der zurückgegebene Score ist wahrscheinlichkeitsgewichtet und kann zwischen Stufen liegen.
{
"state": "Help! My payouts have been failing for 3 days.",
"model": "typesafe/jev-1.14",
"questions": {
"frustration": {
"type": "score",
"instructions": "How frustrated is the customer?",
"criteria": [
"Calm",
"Frustrated",
"Very angry"
]
}
}
}Noul
Nutze Noul für eine Ja-Nein-Bewertung. type muss noul sein und instructions enthält die zu prüfende Frage. criteria ist optional und beschreibt mit true und false, was Ja und Nein bedeuten; die Werte können Zeichenfolgen, Objekte oder Arrays sein. Noul gibt die Wahrscheinlichkeit für Ja an und ist kein zusätzliches Konfidenzfeld.
{
"state": "Help! My payouts have been failing for 3 days.",
"model": "typesafe/jev-1.14",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Does this convey urgency?",
"criteria": {
"true": "Explicitly time-sensitive",
"false": "No urgency expressed"
}
}
}
}AUSGABE
Was die Antwort deinem Code liefert
Antworten, Nutzung und elapsedMs stehen in data.result. data.creditsUsed enthält die für eine API-Schlüssel-Anfrage berechneten Credits. Die Antworten verwenden dieselben Frage-IDs wie die Anfrage.
- answers: Choice liefert die ausgewählte Option, Wahrscheinlichkeiten und Konfidenz; Score liefert Score, Legende, Wahrscheinlichkeiten pro Stufe und Konfidenz; Noul liefert den Noul-Wert.
- usage: Enthält input_tokens und output_tokens.
- elapsedMs: Zeit von der Anfrage bis zum Ergebnis, einschließlich Validierung – nicht nur die reine Modellinferenz.
Wahrscheinlichkeit und Konfidenz sind Signale für Automatisierung, keine Garantie für geschäftliche Genauigkeit. Nutze bei risikoreichen Aktionen höhere Schwellen oder eine menschliche Prüfung.
Antwortfelder
data.result.answersEine Antwort pro Frage, zugeordnet über dieselben Frage-IDs wie in der Anfrage.data.result.usageEnthält input_tokens und output_tokens.data.result.elapsedMsZusätzliche Anfragezeit dieses Projekts in Millisekunden.data.creditsUsedBerechnete Credits einer API-Schlüssel-Anfrage; bei kostenlosen Spielwiesen-Anfragen nicht enthalten.Antwortbeispiel
{
"code": 0,
"message": "ok",
"data": {
"result": {
"answers": {
"is_urgent": {
"type": "noul",
"noul": 0.95
}
},
"usage": {
"input_tokens": 296,
"output_tokens": 20
},
"elapsedMs": 200
},
"creditsUsed": 1
}
}Antworttypen
Jede Antwort hat denselben Typ wie die zugehörige Frage. Choice- und Score-Antworten enthalten außerdem eine Konfidenz von 0 bis 1, abgeleitet aus der Wahrscheinlichkeitsverteilung.
Choice
Liefert die Option mit der höchsten Wahrscheinlichkeit, Wahrscheinlichkeiten für alle Optionen und die daraus abgeleitete Konfidenz.
typeErforderlich; der Wert ist choice.
choiceErforderliche Zeichenfolge; die Option mit der höchsten Wahrscheinlichkeit.
probabilitiesErforderliche Zuordnung aus Zeichenfolgen zu Zahlen; die Wahrscheinlichkeiten aller Optionen ergeben zusammen 1.
confidenceErforderliche Zahl; Sicherheit, abgeleitet aus der Wahrscheinlichkeitsverteilung.
{
"code": 0,
"message": "ok",
"data": {
"result": {
"answers": {
"department": {
"type": "choice",
"choice": "billing",
"probabilities": {
"billing": 0.88,
"technical": 0.12,
"sales": 0
},
"confidence": 0.81
}
},
"usage": {
"input_tokens": 318,
"output_tokens": 34
},
"elapsedMs": 200
},
"creditsUsed": 1
}
}Score
Liefert einen wahrscheinlichkeitsgewichteten Score, eine Legende für jede Stufe, Wahrscheinlichkeiten pro Stufe und die Konfidenz. Der Score kann zwischen Stufen liegen.
typeErforderlich; der Wert ist score.
scoreErforderliche Zahl; der wahrscheinlichkeitsgewichtete Score über alle Stufen.
legendErforderliche Zuordnung von Zeichenfolgen zu Zeichenfolgen; verbindet jede Stufennummer mit ihrer Beschreibung.
probabilitiesErforderliche Zuordnung von Zeichenfolgen zu Zahlen; jede Stufe und ihre Wahrscheinlichkeit ergeben zusammen 1.
confidenceErforderliche Zahl; Sicherheit, abgeleitet aus der Wahrscheinlichkeitsverteilung.
{
"code": 0,
"message": "ok",
"data": {
"result": {
"answers": {
"frustration": {
"type": "score",
"score": 1.05,
"legend": {
"0": "Calm",
"1": "Frustrated",
"2": "Very angry"
},
"probabilities": {
"0": 0,
"1": 0.95,
"2": 0.05
},
"confidence": 0.92
}
},
"usage": {
"input_tokens": 304,
"output_tokens": 18
},
"elapsedMs": 200
},
"creditsUsed": 1
}
}Noul
Liefert Noul auf einer Skala von 0 bis 1 – die Wahrscheinlichkeit, dass die Antwort Ja lautet.
typeErforderlich; der Wert ist noul.
noulErforderliche Zahl; 0 bedeutet Nein und 1 bedeutet Ja.
{
"code": 0,
"message": "ok",
"data": {
"result": {
"answers": {
"is_urgent": {
"type": "noul",
"noul": 0.95
}
},
"usage": {
"input_tokens": 307,
"output_tokens": 20
},
"elapsedMs": 200
},
"creditsUsed": 1
}
}Nutzungsfelder
input_tokensinteger · Anzahl der von der Anfrage verwendeten Eingabetokens.
output_tokensinteger · Anzahl der von der Anfrage generierten Ausgabetokens.
API-REFERENZ
Kontext auswerten und strukturierte Antworten zurückgeben
Vollständige HTTP-API-Referenz: Werte einen Kontext anhand typisierter Fragen aus und erhalte für jede Frage eine strukturierte Antwort.
Auswertungs-Endpunkt
Sende bei jeder Anfrage einen Authorization-Bearer-API-Schlüssel und den Content-Type application/json.
Authorization: Bearer <API_KEY>
Content-Type: application/jsonAnfragekörper
Jede Anfrage benötigt die folgenden drei Felder auf oberster Ebene. questions ist eine Zuordnung mit frei gewählten Schlüsseln, die in der Antwort wiederverwendet werden.
statestring | object | array · erforderlich: der auszuwertende Text oder strukturierte Kontext.modelstring · erforderlich: das Modell für die Anfrage. Verwende eine unten aufgeführte decisions-Modell-ID; das Standardbeispiel nutzt typesafe/jev-1.14.questionsmap<string, Question> · erforderlich: die parallel auszuwertenden Fragen.Du wählst jeden Schlüssel in questions; die passende Antwort kommt unter derselben ID zurück. Der Schlüssel wird nicht an das zugrunde liegende Modell gesendet und nicht für die Inferenz verwendet.
Anfragebeispiel
curl -X POST https://thejevai.com/v1/systemone \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "typesafe/jev-1.14",
"state": "Help! My payouts have been failing for 3 days.",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Does this convey urgency?"
}
}
}'Beispiel für den Anfragekörper
{
"state": "Help! My payouts have been failing for 3 days.",
"model": "typesafe/jev-1.14",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Does this convey urgency?"
}
}
}Speichere deinen API-Schlüssel in einer serverseitigen Umgebungsvariablen. Füge ihn niemals in Browser-Code ein und committe ihn nicht in dein Repository. Diese Seite enthält Anfragefelder, Fragetypen, Antwortstruktur, Fehlercodes und Wiederholungsverhalten.
Verfügbare Modelle
Jedes Entscheidungsmodell über eine Schnittstelle aufrufen
Spielwiese und API unterstützen 23 OpenRouter-Entscheidungsmodell-IDs, einschließlich fester Versionen und latest-Aliase. Die Anfrageform bleibt gleich; nur das Modellfeld ändert sich.
latest-Aliase benötigen das führende ~ und folgen automatisch der neuesten Version des Anbieters. Verwende eine Modell-ID mit Versionsnummer, wenn du eine feste Version brauchst. Bestehende Anfragen mit typesafe/jev-1.13 bleiben unterstützt.
Allgemeine Vorlage
Kopiere diese serverseitige Anfrage und ersetze <MODEL_ID> durch die gewünschte Modell-ID. state, questions und Authorization bleiben unverändert.
curl -X POST https://thejevai.com/v1/systemone \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "<MODEL_ID>",
"state": "Replace this with your business state.",
"questions": {
"decision": {
"type": "choice",
"instructions": "Choose the most appropriate result.",
"criteria": {
"option_a": "Option A",
"option_b": "Option B"
}
}
}
}'Jev 1.14
typesafe/jev-1.14Modellseite öffnenTypeSafes aktualisiertes Entscheidungsmodell für typisierte Auswahl, Bewertungen und Ja/Nein-Urteile. Die Spielwiese verwendet standardmäßig die feste Version typesafe/jev-1.14.
"model": "typesafe/jev-1.14"Jev 1.13
typesafe/jev-1.13Modellseite öffnenDie vorherige Jev-Version bleibt als typesafe/jev-1.13 für bestehende Integrationen und Versionsvergleiche verfügbar.
"model": "typesafe/jev-1.13"Jev Latest
~typesafe/jev-latestModellseite öffnenOpenRouters automatisch aktualisierter Jev-Alias. Verwende ~typesafe/jev-latest einschließlich des führenden ~. Am 15. Oktober 2026 verweist er auf Jev 1.14; das Ziel kann sich ändern.
"model": "~typesafe/jev-latest"Cloudflare Clef
cloudflare/clefModellseite öffnenCloudflares Clef-Entscheidungsmodell. Setze model auf cloudflare/clef.
"model": "cloudflare/clef"Cloudflare Clef Flash
cloudflare/clef-flashModellseite öffnenCloudflares Clef-Flash-Entscheidungsmodell. Setze model auf cloudflare/clef-flash.
"model": "cloudflare/clef-flash"Perplexity Decider V1.1 27B
perplexity/pplx-decider-v1.1-27bModellseite öffnenPerplexitys V1.1-Checkpoint für typisierte Klassifikation, Routing, Moderation und kriterienbasierte Bewertung.
"model": "perplexity/pplx-decider-v1.1-27b"Perplexity Decider Latest
~perplexity/pplx-decider-latestModellseite öffnenOpenRouters automatisch aktualisierter Decider-Alias. Verwende ~perplexity/pplx-decider-latest einschließlich des führenden ~. Am 15. Oktober 2026 verweist er auf V1.1 27B; das Ziel kann sich ändern.
"model": "~perplexity/pplx-decider-latest"LiquidAI D1
liquid/d1Modellseite öffnenDas Entscheidungsmodell von LiquidAI. Setze model auf liquid/d1.
"model": "liquid/d1"Together Tev1 4B Experimental
togethercomputer/tev1-4b-experimentalModellseite öffnenTogether’s experimentelles Tev1-Entscheidungsmodell. Setze model auf togethercomputer/tev1-4b-experimental.
"model": "togethercomputer/tev1-4b-experimental"Inception Mercury Decide (kostenlos)
inception/mercury-decide:freeModellseite öffnenInceptions kostenlose Mercury-Entscheidungsvariante. Setze model auf inception/mercury-decide:free.
"model": "inception/mercury-decide:free"Upstage Solar Decide
upstage/solar-decideModellseite öffnenUpstages Solar-Entscheidungsmodell. Setze model auf upstage/solar-decide.
"model": "upstage/solar-decide"Respan Span-01
respan/span-01Modellseite öffnenRespans Span-01-Entscheidungsmodell. Setze model auf respan/span-01.
"model": "respan/span-01"Respan Span-01 Lite
respan/span-01-liteModellseite öffnenDie Respan-Span-01-Lite-Variante. Setze model auf respan/span-01-lite.
"model": "respan/span-01-lite"Respan Span-01 Lite (kostenlos)
respan/span-01-lite:freeModellseite öffnenDie kostenlose Respan-Span-01-Lite-Variante. Setze model auf respan/span-01-lite:free.
"model": "respan/span-01-lite:free"Jared Palmer Kev 4B
jaredpalmer/kev-4bModellseite öffnenJared Palmers Kev-4B-Entscheidungsmodell. Setze model auf jaredpalmer/kev-4b.
"model": "jaredpalmer/kev-4b"ScaleDown Classify-1
scaledown/classify-1Modellseite öffnenScaleDowns Entscheidungsmodell für Klassifikation, Moderation, Absichtserkennung und Dokumentenrouting.
"model": "scaledown/classify-1"Nace.AI Drex v2.0
nace-ai/drex-v2.0Modellseite öffnenEin Mixture-of-Experts-Entscheidungsmodell mit 35B Gesamtparametern und 3B aktiven Parametern für Routing, Klassifikation und Richtlinienprüfungen.
"model": "nace-ai/drex-v2.0"Microsoft Decision 1
microsoft/microsoft-decision-1Modellseite öffnenMicrosofts Entscheidungsmodell für Klassifikation, Priorisierung, Verifikation und Agentenschutz mit kalibrierten Wahrscheinlichkeiten.
"model": "microsoft/microsoft-decision-1"Nace.AI Drex v1.5
nace-ai/drex-v1.5Modellseite öffnenEin 9B-Entscheidungsmodell von Nace.AI für typisierte Entscheidungen über Text oder JSON.
"model": "nace-ai/drex-v1.5"Cloudflare Clef Omni
cloudflare/clef-omniModellseite öffnenDie multimodale Variante der Clef-Familie von Cloudflare. Hier lassen sich Text- und JSON-Entscheidungen über die gemeinsame API testen.
"model": "cloudflare/clef-omni"Solar Decide Flash
upstage/solar-decide-flashModellseite öffnenUpstages schnellere Solar-Decide-Variante für Routing, Klassifikation und Richtlinienprüfungen mit geringer Latenz.
"model": "upstage/solar-decide-flash"GPT-6 Luna Decisions
openai/gpt-6-luna-decisionsModellseite öffnenGPT-6 Luna als Entscheidungsmodell für Klassifikation, Routing, Moderation und Bewertung anhand von Kriterien.
"model": "openai/gpt-6-luna-decisions"Mercury Decide
inception/mercury-decideModellseite öffnenDie Standardvariante von Mercury Decide nutzt inception/mercury-decide; die Variante :free bleibt separat verfügbar.
"model": "inception/mercury-decide"Diese 23 Modelle nutzen POST /v1/systemone und dieselbe Jev-Credit-Regel. Anfragen sind auf 8 Fragen und 32 KiB JSON begrenzt, auch wenn der Anbieter größere Eingaben unterstützt. Die Spielwiese bearbeitet Text oder JSON; Modalitäten und Fragetypen hängen vom Anbieter ab. :free bezeichnet die Upstream-Variante und bedeutet keine kostenlose Jev-API-Nutzung. Laya hat eine separate API-Dokumentation.
AGENT-NUTZUNG
Jev in einem Coding-Agenten verwenden
Der Jev Agent Skill zeigt Codex, Claude Code, Cursor und anderen kompatiblen Agenten, wie sie diese API für begrenzte Entscheidungen aufrufen und Ausführung sowie Berechtigungen deiner Anwendung überlassen.
Installieren und konfigurieren
Installiere den Skill, erstelle einen Jev-KI-API-Schlüssel und wähle die Sprache für Einrichtung und Beispiele.
Einmal konfigurieren
Nutze Umgebungsvariablen, damit der API-Schlüssel nicht in Quellcode, Protokollen oder Agent-Transkripten landet.
Eine eingegrenzte Frage stellen
Teile dem Agenten mit, welche Entscheidung ansteht. Er sollte Choice, Score oder Noul wählen und nur den nötigen Kontext senden.
Installieren und konfigurieren
npx skills add jev-ai/jev-agent-skill
export JEV_API_KEY="sk_your_key_here"
export JEV_LANGUAGE="en-US"Erstelle einen Schlüssel unter https://thejevai.com/settings/apikeys. Englisch (en-US) ist die Standardsprache; mit JEV_LANGUAGE=zh-CN erhältst du die Anleitung auf vereinfachtem Chinesisch. Füge niemals einen echten Schlüssel in Quellcode oder einen öffentlichen Prompt ein.
Fünf sinnvolle Einstiege
Kopiere nach der Installation einen dieser Prompts. Sie zeigen, wie ein Agent Jev für Entscheidungen nutzen kann, ohne Jev die Berechtigung zur endgültigen Aktion zu geben.
Supportticket weiterleiten
Nutze Choice, um ein freigegebenes Team auszuwählen. Der Anwendungscode leitet das Ticket weiter und schickt unsichere Fälle zur Prüfung.
Nutze den Jev Agent Skill. Ordne dieses Supportticket genau einem Team zu: billing, technical, account oder sales. Gib das ausgewählte Team, die Wahrscheinlichkeiten und die Konfidenz zurück. Kontaktiere den Kunden nicht und ändere das Ticket noch nicht.
Ticket: Mir wurde mein Jahresabo doppelt berechnet und ich brauche eine Rückerstattung.Tool-Aufruf absichern
Nutze Noul, um zu beurteilen, ob eine geplante Aktion eine Freigabe braucht. Deterministische Berechtigungen und Richtlinien bleiben maßgeblich.
Nutze den Jev Agent Skill, bevor du diesen vorgeschlagenen Tool-Aufruf ausführst. Beurteile, ob er ohne menschliche Freigabe sicher ist. Berücksichtige Nebenwirkungen, Umkehrbarkeit, Umfang und Richtlinien. Führe ihn bei Risiken oder Unsicherheit nicht aus.
Tool: delete_customer_records
Argumente: {where: last_login < 2023-01-01}
Richtlinie: Destruktive Datenbankoperationen erfordern ein Backup und menschliche Freigabe.An ein freigegebenes Modell weiterleiten
Nutze Choice für zugelassene Kandidaten und eine separate Noul-Frage, wenn keiner geeignet ist.
Wähle mit dem Jev Agent Skill ein freigegebenes Modell für diese Aufgabe. Priorisiere die Qualität, danach Kontextkapazität und Kosten. Gib das ausgewählte Modell, die Wahrscheinlichkeiten und an, ob eskaliert werden soll. Rufe noch kein Modell auf.
Aufgabe: einen Kundenstreitfall mit 100k Tokens prüfen.
Kandidaten: fast-model (32k, geringe Kosten), reasoning-model (200k, hohe Kosten), fallback-model (128k, mittlere Kosten).Forschungsbelege prüfen
Nutze Noul, um zu beurteilen, ob Belege ausreichen, bevor ein Agent eine Aussage veröffentlicht oder zitiert.
Nutze den Jev Agent Skill, um zu prüfen, ob die Belege ausreichen, um diese Aussage zu veröffentlichen. Berücksichtige die Qualität und Aktualität der Quellen, ihre direkte Aussagekraft und mögliche Widersprüche. Gib eine Ja-Wahrscheinlichkeit und noch nötige Prüfschritte zurück. Veröffentliche die Aussage noch nicht.
Aussage: Unsere API hat die mediane Verarbeitungszeit um 40 % reduziert.
Belege: ein interner Benchmark vom letzten Monat mit 120 Fällen; keine Produktionsdaten; ein älterer Bericht mit einer Verbesserung von 12 %.Aufgabenerledigung prüfen
Nutze Choice oder Score, um vor einer Erfolgsmeldung zu entscheiden, ob die Arbeit abgeschlossen, noch zu prüfen oder unvollständig ist.
Nutze den Jev Agent Skill, um zu prüfen, ob diese Aufgabe abgeschlossen ist. Gib complete, verify_more oder incomplete zurück. Berücksichtige das Ziel, geänderte Dateien, ausgeführte Tests, bekannte Lücken und die Prüfung in der Zielumgebung.
Ziel: API-Schlüsselauthentifizierung für den Produktiv-Endpunkt hinzufügen.
Erledigt: Authorization-Prüfung und API-Schlüsselabfrage hinzugefügt.
Prüfung: Unit-Tests bestanden; Produktionsanfrage und Ratenbegrenzung wurden nicht getestet.FEHLERBEHANDLUNG
Fehler und Wiederholungen
Der Endpunkt verwendet standardmäßige HTTP-Statuscodes und liefert eine JSON-Antwort mit einer Fehlerbeschreibung zurück.
400Ungültige Anfrage: ungültiges JSON, fehlende Felder, eine fehlerhafte Frage oder eine nicht unterstützte Modell-ID. Kopiere die ID exakt aus der Modellliste, einschließlich ~ bei latest-Aliasen.401Nicht autorisiert: Der API-Schlüssel fehlt oder ist ungültig. Prüfe den Authorization-Header.422Anfrage nicht verarbeitbar: Der Anfragekörper besteht die Validierung nicht, etwa wegen eines fehlenden Felds oder einer fehlerhaften Frage. Die Antwort nennt das betroffene Feld.429Zu viele Anfragen: Das Ratenlimit wurde überschritten. Warte und versuche es erneut.529Überlastet: Der Dienst ist vorübergehend überlastet. Warte und versuche es erneut.Wenn du 429 oder 529 erhältst, wiederhole die Anfrage mit exponentiellem Backoff, statt sie sofort erneut zu senden. SDKs mit Standard-Wiederholungsrichtlinie können dies automatisch übernehmen.
Wie geht es weiter?
Beginne mit einer risikoarmen, klar eingegrenzten Entscheidung. Verbinde sie anschließend mit Routing, Warteschlangen, Schutzprüfungen oder einem Agent-Workflow, sobald du weißt, wo das Signal nützlich ist.