jev-latest
Entscheidungsmodell von TypeSafe: Schreibt keinen Text, sondern beantwortet typisierte Fragen zu Text oder JSON — Optionsauswahl, Skalenbewertung oder „Ja/Nein“ mit Wahrscheinlichkeiten. Geeignet für Routing, Anfragensortierung, Moderation und Scoring; alle Fragen einer Anfrage werden parallel bewertet.
Über das Modell
Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.
Jev ist das Flaggschiff von TypeSafe und das erste Modell der neuen Klasse System One. Es schreibt keinen Text, sondern trifft schnell Entscheidungen, die ein Programm unmittelbar verwenden kann: Sie übermitteln einen Zustand (state) — Text oder JSON — und einen Satz von Fragen und erhalten typisierte Werte mit kalibrierten Wahrscheinlichkeiten zurück.
Sprachmodelle schreiben Worte für Menschen; Jev ist laut TypeSafe näher an Code: Die Antwort liegt sofort in der vom Code benötigten Form vor, mit hoher Geschwindigkeit und ohne Werte außerhalb der vorgegebenen Optionen. Das Modell ist darauf ausgelegt, bei wiederholten Anfragen stabile Antworten zu liefern.
Wie sich System One von einem Sprachmodell unterscheidet
- Keine Generierung. Jev schreibt keine Nutzerantworten, keinen Code und erklärt keine Gedankengänge. Sie geben die möglichen Antworten durch einen von drei Fragetypen vor.
- Auf kalibrierte Entscheidungen trainiert. TypeSafe trainiert das Modell mit RLCD (Reinforcement Learning for Calibrated Decisions): Wahrscheinlichkeiten werden an tatsächliche Ergebnisse angepasst und spiegeln Unsicherheit wider. Unter vielen Antworten mit einer Wahrscheinlichkeit von 0,8 sollten ungefähr 80% richtig sein. Kalibrierung ist eine Eigenschaft großer Stichproben, keine Garantie für eine einzelne Antwort.
- Anderes Trainingsziel. Chatmodelle werden darauf trainiert, Menschen zu gefallen (RLHF); nach Beobachtung von TypeSafe begünstigt das Gefälligkeit und selbstsicher klingende Fehler. Einer der RLHF-Mitautoren, Diogo Almeida, ist Mitgründer von TypeSafe.
Der Name verweist auf „System 1“ aus Daniel Kahnemans Buch „Schnelles Denken, langsames Denken“: schnelles intuitives Urteilen im Gegensatz zum langsamen bewussten Denken von „System 2“. Jev wurde für schnelle, eng umrissene Urteile entwickelt.
Drei Fragetypen
Eine Frage ist ein einzelnes Urteil über den Zustand; die Antwort ein Wert, den Code mit einem Schwellenwert vergleicht, sortiert oder weitergibt.
- Choice — Optionsauswahl. Zuständige Abteilung einer Anfrage, Produktkategorie, Sprache eines Codeabschnitts. Die Optionen sind ein Wörterbuch „Option → Beschreibung“ mit bis zu 255 Einträgen. Die Antwort enthält das gewählte
choice,probabilitiesfür alle Optionen (zusammen 1) undconfidence. Deckt die Liste möglicherweise nicht alle Fälle ab, ergänzen Sie „Sonstiges“ oder „Keine der genannten Optionen“. - Score — Skalenbewertung. Eine Position auf einer von Ihnen beschriebenen geordneten Skala: Fehlerschwere, Kundenverärgerung, Fähigkeitsniveau. Es gibt 2 bis 10 Stufen von der niedrigsten zur höchsten; jede Stufe wird separat bewertet, ohne dass das Modell ihre Nummer oder Nachbarstufen sieht. Die Antwort enthält
score(die Summe der mit ihren Wahrscheinlichkeiten multiplizierten Stufennummern, sodass der Wert zwischen Stufen liegen kann),legendmit Stufenbeschreibungen,probabilitiesundconfidence. - Noul — Ja oder Nein. Ob eine Aussage zutrifft. Die Antwort
noulist die Wahrscheinlichkeit für „Ja“ von 0 bis 1: nahe 1 bedeutet ein sicheres „Ja“, nahe 0 ein sicheres „Nein“, nahe 0,5 schwankt das Modell. Ein separatesconfidencegibt es nicht: Eine Zahl beschreibt die Antwort vollständig. Optionalescriteriapräzisiert, was als „Ja“ und was als „Nein“ gelten soll.
Zur Auswahl: bekannte ungeordnete Optionen — choice; Abstufungen eines Spektrums — score; reines „Ja/Nein“, bei dem die Wahrscheinlichkeit selbst zählt — noul. Noul 0,5 bedeutet gleiche Chancen für „Ja“ und „Nein“, nicht eine „mittlere Stufe“: Den Grad misst score. Sind zwei Typen geeignet, wählen Sie denjenigen, anhand dessen der Code direkt handelt: choice für Verzweigungen, score für Schwellenwerte, noul für if.
Typen lassen sich in einer Anfrage kombinieren. Die Antwort ist immer auf Ihre Optionen begrenzt und hängt nicht von anderen Fragen ab: Fragen können hinzugefügt oder entfernt werden, ohne die übrigen Antworten zu verändern.
Zustand
Der Zustand ist das Material, das das Modell bewertet: eine Kundennachricht, ein Dokumentabschnitt, ein Datenbankeintrag oder der Zustand Ihrer Anwendung.
- String — für einen einzelnen Text: Nachricht, Artikel, Auszug.
- Objekt — benannte Felder, verknüpfte Einträge, Anwendungszustand. TypeSafe empfiehlt Objekte für die meisten Anfragen: Jeder Teil hat einen verständlichen Namen.
- Array — eine Folge von Nachrichten oder Einträgen.
Bereiten Sie den Zustand wie Material für Fachleute vor: Legen Sie Korrespondenz, Bestellung und Rückgaberegeln zusammen ab, wenn eine Entscheidung ihren Vergleich erfordert. Inhalte gehören in den Zustand, Urteile in die Fragen. Betrifft eine Frage einen Zustandsteil, nennen Sie den Pfad dazu in Backticks, beispielsweise ticket.messages[0].text.
Fragen formulieren
- Ein schnelles Urteil pro Frage. Eine gute Frage kann eine fachkundige Person mit dem nötigen Kontext in einer Sekunde beantworten: „Enthält die Nachricht Dringlichkeit?“. „Analysiere die Nachricht und entscheide, was zu tun ist“ erfordert bereits langsames Reasoning und muss in einfache Fragen aufgeteilt werden.
- Die gesamte Frage gehört in
instructions. Der Frageschlüssel, etwarefund_requested, wird nur von Ihrem Code benötigt und nicht an das Modell übermittelt. - Alle Fragen zu einem Zustand in einer Anfrage. Das Modell bewertet sie parallel: Laut TypeSafe erhöhen zusätzliche Fragen die Antwortzeit kaum und kosten nur ihre eigenen Tokens. Eine Frage „für alle Fälle“ ist fast kostenlos — der Code entscheidet selbst, welche Antworten benötigt werden.
- Komplexe Urteile aufteilen. Statt „Bewerte den Startup-Antrag“ fragen Sie getrennt nach Marktgröße, technischer Machbarkeit und Unterschieden zu Wettbewerbern und berechnen das Ergebnis im Code mit Gewichten. Ändern sich Prioritäten, ändern Sie Gewichte statt die Frage umzuschreiben.
- Abhängige Fragen in einer zweiten Anfrage. Antworten einer Anfrage dienen einander nicht als Kontext. Eine zweite Anfrage ist nur nötig, wenn sie ohne die erste Antwort nicht aufgebaut werden kann: Daten müssen nachgeladen oder Optionen der nächsten Frage gewählt werden.
- Lange Fragen als Objekt.
instructionsundcriteriasind normalerweise Strings, können aber Objekte oder Arrays sein: Die Frage steht in einem Feld, Daten in anderen. So lässt sich etwa ein Lebenslauf mit Datenbankeinträgen in einer Frage abgleichen.
Konfidenz
Bei choice und score zeigt confidence von 0 bis 1, wie stark die Wahrscheinlichkeit auf eine Antwort konzentriert ist: 1 bedeutet alles auf einer Option, 0 eine gleichmäßige Verteilung auf alle. Bei score senkt eine benachbarte Stufe die Konfidenz weniger als eine entfernte. Bei noul ist der Wert selbst die Konfidenz: Je weiter er von 0,5 entfernt ist, desto entschiedener die Antwort.
TypeSafe empfiehlt drei Bereiche:
- Hohe Konfidenz — automatisch handeln.
- Mittlere — vorsichtig handeln, beispielsweise den Nutzer um Bestätigung bitten.
- Niedrige — den Fall an einen Menschen weitergeben, die Anfrage präzisieren oder einen Ersatzweg verwenden, etwa ein leistungsfähigeres Reasoning-Modell.
Je kostspieliger ein Fehler, desto strenger der Schwellenwert: Für irreversible Aktionen höher als für das Lesen. Die Antwort sagt, was gewählt werden soll, die Konfidenz, ob gehandelt werden sollte. Wählen Sie Schwellenwerte anhand eigener Daten und vergleichen Sie Konfidenz mit Genauigkeit.
Ein System um Jev aufbauen
Jev ist nicht auf Agenten ausgelegt, die selbst den nächsten Schritt wählen und in jeder Runde vom Weg abkommen können, sondern auf Programme, deren Ablauf vom Code gesteuert wird und in denen das Modell eng umrissene Bedeutungsfragen beantwortet. Acht Entwurfsschritte nach TypeSafe:
- Alles, was sich mit Code erledigen lässt, mit Code erledigen — zuverlässig und günstig.
- Nur das in den Zustand aufnehmen, was die aktuellen Fragen benötigen; neue Fakten aus der eigenen Wissensdatenbank beziehen, nicht aus dem Modellgedächtnis.
- Den Zustand strukturieren: verschachteltes JSON und in der Frage den Pfad zum benötigten Feld in Backticks, wenn das Mehrdeutigkeit verringert.
- Möglichst enge und konkrete Fragen — laut TypeSafe wohl die wichtigste Regel: Eine breite Frage versteckt mehrere Urteile in einer Antwort.
- Fragen strukturieren: Die Frage selbst ist kurz; Erklärungen, Beispiele und Datenbankwerte gehören in benachbarte Felder des Objekts
instructionsodercriteria, nicht in einen langen String. - Viele unabhängige Fragen zu einem Zustand in einer Anfrage — mehr Nutzen pro Dollar.
- Antworten im Code zusammenführen: durch Regeln, eine gewichtete Summe oder als Merkmale für ein klassisches Machine-Learning-Modell.
- Nach Konfidenz verzweigen: Unsichere Fälle an Menschen oder ein Reasoning-Modell weitergeben.
Jev ist weder Chat noch Codevervollständigungsmodell und kann in einem Programmieragenten kein Sprachmodell ersetzen. Ein Agent kann jedoch Code für Sie schreiben, der Jev dort aufruft, wo eine schnelle kalibrierte Antwort benötigt wird.
Einsatzbereiche
- Hintergrundautomatisierung — Entscheidungen, die eine Million Mal ohne einen Menschen daneben ausgeführt werden.
- Echtzeit — laut TypeSafe dauern die meisten Anfragen ungefähr 100 ms: genug für Verarbeitung im laufenden Betrieb und Oberflächen.
- Große Datenmengen — Suche in riesigen Korpora, Annotation von Agentenlogs, Merkmale für Prognosen.
- Prüfung anderer Modelle — Anfragen, Extraktionen, Reasoning und Werkzeugaufrufe: Umgehung von Einschränkungen, Zitierfehler, erfundene Inhalte.
- Suche und Ranking — Relevanz eines Anfrage-Kandidaten-Paars, Reranking, Kontextauswahl.
- Verzweigung nach Absicht — was der Nutzer möchte und welcher Handler nötig ist: einfache Logik, Fachmodell oder Mensch; Thema, Komplexität und Risiko bestimmen, welches Sprachmodell die Anfrage erhält.
- Schutzprüfungen — Eingabe, Ausgabe und Werkzeugaufrufe eines Sprachmodells: eingeschleuste Anweisungen, Regelverstöße, Offenlegung persönlicher Daten.
- Support — Anfragegegenstand und Absicht, Dringlichkeit, Verärgerung, Abwanderungsrisiko, Rückerstattungswunsch, Warteschlange.
- Moderation — nach Plattformregeln: Toxizität, Belästigung, Spam, Betrug, gefährliche Ratschläge, persönliche Daten; abhängig von Schweregrad und Konfidenz freigeben, warnen, prüfen oder blockieren.
- Branchen — Versicherungsfälle, Finanzermittlungen und KYC, Verträge und Werbung, Produktkarten, Personalauswahl, Leads, Spiele, Risiken, Nachfrageprognosen, Wissensgraphen, wissenschaftliche Reviews, semantische Codeprüfungen in CI.
Merkmale
jev-latest— Alias der neuesten stabilen Version, derzeit Jev 1.13; die antwortende Version steht im Feldmodel, beispielsweisejev-1.13.0. Mit einer neuen Version wechselt der Alias zu ihr; Antworten können sich ohne Änderungen Ihrerseits verändern. Überwachen Sie dieses Feld, wenn Schwellenwerte auf eine Version abgestimmt sind.- Kontext — 64K Tokens pro Anfrage: Zustand und alle Fragen zusammen; Zustand plus längste Frage bis zu 32K. Das Modell liest den Zustand einmal und prüft alle Fragen parallel gegen ihn.
- Eingabe — nur Text: String, JSON-Objekt oder Textarray. Bilder, Audio und Video werden noch nicht unterstützt — wandeln Sie sie vorher in Text um.
- Sprache — Haupttrainingssprache ist Englisch; darin ist die Genauigkeit derzeit am höchsten. Andere Sprachen, darunter Chinesisch, Japanisch und Koreanisch, werden akzeptiert, die Genauigkeit ist aber geringer — prüfen Sie anhand eigener Daten.
- Preise und Abrechnung in Ailoot API — die Konditionen hängen von der gewählten Methode ab und sind auf deren Karte angegeben.
- Anpassung — Jev wird nicht mit Kundendaten feinabgestimmt: Eigene Materialien gehören in
state, Fachregeln ininstructionsundcriteria. - Daten — TypeSafe erklärt, dass Jev nicht mit Kundenanfragen und -antworten trainiert wird.
Bekannte Schwächen von Jev 1.13
TypeSafe nennt die Schwächen der aktuellen Version offen und verspricht, viele in folgenden Versionen zu beheben. Das Modell ist schnell, kalibriert und urteilt gut mit gesundem Menschenverstand, aber:
- Wörtliches Lesen. Es beantwortet die geschriebene Frage, nicht die gemeinte: Einschränkungen, Verneinungen und implizite Bedingungen werden wörtlich verstanden. Schreiben Sie die genaue Bedingung und Grenzfälle in
criteria; teilen Sie unvermeidliche Interpretationen in zwei wörtliche Fragen auf. - Kein Rechner. Das Zählen von Zeichen, Wiederholungen und Listenelementen ist unzuverlässig; der Fehler wächst mit dem Umfang. Zählen Sie im Code und stellen Sie eine Frage pro Kandidat. Farben in hex oder RGB versteht das Modell schlechter als Namen.
scoreeignet sich für Schwellenwerte, nicht für eine genaue Zahl zwischen Stufen. - Datum und Zeit. Welches Datum früher liegt, wie viel Zeit dazwischen liegt oder ob ein Datum in einen Zeitraum fällt, ist unzuverlässig, besonders bei gemischten Formaten und relativen Daten. Extrahieren Sie Datumsteile mit choice (mit einer Option „Nicht angegeben“) und vergleichen Sie im Code.
- Indirektheit. Doppelte Verneinungen und Fragen nach Eigenschaften von Eigenschaften verringern die Genauigkeit. Formulieren Sie direkt und benennen Sie Zustandsteile.
- Überflüssiger Zustand. Fremder Text verringert die Genauigkeit. Filtern Sie im Code; falls das nicht möglich ist, schließen Sie Irrelevantes mit noul-Fragen aus.
- Feindseliger Text. Das Modell erwartet standardmäßig keine Täuschungen im Zustand: Eine eingeschleuste Anweisung oder ein Text, der über seine eigene Klassifikation diskutiert, kann die Antwort verschieben. Formulieren Sie genaue Kriterien und prüfen Sie Grenzfälle vor dem Start.
- Widersprüche. Verlangen
instructionsundcriteriaUnterschiedliches — etwa wenn bei noul „Ja“ als „Nein“ beschrieben wird — sinkt die Genauigkeit. Kriterien sind eine Fortsetzung der Frage. - Optionsreihenfolge. Manchmal neigt das Modell zur ersten choice-Option. Ordnen Sie die Optionen um und prüfen Sie, dass sich die Antwort nicht verändert.
- Generierung. Jev wurde nicht zum Schreiben von Text trainiert. Finden Sie Kandidaten für Datenextraktion mit einem regulären Ausdruck oder generativen Modell und lassen Sie Jev mit choice den richtigen auswählen.
Ailoot · System One POST /v1/systemone jev-latest
jev-latestStart
Entscheidungsmodell von TypeSafe: Schreibt keinen Text, sondern beantwortet typisierte Fragen zu Text oder JSON — Optionsauswahl, Skalenbewertung oder „Ja/Nein“ mit Wahrscheinlichkeiten. Geeignet für Routing, Anfragensortierung, Moderation und Scoring; alle Fragen einer Anfrage werden parallel bewertet.
- Zulässige Eingaben
- Text
- Ergebnisse
- structured
In Ailoot verfügbar · Eingaben und Methoden
Ailoot · System One POST /v1/systemone
- Eingabetypen
text- Ausgabetypen
structured- Kontext
- 64.000 tokens
- Ausgabeformat
- json
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits jev-latest | Standard— |
Feldstate | Typstring|object|array | AnforderungErforderlich | Werte und Limits | Standard— |
Feldquestions | Typobject | AnforderungErforderlich | Werte und Limits Mindestanzahl Objektfelder: 1 | Standard— |
Feldquestions.<id>.type | Typstring | AnforderungErforderlich | Werte und Limits noul, choice, score | Standard— |
Feldquestions.<id>.instructions | Typstring|object|array|null | AnforderungOptional | Werte und Limits | Standard— |
Feldquestions.<id>.criteria | Typobject|array|null | AnforderungOptional | Werte und Limits Bedingungen: noul: optionale Beschreibungen, die null zulassen, für true/false; choice: Kriterienobjekt; score: nicht leeres Kriterienarray | Standard— |
Feldstream | Typboolean|null | AnforderungOptional | Werte und Limits false, null | Standard— |
Kombinationen von Eingabematerialien
noul · Erforderlich: state, questions.<id>.type=noul
choice · Erforderlich: state, questions.<id>.type=choice, criteria object
score · Erforderlich: state, questions.<id>.type=score, nonemptycriteriaarray
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametermaterial_types | Vertragtext |
Parameterrequired | Vertragmodel, state, questions |
Parameteroptional_controls | Vertragnull |
Parametercontent_type | Vertragapplication/json |
Lebenszyklus: exact retained published method
Methodenstrukturen und IDs sind exakt; die Fähigkeiten des Anbieters sind von der Zulassung einer Anfrage zu unterscheiden.
Tarife
Ailoot-Methodentarife
POST /v1/systemone- Eingabe
- ≈0,000084 $ / 1K
- Ausgabe
- 0,00 $ / 1K
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot · System One
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 customer message}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "jev-latest", "state": "", "questions": {"is_urgent": {"type": "noul", "instructions": "Does the supplied customer message express urgency?"}}}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["state"]=text
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
Ergebnisse abrufen und speichern
Ailoot · System One
json
Alle fertiggestellten Ergebnisse aufbewahren
Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.
Bewahren Sie jede Antwort mit der bereitgestellten Fragen-ID, Wahrscheinlichkeit und Legende auf; die Konfidenzformel mit n erfordert n>1, ohne damit eine API-Regel für eine Mindestanzahl von Auswahlmöglichkeiten festzulegen.
Antwortfelder
| Feld | Typ |
|---|---|
Feldanswers.<id>.type | Typstring |
Feldanswers.<id>.noul | Typnumber |
Feldanswers.<id>.choice | Typstring |
Feldanswers.<id>.score | Typnumber |
Feldanswers.<id>.confidence | Typnumber |
Feldanswers.<id>.probabilities | Typobject |
Feldanswers.<id>.legend | Typobject |
Feldusage | Typobject |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültig | Nächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren. |
Aliasnamen
Modellaliasnamen
Ailoot jev-latest
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · jev-latest
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/systemone·jev-latest:text→structured- Welche Felder verwendet die Anfrage?
POST /v1/systemone·jev-latest:model,state,questions,stream- Welche Grenzen gelten?
POST /v1/systemone·jev-latest:ctx:64000