Entscheidungen

Entscheidungen (Jev)

Stell Fragen zu deinen Daten mit festgelegten Antworttypen und erhalte Antworten, die dein Code direkt nutzen kann: die Wahrscheinlichkeit für Ja, eine Option aus einer Auswahl oder einen Wert auf einer Skala – mit kalibrierten Wahrscheinlichkeiten, meist in unter einer Sekunde. Der Dienst läuft über die eigene API von TypeSafe, sodass die SDKs unverändert funktionieren.

POST/v1/systemone
ModellIDEingabe, pro 1M TokenPreis bei TypeSafeOutput
Jev 1.14jev-1.14$0.024$0.042Kostenlos
Jev 1.13jev-1.13$0.035$0.042Kostenlos

Jev ist das Entscheidungsmodell von TypeSafe. TypeSafe nennt es ein System One-Modell: Es versteht natürliche Sprache wie ein Chatmodell, schreibt aber keinen Text, sondern beantwortet die Fragen, die du vorgibst. jev-latest, jev-1.14.0 und typesafe/jev-1.14 funktionieren ebenfalls als Modell-IDs, und jev-1.13 bleibt für darauf abgestimmte Prompts verfügbar.

Fragen stellen

# pip install typesafe-sdk
from typesafe_sdk import Choice, Noul, Score, TypeSafeClient
with TypeSafeClient(
base_url="https://api.zurelay.com",
api_key="YOUR_ZURELAY_KEY",
model="jev-1.14",
) as client:
response = client.system_one(
state={"ticket": "I was charged twice for October, please refund one today."},
questions={
"refund": Noul(instructions="Is the customer asking for money back?"),
"team": Choice(
instructions="Which team should handle this?",
criteria={"billing": "Charges and refunds", "technical": "Bugs and outages"},
),
"urgency": Score(
instructions="How urgent is it?",
criteria=["can wait", "this week", "today"],
),
},
)
print(response.nouls["refund"].noul) # 0.98
print(response.choices["team"].choice) # billing
print(response.scores["urgency"].score) # 1.9

Wenn du die SDKs von TypeSafe nutzt, setze die Basis-URL auf https://api.zurelay.com – ohne /v1, denn die SDKs fügen /v1/systemone selbst hinzu. Die Umgebungsvariablen TYPESAFE_BASE_URL und TYPESAFE_API_KEY funktionieren ebenfalls. Mit jedem HTTP-Client geht es genauso: Sende deinen Zurelay-Schlüssel als Bearer-Token.

Die Antwort

Antwort
{
"id": "req_8Kq2vXbN4tR7mWc1pLs9dYe3",
"model": "jev-1.14",
"answers": {
"refund": { "type": "noul", "noul": 0.98 },
"team": {
"type": "choice",
"choice": "billing",
"probabilities": { "billing": 1.0, "technical": 0.0 },
"confidence": 1.0
},
"urgency": {
"type": "score",
"score": 1.9,
"legend": { "0": "can wait", "1": "this week", "2": "today" },
"probabilities": { "0": 0.0, "1": 0.1, "2": 0.9 },
"confidence": 0.81
}
},
"usage": { "input_tokens": 396, "output_tokens": 61, "cost": 0.00001386 }
}

Jede Antwort steht unter dem Namen, den du der Frage gegeben hast. usage zeigt, was für die Anfrage abgerechnet wurde, und cost die Kosten in US-Dollar. Bei derselben Anfrage kann die Antwort von einem Aufruf zum nächsten um ein bis zwei Punkte abweichen.

Parameter

modelstringerforderlich
jev-1.14, jev-latest (dasselbe Modell) oder jev-1.13.
statestring, object or arrayerforderlich
Der Inhalt, über den entschieden werden soll: ein Text oder strukturierte Daten wie ein Datensatz, ein Chatverlauf oder der aktuelle Zustand deiner App. Verweise in einer Frage mit dem Feldnamen in Backticks auf ein Feld, zum Beispiel `ticket`.
questionsobjecterforderlich
Deine Fragen, jeweils unter einem Namen, den du wählst. Die Antworten stehen unter denselben Namen; die Namen werden nicht an das Modell gesendet.
Jede Frage
typestringerforderlich
noul, choice oder score.
instructionsstring, object or arrayerforderlich
Die Frage. Ein Objekt kann die Frage in einem Feld und die Daten, auf die sie sich bezieht, in anderen Feldern enthalten.
criteriaobject or array
Für choice (erforderlich): ein Objekt mit bis zu 255 Optionen, jeweils mit einer Beschreibung oder null. Für score (erforderlich): ein Array mit 2 bis 10 Stufen, beginnend mit der niedrigsten. Für noul (optional): true und false, die festlegen, was Ja und Nein bedeuten.

Fragetypen

TypFragt nachAntwort
noulEine Ja-oder-Nein-Fragenoul: die Wahrscheinlichkeit für Ja, von 0 bis 1
choiceWelche deiner Optionen passtchoice, dem probabilities jeder Option und einem confidence
scoreWo etwas auf deiner geordneten Skala liegtscore, das zwischen Stufen liegen kann, einem legend, dem probabilities jeder Stufe und einem confidence

Eine Anfrage kann alle drei Fragetypen kombinieren. Viele Fragen kosten kaum mehr als eine: Der Zustand wird einmal gelesen, und alle Fragen werden parallel anhand dieses Zustands beantwortet.

Limits

  • Bis zu 64K Tokens pro Anfrage für Zustand und alle Fragen zusammen, und 32K für den Zustand plus die längste Frage.
  • Nur Text: ein String, ein JSON-Objekt oder ein Array. Wandle Bilder, PDFs oder Audio zuerst in Text um.
  • Kein Streaming: Die Antworten kommen vollständig zurück, meist in weniger als einer Sekunde.
  • Eine fehlerhafte Anfrage (ein fehlendes instructions, eine Bewertung mit nur einer Stufe) wird mit einem 400 abgelehnt, bevor sie das Modell erreicht, und kostet nichts. Das gilt auch für Anfragen mit mehr als 64K Tokens, mit dem Code context_length_exceeded.

So bekommst du gute Antworten

Jev nimmt Anweisungen wörtlich. Formuliere die genaue Bedingung und nimm Grenzfälle in die Kriterien auf. Zählen, Rechnen und Datumsvergleiche gehören in den Code. Sende nur den Teil des Zustands, den die Frage braucht. Jev kann die erste Option einer Auswahl bevorzugen: Prüfe bei wichtigen Entscheidungen, ob die Antwort auch bei anderer Reihenfolge der Optionen gleich bleibt.

Entscheidungen bezahlen

Jev wird nach den gezählten Input-Tokens abgerechnet: dein Zustand und deine Fragen plus etwa 270 eigene Tokens pro Anfrage. Die Antworten sind wie bei TypeSafe kostenlos. Eine kurze Anfrage mit etwa 300 Tokens kostet etwa $0.00001, eine Million davon also etwa $10. Die Header usage und x-zurelay-input-tokens jeder Antwort zeigen die Abrechnungsgrundlage. Jede Anfrage steht in deinem Anfragelog, und fehlgeschlagene Anfragen kosten nichts.

Teste deine eigenen Inhalte und Fragen im Playground des Dashboards: Wähle Jev, füge den Inhalt ein und trage daneben die Fragen ein. Über den Button Get code erhältst du dieselbe Anfrage in Python, Node.js oder cURL.

Fragen oder fehlt etwas? Frag unser Support-Team und wir antworten per E-Mail, meist innerhalb einer Minute.