Übersicht
Die Agent-First API von LemonData reichert Fehlerantworten mit strukturierten Hinweisen an, die KI-Agenten sofort parsen und verarbeiten können – ohne Websuchen, Dokumentationsrecherche oder Rätselraten. Jede Fehlerantwort enthält optionale Felder wiedid_you_mean, suggestions, hint, retryable und retry_after innerhalb des standardmäßigen error-Objekts. Diese Felder sind abwärtskompatibel – Clients, die sie nicht verwenden, bemerken keinen Unterschied.
Fehlerhinweis-Felder
Alle Hinweisfelder sind optionale Erweiterungen innerhalb deserror-Objekts:
| Feld | Typ | Beschreibung |
|---|---|---|
did_you_mean | string | Modellname mit der größten Übereinstimmung |
suggestions | array | Empfohlene Modelle mit Metadaten |
alternatives | array | Aktuell verfügbare alternative Modelle |
hint | string | Für Menschen/Agenten lesbare Anleitung für den nächsten Schritt |
retryable | boolean | Ob ein erneuter Versuch derselben Anfrage erfolgreich sein könnte |
retry_after | number | Sekunden, die vor einem erneuten Versuch gewartet werden soll |
balance_usd | number | Aktuelles Kontoguthaben in USD |
estimated_cost_usd | number | Geschätzte Kosten der fehlgeschlagenen Anfrage |
Beispiele für Fehlercodes
model_not_found (400)
Wenn ein Modellname mit keinem aktiven Modell übereinstimmt:did_you_mean verwendet:
- Statisches Alias-Mapping (aus Produktions-Fehlerdaten)
- Normalisierter String-Abgleich (entfernt Bindestriche, ignoriert Groß-/Kleinschreibung)
- Edit-Distanz-Abgleich (Schwellenwert ≤ 3)
insufficient_balance (402)
Wenn das Kontoguthaben für die geschätzten Kosten zu niedrig ist:suggestions enthält Modelle, die günstiger als die geschätzten Kosten sind und zu denen der Agent wechseln kann.
all_channels_failed (503)
Wenn alle Upstream-Kanäle für ein Modell nicht verfügbar sind:retryable ist false, wenn der Grund no_channels ist (keine Kanäle für dieses Modell konfiguriert). Es ist nur bei vorübergehenden Fehlern wie Circuit-Breaker-Auslösungen oder Kontingentüberschreitungen true.rate_limit_exceeded (429)
retry_after wird aus der tatsächlichen Rücksetzzeit des Rate-Limit-Fensters berechnet.
context_length_exceeded (400)
Wenn die Eingabe das Kontextfenster des Modells überschreitet (Upstream-Fehler, angereichert mit Hinweisen):Native Endpunkt-Header
Wenn Sie/v1/chat/completions mit einem Modell aufrufen, das über einen nativen Endpunkt verfügt (Anthropic oder Gemini), enthält die Erfolgsantwort Optimierungs-Header:
| Modell-Provider | Empfohlener Endpunkt | Vorteil |
|---|---|---|
| Anthropic (Claude) | /v1/messages | Keine Formatkonvertierung, Extended Thinking, Prompt-Caching |
| Google (Gemini) | /v1beta/gemini | Keine Formatkonvertierung, Grounding, Sicherheitseinstellungen |
| OpenAI | — | Chat Completions ist bereits das native Format |
/v1/models Erweiterungen
Drei neue Felder in derlemondata-Erweiterung jedes Modell-Objekts:
| Feld | Werte | Beschreibung |
|---|---|---|
category | chat, image, video, audio, tts, stt, 3d, embedding, rerank | Modelltyp |
pricing_unit | per_token, per_image, per_second, per_request | Wie das Modell abgerechnet wird |
cache_pricing | Objekt oder null | Upstream-Preise für Prompt-Caching + Rabatt für semantisches Caching der Plattform |
Kategorie-Filterung
llms.txt
Eine maschinenlesbare API-Übersicht ist verfügbar unter:- Vorlage für den ersten Aufruf mit einem funktionierenden Beispiel
- Gängige Modellnamen (dynamisch generiert aus Nutzungsdaten)
- Alle 12 API-Endpunkte
- Filterparameter für die Modellsuche
- Leitfaden zur Fehlerbehandlung
llms.txt vor ihrem ersten API-Aufruf lesen, sind in der Regel bereits beim ersten Versuch erfolgreich.
Verwendung im Agent-Code
Python (OpenAI SDK)
JavaScript (OpenAI SDK)
Design-Prinzipien
Schnelles Scheitern, informative Fehler
Fehler werden sofort mit allen Daten zurückgegeben, die ein Agent zur Selbstkorrektur benötigt.
Kein Auto-Routing
Die API ersetzt niemals stillschweigend ein anderes Modell. Der Agent entscheidet.
Datengetriebene Vorschläge
Alle Empfehlungen stammen aus Produktionsdaten, nicht aus fest kodierten Listen.
Abwärtskompatibel
Alle Hinweisfelder sind optional. Bestehende Clients bemerken keinen Unterschied.