jev-latest
Een beslismodel van TypeSafe: het schrijft geen tekst, maar beantwoordt getypeerde vragen over tekst of JSON met een keuze, schaalscore of ‘ja/nee’ met waarschijnlijkheden. Geschikt voor routering, het sorteren van aanvragen, moderatie en scoring; alle vragen binnen één verzoek worden parallel beoordeeld.
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
Jev is het vlaggenschipmodel van TypeSafe en het eerste model van de nieuwe klasse System One. Het schrijft geen tekst, maar neemt snel beslissingen die een programma direct kan gebruiken: u geeft een toestand (state) — tekst of JSON — en een reeks vragen door en krijgt getypeerde waarden met gekalibreerde waarschijnlijkheden terug.
Taalmodellen schrijven woorden voor mensen; volgens TypeSafe staat Jev dichter bij code: het antwoord heeft meteen de vorm die de code nodig heeft, met hoge snelheid en geen enkele waarde buiten de opgegeven opties. Het model is ontworpen om bij herhaalde verzoeken consistente antwoorden te geven.
Hoe System One van een taalmodel verschilt
- Het genereert niet. Jev schrijft geen gebruikersantwoorden, code of uitleg van zijn redenering. U bepaalt de mogelijke antwoorden via één van de drie vraagtypen.
- Het is getraind op gekalibreerde beslissingen. TypeSafe traint het model met RLCD (Reinforcement Learning for Calibrated Decisions): waarschijnlijkheden worden op werkelijke uitkomsten afgestemd en weerspiegelen onzekerheid. Van veel antwoorden met een waarschijnlijkheid van 0,8 zou ongeveer 80% correct moeten zijn. Kalibratie is een eigenschap van een grote steekproef, geen garantie dat één antwoord juist is.
- Het trainingsdoel is anders. Chatmodellen worden getraind om mensen te behagen (RLHF); volgens TypeSafe moedigt dit meegaandheid en overtuigend klinkende fouten aan. Eén van de medeontwikkelaars van RLHF, Diogo Almeida, is medeoprichter van TypeSafe.
De naam verwijst naar ‘Systeem 1’ uit Daniel Kahnemans boek ‘Ons feilbare denken’: snelle intuïtieve beoordeling tegenover het langzame, weloverwogen denken van ‘Systeem 2’. Jev is gemaakt voor snelle, afgebakende oordelen.
Drie vraagtypen
Een vraag is één oordeel over de toestand; het antwoord is een waarde die code met een drempel vergelijkt, sorteert of verder doorgeeft.
- Choice — een optie kiezen. De afdeling voor een aanvraag, productcategorie of taal van een codefragment. Opties vormen een woordenboek ‘optie → beschrijving’, met maximaal 255 vermeldingen. Het antwoord bevat de gekozen
choice,probabilitiesvoor alle opties (samen 1) en de zekerheidconfidence. Voeg ‘anders’ of ‘geen van bovenstaande’ toe als de lijst mogelijk niet alle gevallen dekt. - Score — beoordelen op een schaal. Een positie op een geordende schaal die u beschrijft: ernst van een fout, klantirritatie of vaardigheidsniveau. Van 2 tot 10 niveaus, van laag naar hoog; elk niveau wordt afzonderlijk beoordeeld zonder dat het model het nummer of aangrenzende niveaus ziet. Het antwoord bevat
score(de som van niveaunummers maal hun waarschijnlijkheid, dus de waarde kan tussen niveaus liggen),legendmet niveaubeschrijvingen,probabilitiesenconfidence. - Noul — ja of nee. Is de uitspraak waar? Het antwoord
noulis de waarschijnlijkheid van ‘ja’, van 0 tot 1: rond 1 een zeker ‘ja’, rond 0 een zeker ‘nee’, rond 0,5 aarzelt het model. Er is geen afzonderlijkeconfidence: één getal beschrijft het antwoord volledig. De optionelecriteriaverduidelijkt wat als ‘ja’ en ‘nee’ moet gelden.
Hoe te kiezen: bekende opties zonder volgorde — choice; stappen op een spectrum — score; zuiver ‘ja/nee’ waarbij de waarschijnlijkheid zelf telt — noul. Noul 0,5 betekent gelijke kansen op ‘ja’ en ‘nee’, niet een ‘gemiddeld niveau’: de mate wordt met score gemeten. Kies bij twee passende typen het type waarmee code meteen kan handelen: choice voor vertakkingen, score voor een drempel, noul voor if.
De typen kunnen in één verzoek worden gecombineerd. Het antwoord blijft altijd binnen uw opties en is onafhankelijk van andere vragen: vragen kunnen worden toegevoegd of verwijderd zonder de overige antwoorden te veranderen.
Toestand
De toestand is wat het model beoordeelt: een klantbericht, documentfragment, databaserecord of de toestand van uw toepassing.
- String — wanneer er één tekst is: een bericht, artikel of fragment.
- Object — benoemde velden, gekoppelde records of toepassingstoestand. TypeSafe beveelt een object aan voor de meeste verzoeken: elk onderdeel heeft een duidelijke naam.
- Array — een reeks berichten of records.
Bereid die voor als materiaal voor experts: voeg gesprekken, een bestelling en terugbetalingsregels samen als de beslissing vergelijking vereist. Houd inhoud in de toestand en oordelen in de vragen. Als een vraag over één toestandsdeel gaat, vermeld daarin het pad tussen backticks, bijvoorbeeld ticket.messages[0].text.
Vragen formuleren
- Eén snel oordeel per vraag. Een goede vraag is een vraag waarop iemand met de juiste kennis en context binnen een seconde antwoordt: ‘Is het bericht urgent?’. ‘Analyseer het bericht en beslis wat te doen’ vraagt al langzaam redeneren en moet in eenvoudige vragen worden opgesplitst.
- De volledige vraag in
instructions. De vraagsleutel, bijvoorbeeldrefund_requested, is alleen voor uw code nodig en wordt niet aan het model doorgegeven. - Alle vragen over één toestand in één verzoek. Het model beoordeelt ze parallel: volgens TypeSafe verhogen extra vragen de antwoordtijd nauwelijks en kosten ze alleen hun eigen tokens. Een vraag ‘voor het geval dat’ kost bijna niets; de code bepaalt zelf welke antwoorden nodig zijn.
- Een complex oordeel in delen. Vraag niet ‘beoordeel de startupaanvraag’, maar afzonderlijk naar marktomvang, technische haalbaarheid en onderscheid ten opzichte van concurrenten; bereken het eindresultaat daarna met gewichten in code. Bij andere prioriteiten verandert u de gewichten, niet de vraag.
- Afhankelijke vragen in een tweede verzoek. Antwoorden binnen één verzoek dienen niet als context voor elkaar. Een tweede verzoek is alleen nodig als het zonder het eerste antwoord niet kan worden opgebouwd: er moeten gegevens worden geladen of opties voor de volgende vraag gekozen.
- Een lange vraag als object.
instructionsencriteriazijn meestal strings, maar kunnen een object of array zijn: de vraag in één veld, gegevens in de andere. Zo kan een cv met databaserecords worden vergeleken binnen één vraag.
Zekerheid
Bij choice en score geeft confidence van 0 tot 1 aan hoe sterk de waarschijnlijkheid op één antwoord is geconcentreerd: 1 betekent volledig op één optie, 0 gelijk verdeeld over alle opties. Bij score verlaagt een aangrenzend niveau de zekerheid minder dan een ver niveau. Bij noul is de waarde zelf de zekerheid: hoe verder van 0,5, hoe stelliger het antwoord.
TypeSafe beveelt drie bereiken aan:
- Hoge zekerheid — automatisch handelen.
- Gemiddelde zekerheid — voorzichtig handelen, bijvoorbeeld de gebruiker om bevestiging vragen.
- Lage zekerheid — het geval aan een mens geven, het verzoek verduidelijken of een alternatief pad gebruiken, bijvoorbeeld een krachtiger model met redeneren.
Hoe duurder een fout, hoe strenger de drempel: hoger voor onomkeerbare acties dan voor lezen. Het antwoord vertelt wat te kiezen en de zekerheid of handelen verstandig is. Stem drempels op uw eigen gegevens af door zekerheid met nauwkeurigheid te vergelijken.
Een systeem rond Jev bouwen
Jev is bedoeld voor programma's waarin code het proces bestuurt en het model gerichte vragen over betekenis beantwoordt, niet voor agents die zelf de volgende stap kiezen en bij elke ronde kunnen ontsporen. Acht ontwerpstappen volgens TypeSafe:
- Doe alles wat met code kan in code: betrouwbaar en goedkoop.
- Plaats alleen in de toestand wat de huidige vragen nodig hebben; haal recente feiten uit uw eigen kennisbank, niet uit modelgeheugen.
- Structureer de toestand met geneste JSON en geef in de vraag het pad naar het relevante veld tussen backticks als dat ambiguïteit vermindert.
- Stel zo specifiek en concreet mogelijke vragen: volgens TypeSafe misschien wel de hoofdregel; een brede vraag verbergt meerdere oordelen achter één antwoord.
- Structureer vragen: houd de vraag zelf kort en plaats toelichting, voorbeelden en waarden uit uw database in naburige velden van het object
instructionsofcriteria, niet in één lange string. - Veel onafhankelijke vragen over één toestand in één verzoek leveren meer waarde per dollar.
- Code combineert de antwoorden: met regels, een gewogen som of als kenmerken voor een klassiek machinelearningmodel.
- Vertak op zekerheid: onzekere gevallen gaan naar een mens of een model met redeneren.
Jev is geen chat en geen model voor codeaanvulling; het kan een taalmodel in een programmeeragent niet vervangen. Een agent kan wel code voor u schrijven die Jev aanroept waar een snel, gekalibreerd antwoord nodig is.
Toepassingen
- Achtergrondautomatisering — beslissingen die een miljoen keer zonder mens erbij worden uitgevoerd.
- Realtime — volgens TypeSafe duren de meeste verzoeken ongeveer 100 ms: genoeg voor verwerking tijdens gebruik en interfaces.
- Grote datasets — zoeken in enorme corpora, agentwerklogs annoteren en kenmerken voor voorspellingen.
- Andere modellen controleren — verzoeken, extracties, redeneringen en toolaanroepen: het omzeilen van beperkingen, citatiefouten en verzinsels.
- Zoeken en rangschikken — relevantie van het paar ‘verzoek — kandidaat’, herrangschikken en contextselectie.
- Routeren op intentie — wat de gebruiker wil en welke afhandeling nodig is: eenvoudige logica, een gespecialiseerd model of een mens; onderwerp, complexiteit en risico bepalen welk taalmodel het verzoek krijgt.
- Beschermingscontroles — invoer, uitvoer en toolaanroepen van het taalmodel: geïnjecteerde instructies, regelovertredingen en lekken van persoonsgegevens.
- Support — onderwerp en intentie van de aanvraag, urgentie, irritatie, vertrekrisico, terugbetalingsvraag en wachtrij.
- Moderatie — volgens uw platformregels: toxiciteit, pesten, spam, fraude, gevaarlijk advies en persoonsgegevens; afhankelijk van ernst en zekerheid toestaan, waarschuwen, controleren of blokkeren.
- Sectoren — verzekeringsclaims, financieel onderzoek en KYC, contracten en reclame, productkaarten, personeelsselectie, leads, games, risico's, vraagvoorspelling, kennisgrafen, wetenschappelijke overzichten en semantische codecontroles in CI.
Kenmerken
jev-latest— alias van de laatste stabiele versie, momenteel Jev 1.13; de versie die antwoordde staat in het veldmodel, bijvoorbeeldjev-1.13.0. Bij een nieuwe versie gaat de alias daarnaar over en kunnen antwoorden zonder wijzigingen van uw kant veranderen; let op dit veld als de drempels op een versie zijn afgestemd.- Context — 64K tokens per verzoek: toestand en alle vragen samen; toestand plus de langste vraag maximaal 32K. Het model leest de toestand één keer en beoordeelt alle vragen daartegen parallel.
- Invoer — alleen tekst: een string, JSON-object of tekstarray. Afbeeldingen, audio en video worden nog niet ondersteund; zet die vooraf in tekst om.
- Taal — de belangrijkste trainingstaal is Engels; de nauwkeurigheid is daar momenteel het hoogst. Het model accepteert andere talen, waaronder Chinees, Japans en Koreaans, maar de nauwkeurigheid is lager; controleer op uw eigen gegevens.
- Prijzen en facturatie in Ailoot API — de voorwaarden hangen af van de gekozen methode en staan op de fiche van die methode.
- Afstemming — Jev wordt niet gefinetuned op klantgegevens: uw materiaal gaat in
state, de domeinregels ininstructionsencriteria. - Gegevens — TypeSafe meldt dat Jev niet wordt getraind op verzoeken en antwoorden van klanten.
Bekende zwakke punten van Jev 1.13
TypeSafe noemt openlijk de zwakke punten van de huidige versie en belooft veel daarvan in volgende versies te verhelpen. Het model is snel, gekalibreerd en oordeelt goed met gezond verstand, maar:
- Het leest letterlijk. Het beantwoordt de geschreven vraag, niet de bedoelde vraag: voorbehouden, ontkenningen en impliciete voorwaarden worden letterlijk begrepen. Schrijf de exacte voorwaarde en grensgevallen in
criteria; splits onvermijdelijke interpretatie op in twee letterlijke vragen. - Het is geen rekenmachine. Tekens, herhalingen en lijstonderdelen tellen is onbetrouwbaar en de fout neemt met de omvang toe; tel in code en stel één vraag per kandidaat. Hex- of RGB-kleuren worden minder goed begrepen dan kleurnamen.
scoreis geschikt voor een drempel, niet voor een exact getal tussen niveaus. - Datums en tijd. Bepalen welke datum eerder is, hoeveel tijd ertussen zit en of een datum binnen een periode valt, is onbetrouwbaar, vooral bij gemengde formaten en relatieve datums. Extraheer datumdelen via choice met een optie ‘niet opgegeven’ en vergelijk in code.
- Indirectheid. Dubbele ontkenningen en vragen over een eigenschap van een eigenschap verlagen de nauwkeurigheid. Schrijf direct en benoem de toestandsdelen.
- Overbodige toestandinhoud. Niet-relevante tekst verlaagt de nauwkeurigheid. Filter in code; als dat niet kan, verwijder irrelevant materiaal via noul-vragen.
- Vijandige tekst. Het model verwacht standaard geen trucs in de toestand: een geïnjecteerde instructie of tekst die zijn eigen classificatie betwist, kan het antwoord verschuiven. Schrijf exacte criteria en controleer grensgevallen vóór de start.
- Tegenstrijdigheden. Als
instructionsencriteriaiets anders vragen — bijvoorbeeld als bij noul ‘ja’ als ‘nee’ wordt beschreven — daalt de nauwkeurigheid. Criteria zijn het vervolg van de vraag. - Optievolgorde. Het model neigt soms naar de eerste choice-optie. Wijzig de optievolgorde en controleer of het antwoord gelijk blijft.
- Generatie. Jev is niet getraind om tekst te schrijven. Zoek voor gegevensextractie kandidaten met een reguliere expressie of generatief model en laat Jev vervolgens de juiste kiezen via choice.
Ailoot · System One POST /v1/systemone jev-latest
jev-latestAan de slag
Een beslismodel van TypeSafe: het schrijft geen tekst, maar beantwoordt getypeerde vragen over tekst of JSON met een keuze, schaalscore of ‘ja/nee’ met waarschijnlijkheden. Geschikt voor routering, het sorteren van aanvragen, moderatie en scoring; alle vragen binnen één verzoek worden parallel beoordeeld.
- Toegestane invoer
- Tekst
- Resultaten
- structured
Beschikbaar in Ailoot · invoer en methoden
Ailoot · System One POST /v1/systemone
- Invoer
text- Uitvoer
structured- Context
- 64.000 tokens
- Uitvoerformaat
- json
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten jev-latest | Standaard— |
Veldstate | Typestring|object|array | VereisteVereist | Waarden en limieten | Standaard— |
Veldquestions | Typeobject | VereisteVereist | Waarden en limieten Minimumaantal objectvelden: 1 | Standaard— |
Veldquestions.<id>.type | Typestring | VereisteVereist | Waarden en limieten noul, choice, score | Standaard— |
Veldquestions.<id>.instructions | Typestring|object|array|null | VereisteOptioneel | Waarden en limieten | Standaard— |
Veldquestions.<id>.criteria | Typeobject|array|null | VereisteOptioneel | Waarden en limieten Voorwaarden: noul: optionele beschrijvingen voor true/false die null mogen zijn; choice: object met criteria; score: niet-lege array met criteria | Standaard— |
Veldstream | Typeboolean|null | VereisteOptioneel | Waarden en limieten false, null | Standaard— |
Combinaties van invoermaterialen
noul · Vereist: state, questions.<id>.type=noul
choice · Vereist: state, questions.<id>.type=choice, criteria object
score · Vereist: state, questions.<id>.type=score, nonemptycriteriaarray
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametermaterial_types | Contracttext |
Parameterrequired | Contractmodel, state, questions |
Parameteroptional_controls | Contractnull |
Parametercontent_type | Contractapplication/json |
Levenscyclus: exact retained published method
De methodestructuren en ID’s zijn exact; de mogelijkheden van de leverancier staan los van toelating.
Tarieven
Ailoot-methodetarieven
POST /v1/systemone- Invoer
- ≈US$ 0,000084 / 1K
- Uitvoer
- US$ 0,00 / 1K
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
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
Resultaten ophalen en opslaan
Ailoot · System One
json
Alle voltooide resultaten bewaren
Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.
Bewaar elk antwoord volgens de aangeleverde vraag-ID, kans en legenda; de betrouwbaarheidsformule met n vereist n>1 zonder dat daarmee een API-regel voor het minimumaantal keuzes wordt aangenomen.
Antwoordvelden
| Veld | Type |
|---|---|
Veldanswers.<id>.type | Typestring |
Veldanswers.<id>.noul | Typenumber |
Veldanswers.<id>.choice | Typestring |
Veldanswers.<id>.score | Typenumber |
Veldanswers.<id>.confidence | Typenumber |
Veldanswers.<id>.probabilities | Typeobject |
Veldanswers.<id>.legend | Typeobject |
Veldusage | Typeobject |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeVerplichte velden, de materiaalrepresentatie of een parameterwaarde zijn ongeldig | Volgende stapCorrigeer de aangegeven velden vóór een nieuwe aanmaakaanvraag. |
Aliasnamen
Modelaliasnamen
Ailoot jev-latest
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
FAQ · jev-latest
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/systemone·jev-latest:text→structured- Welke velden gebruikt het verzoek?
POST /v1/systemone·jev-latest:model,state,questions,stream- Welke limieten gelden?
POST /v1/systemone·jev-latest:ctx:64000