DEVELOPER GUIDE
Deine erste Entscheidung erstellen
Ein praxisnaher Leitfaden für diesen Dienst: ausführen, prüfen, integrieren und messen.
Dieser unabhängige Workbench und API-Dienst unterstützen Jev von TypeSafe AI, Liquid d1, Solar Decide von Upstage, Tev1 von Together AI und Kev 4B von Jared Palmer. Auch eine begrenzte Ausgabe kann falsch sein: Prüfe sie mit deinen eigenen Daten.
Schnellstart
Erstelle ein Konto und erhalte 100 Guthabenpunkte. Lade ein Rezept, prüfe das Budget und führe es aus. Passe die Fragen an, speichere deine Konfiguration und öffne den Code-Tab. Erstelle einen API-Schlüssel für die Website, um dasselbe Guthaben von deinem Server aus zu verwenden.
export DECISIONS_API_KEY="YOUR_API_KEY"
curl --fail-with-body 'https://decisions-api.dev/v1/systemone' \
-H "Authorization: Bearer $DECISIONS_API_KEY" \
-H "Content-Type: application/json" \
--data-raw '{
"model": "typesafe/jev-1.13",
"state": "I was charged twice for order A-4471. Please refund the duplicate payment.",
"questions": {
"route": {
"type": "choice",
"instructions": "Which team should handle this ticket? Use other when no option fits.",
"criteria": {
"billing": "Payments, charges and refunds",
"technical": "Bugs and product errors",
"account": "Login and account access",
"other": "None of these teams"
}
}
}
}'Bewahre API-Schlüssel auf deinem Server auf. Binde sie nicht in Browsercode ein und committe sie nicht in die Versionsverwaltung.
API-Referenz
POST https://decisions-api.dev/v1/systemone
Sende JSON mit model, state und questions. Verwende Authorization: Bearer mit einem Schlüssel dieser Website. Erfolgreiche Antworten enthalten code: 0; die Antworten findest du unter data.result.answers. Die Antwortformate der offiziellen Anbieter-SDKs unterscheiden sich.
| Feld | Struktur |
|---|---|
| model | Playground und API unterstützen typesafe/jev-1.13 (Alias: jev-latest), liquid/d1, upstage/solar-decide, togethercomputer/tev1-4b-experimental und jaredpalmer/kev-4b. Tev1 verwendet über OpenRouter dieselben strukturierten Anfrage- und Antwortfelder wie Jev; Tev1-Choice ist auf 2–20 Optionen begrenzt. Liquid d1 wird über Vercel AI Gateway aufgerufen; Boolean-Fragen und Tokenverbrauch werden in das Jev-Format umgewandelt. Solar Decide verwendet dasselbe System-One-Schema wie Jev. Der separate Span-Workbench und diese API unterstützen außerdem respan/span-01 und respan/span-01-lite mit Noul-Fragen. |
| state | Nicht leerer Text, ein JSON-Objekt oder ein Array. Alle Fragen verwenden denselben Zustand. Span akzeptiert Text oder {input: Nachrichten-Array, output: Assistentennachricht}; jede Nachricht besteht nur aus role und Textinhalt. Allgemeine JSON-Objekte und einfache Arrays werden von Span nicht unterstützt. |
| questions | 1–8 benannte Fragen. IDs beginnen mit einem Buchstaben; danach sind Buchstaben, Ziffern, _ oder - erlaubt. Höchstens 64 Zeichen. |
choice
Definiere unter criteria 2–255 benannte Optionen. Die Antwort enthält choice, Wahrscheinlichkeiten und Konfidenz. Füge für unpassende Fälle eine ausdrückliche Ausweichoption hinzu.
score
Definiere unter criteria 2–10 geordnete Zeichenfolgen. Der Score reicht von 0 bis zum Index der letzten Stufe und kann Nachkommastellen haben; die Wahrscheinlichkeiten beziehen sich auf die Stufen.
noul
Noul liefert P(true) zwischen 0 und 1. Unter criteria.true und criteria.false kannst du optional beschreiben, was als Ja und Nein gilt. Es wird kein boolescher Wert zurückgegeben; verwende deinen eigenen Schwellenwert.
Wahrscheinlichkeiten sind Modellausgaben über deinen Antwortbereich. Konfidenz ist ein separates Signal. Keines von beiden ist eine gemessene Genauigkeitsrate. Für Noul wird beim Schwellenwert max(P(Ja), 1 − P(Ja)) verwendet; 0,01 kann ein eindeutiges Nein sein. Prüfe Schwellenwerte anhand gekennzeichneter Fälle unter „Regeln vergleichen“.
Beispielhafte Antwort — keine Live-Messung
{
"code": 0,
"message": "ok",
"data": {
"requestId": "example-request-id",
"creditsUsed": 1,
"historySaved": true,
"result": {
"model": "typesafe/jev-1.13",
"answers": {
"route": {
"type": "choice",
"choice": "billing",
"probabilities": {
"billing": 0.94,
"technical": 0.02,
"account": 0.02,
"other": 0.02
},
"confidence": 0.9
}
},
"usage": {
"input_tokens": 1000,
"output_tokens": 0
},
"elapsedMs": 250
}
}
}Die Latenz misst die serverseitige Verarbeitungszeit dieses Dienstes einschließlich der Anfrage beim Anbieter. Sie schließt die Netzwerkverbindung des Browsers aus und ist keine Leistungsgarantie.
Abrechnung und Limits
Bis zu 8 Fragen und 32 KiB pro Anfrage. Tev1-Choice-Fragen erlauben 2–20 Optionen; andere allgemeine Entscheidungsmodelle erlauben 2–255. Webversuche liegen mindestens 3 Sekunden auseinander. Web, API und Evaluation verwenden dieselbe Abrechnung: Jev, Kev und Tev1 verwenden max(1, ceil(Eingabetokens × 600 / 1.000.000)); Solar Decide verwendet 720; Span-01 verwendet 300. Liquid d1 und Span-01 Lite kosten 1 Guthabenpunkt pro erfolgreicher Anfrage. Vor dem Anbieteraufruf reservieren wir das angezeigte vorsichtige Budget. Bei Erfolg rechnen wir die tatsächlichen Eingabetokens ab und erstatten den Rest. Fehlgeschlagene Aufrufe geben die Reservierung frei. Unterbrochene Reservierungen laufen nach 10 Minuten ab und werden bei der nächsten Kontostandsprüfung oder Anfrage freigegeben.
400 ungültige Eingabe · 401 Anmeldung/API-Schlüssel erforderlich · 402 nicht genügend Guthaben · 409 doppelte Anfrage · 413 Anfrage zu groß · 429 warte auf Retry-After · 502 Anbieterfehler · 503 Dienst nicht verfügbar. Sende für jede logische API-Anfrage einen eindeutigen Idempotency-Key (8–64 Buchstaben, Ziffern, _ oder -). Bei Wiederverwendung wird 409 zurückgegeben, ohne das Modell erneut aufzurufen. Prüfe bei unklarem Ergebnis den Verlauf, bevor du es erneut versuchst.
Alle Live-Aufrufe verbrauchen Guthaben, auch im Web und bei der Evaluation. Mindestens 1 Guthabenpunkt je erfolgreicher Anfrage; Ausgabetokens sind kostenlos. Jev, Kev und Tev1: 600 Guthabenpunkte pro Million Eingabetokens; Solar Decide: 720; Span-01: 300. Liquid d1 und Span-01 Lite: 1 Guthabenpunkt pro erfolgreicher Anfrage. Für 1 $ erhältst du 10.000 Guthabenpunkte. Fehlgeschlagene Aufrufe werden erstattet. Schätzungen enthalten keine Steuern.
Daten und Verlauf
Gespeicherte Konfigurationen sowie Anfrageinhalte und Ergebnisse aus Webaufrufen sind nur für dein Konto sichtbar. Der API-Verlauf speichert Metadaten, Tokenverbrauch und Guthaben, aber keine Anfrageinhalte. Browserentwürfe bleiben lokal in diesem Browser.
Rezepte
Supportanfragen weiterleiten
Abrechnungs-, Technik- und Kontoanfragen weiterleiten; eine ausdrückliche Ausweichoption vorsehen.
Rezept öffnen ↗Agenten weiterleiten
Zwischen einer deterministischen Abfrage, einem Modell oder einer menschlichen Prüfung wählen.
Rezept öffnen ↗Quellenangaben prüfen
Eine Behauptung anhand ihrer Quelle prüfen, auch bei fehlenden oder widersprüchlichen Belegen.
Rezept öffnen ↗Dieselben Fälle mit zwei Regelsätzen testen
Speichere A mit dem aktuellen Modell und den aktuellen Regeln im Workbench. Ändere Modell oder Fragen und speichere anschließend B. Importiere bis zu 25 gekennzeichnete Fälle und vergleiche beide Versionen. Der Zustand aus dem Datensatz ersetzt jeweils den gespeicherten Zustand.
{"id":"refund","state":"Please refund my duplicate payment.","expected":{"route":"billing"}}
{"id":"login","state":"My reset link has expired.","expected":{"route":"account"}}1–25 Fälle. JSONL: ein {id, state, expected} je Zeile. CSV: id,state,expected; expected ist ein JSON-Objekt mit Fragen-IDs als Schlüsseln. Die Übereinstimmungsrate vergleicht gekennzeichnete Antworten abgeschlossener Anfragen; Fehler werden getrennt gezählt. Noul verwendet die Bezeichnungen true/false (P(Ja) ≥ 0,5). Für Score gilt die vor dem Durchlauf festgelegte Toleranz.