DEVELOPER GUIDE

Deine erste Entscheidung erstellen

Ein praxisnaher Leitfaden für diesen Dienst: ausführen, prüfen, integrieren und messen.

Dieses unabhängige Workbench und dieser API-Dienst unterstützen Jev von TypeSafe AI, Solar Decide von Upstage, Kev 4B von Jared Palmer und Laya. Auch eine klar 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 JEV_API_KEY="YOUR_API_KEY"

curl --fail-with-body 'https://jevaimodel.net/v1/systemone' \
  -H "Authorization: Bearer $JEV_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://jevaimodel.net/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.

FeldStruktur
modelPlayground und API unterstützen typesafe/jev-1.13 (Alias: jev-latest), upstage/solar-decide, jaredpalmer/kev-4b, laya-english, laya-multilingual und laya-auto. Solar Decide verwendet dasselbe System-One-Anfrage- und Antwortschema wie Jev. Mit laya-auto wird automatisch das englische oder mehrsprachige Modell ausgewählt; result.routing.model enthält das ausgewählte Laya-Modell. Das separate Span-Workbench und diese API unterstützen außerdem respan/span-01 und respan/span-01-lite, allerdings nur mit Noul-Fragen.
stateNicht 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.
questions1–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. Webversuche liegen mindestens 3 Sekunden auseinander. Web, API und Evaluation verwenden dieselbe Abrechnung: Jev, Kev und Laya kosten max(1, ceil(Eingabetokens × 600 / 1.000.000)); Solar Decide verwendet 720; Span-01 verwendet 300; Span-01 Lite kostet 1 Guthabenpunkt. Vor dem Aufruf des Anbieters reservieren wir das angezeigte vorsichtige Budget. Bei Erfolg rechnen wir die tatsächlichen Eingabetokens ab und erstatten den Rest. Bei fehlgeschlagenen Aufrufen wird die Reservierung freigegeben. 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. Span-01: 300 Guthabenpunkte pro Million Eingabetokens. Span-01 Lite: 1 Guthabenpunkt je erfolgreicher Anfrage. Jev, Kev und Laya: 600 Guthabenpunkte pro Million; Solar Decide: 720 Guthabenpunkte pro Million. Für 1 $ erhältst du 10.000 Guthabenpunkte. Fehlgeschlagene Aufrufe werden erstattet. Steuern sind in den Schätzungen nicht enthalten.

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

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.

Modellreferenzen