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.
/v1/systemoneJev 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-sdkfrom typesafe_sdk import Choice, Noul, Score, TypeSafeClientwith 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.98print(response.choices["team"].choice) # billingprint(response.scores["urgency"].score) # 1.9Wenn 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
{ "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
modelstringerforderlichjev-1.14,jev-latest(dasselbe Modell) oderjev-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.
typestringerforderlichnoul,choiceoderscore.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 odernull. Fürscore(erforderlich): ein Array mit 2 bis 10 Stufen, beginnend mit der niedrigsten. Fürnoul(optional):trueundfalse, die festlegen, was Ja und Nein bedeuten.
Fragetypen
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 einem400abgelehnt, bevor sie das Modell erreicht, und kostet nichts. Das gilt auch für Anfragen mit mehr als 64K Tokens, mit dem Codecontext_length_exceeded.
So bekommst du gute Antworten
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.