jev-latest
En beslutningsmodell fra TypeSafe: den skriver ikke tekst, men svarer på typede spørsmål om tekst eller JSON ved å velge et alternativ, gi en skår på en skala eller svare «ja/nei» med sannsynligheter. Den passer for ruting, sortering av henvendelser, moderering og skåring; alle spørsmål i én forespørsel vurderes parallelt.
Om modellen
Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.
Jev er TypeSafes flaggskipmodell og den første modellen i den nye klassen System One. Den skriver ikke tekst, men tar raske beslutninger som et program kan bruke direkte: du sender inn en tilstand (state) som tekst eller JSON og et sett med spørsmål, og får typede verdier med kalibrerte sannsynligheter tilbake.
Språkmodeller skriver ord for mennesker, mens Jev ifølge TypeSafe ligger nærmere kode: svaret kommer direkte i formen koden trenger, med høy hastighet og ingen verdier utenfor de angitte alternativene. Modellen er laget for å gi stabile svar ved gjentatte forespørsler.
Hvordan System One skiller seg fra en språkmodell
- Genererer ikke. Jev skriver ikke svar til brukeren, skriver ikke kode og forklarer ikke resonneringsforløpet. Du angir mulige svar gjennom én av tre spørsmålstyper.
- Trent på kalibrerte beslutninger. TypeSafe trener modellen med RLCD (Reinforcement Learning for Calibrated Decisions): sannsynlighetene tilpasses faktiske utfall og gjenspeiler usikkerhet. Blant mange svar med en sannsynlighet på 0,8 bør omtrent 80% være riktige. Kalibrering er en egenskap ved et stort utvalg, ikke en garanti for at et enkelt svar er riktig.
- Et annet treningsmål. Chatmodeller trenes på å tilfredsstille mennesker (RLHF), noe TypeSafe mener fremmer overdrevent medhold og feil som uttrykkes med sikkerhet. Diogo Almeida, en av medforfatterne bak RLHF, er medgründer av TypeSafe.
Navnet viser til «System 1» i Daniel Kahnemans bok «Tenke, fort og langsomt»: raske, intuitive vurderinger i motsetning til langsom, gjennomtenkt tenkning i «System 2». Jev er laget for raske, avgrensede vurderinger.
Tre spørsmålstyper
Et spørsmål er én vurdering av tilstanden, og svaret er en verdi som koden sammenligner med en terskel, sorterer eller sender videre.
- Choice — valg av alternativ. Avdeling for en henvendelse, produktkategori eller språket i et kodeutsnitt. Alternativene er en ordbok med «alternativ → beskrivelse», opptil 255 oppføringer. Svaret inneholder valgt
choice,probabilitiesfor alle alternativene (med sum 1) og sikkerhetsverdienconfidence. Hvis listen ikke nødvendigvis dekker alle tilfeller, legg til «annet» eller «ingen av alternativene». - Score — vurdering på en skala. Plassering på en ordnet skala som du beskriver: feilens alvorlighetsgrad, kundens irritasjon eller ferdighetsnivå. Fra 2 til 10 nivåer, fra lavest til høyest; modellen vurderer hvert nivå separat uten å se nummeret eller nabonivåene. Svaret inneholder
score(summen av nivånumrene multiplisert med sannsynlighetene deres, så verdien kan ligge mellom nivåene),legendmed nivåbeskrivelser,probabilitiesogconfidence. - Noul — ja eller nei. Om en påstand er riktig. Svaret
nouler sannsynligheten for «ja» fra 0 til 1: nær 1 er et sikkert «ja», nær 0 et sikkert «nei», og nær 0,5 er modellen usikker. Det finnes ingen separatconfidence: ett tall beskriver svaret fullt ut. Det valgfriecriteriapresiserer hva som skal regnes som «ja» og «nei».
Slik velger du: kjente alternativer uten rekkefølge — choice; trinn på et spekter — score; et rent «ja/nei» der selve sannsynligheten er viktig — noul. Noul 0,5 betyr like sjanser for «ja» og «nei», ikke et «middels nivå»: graden måles med score. Av to egnede typer velger du den koden handler direkte på: choice for forgreninger, score for en terskel og noul for if.
Typene kan blandes i én forespørsel. Svaret er alltid begrenset til alternativene dine og er uavhengig av andre spørsmål: spørsmål kan legges til eller fjernes uten at de øvrige svarene endres.
Tilstand
Tilstanden er det modellen vurderer: en kundemelding, et dokumentutsnitt, en databaseoppføring eller tilstanden til programmet ditt.
- Streng — når det er én tekst: en melding, artikkel eller et utdrag.
- Objekt — navngitte felt, relaterte oppføringer eller programtilstand. TypeSafe anbefaler objekter for de fleste forespørsler: hver del har et tydelig navn.
- Array — en sekvens av meldinger eller oppføringer.
Klargjør tilstanden som materiale for eksperter: legg korrespondanse, bestilling og returregler sammen hvis beslutningen krever at de sammenlignes. Hold innholdet i tilstanden og vurderingene i spørsmålene. Hvis et spørsmål gjelder én del av tilstanden, oppgi stien i spørsmålet med backticks, for eksempel ticket.messages[0].text.
Hvordan spørsmål formuleres
- Én rask vurdering per spørsmål. Et godt spørsmål kan en kyndig person med riktig kontekst svare på på ett sekund: «Uttrykker meldingen at det haster?». «Analyser meldingen og bestem hva som skal gjøres» krever allerede langsom resonnering og må deles i enkle spørsmål.
- Hele spørsmålet i
instructions. Spørsmålsnøkkelen, for eksempelrefund_requested, brukes bare av koden din og sendes ikke til modellen. - Alle spørsmål om samme tilstand i én forespørsel. Modellen vurderer dem parallelt: ifølge TypeSafe øker ekstra spørsmål svartiden svært lite og koster bare sine egne tokener. Et spørsmål «for sikkerhets skyld» koster nesten ingenting; koden bestemmer selv hvilke svar som trengs.
- Krevende vurderinger deles opp. Fremfor «vurder søknaden fra oppstartsbedriften», spør separat om markedsstørrelse, teknisk gjennomførbarhet og forskjeller fra konkurrentene, og beregn sluttresultatet i kode med vekter. Når prioriteringene endres, endrer du vektene, ikke spørsmålet.
- Avhengige spørsmål i en ny forespørsel. Svarene i én forespørsel gir ikke hverandre kontekst. En ny forespørsel trengs bare dersom den ikke kan bygges uten det første svaret: data må lastes inn, eller alternativer til neste spørsmål velges.
- Lange spørsmål som objekter.
instructionsogcriteriaer vanligvis strenger, men kan være objekter eller arrays: spørsmålet i ett felt og data i de andre. Dette er praktisk for å sammenligne en CV med databaseoppføringer i ett spørsmål.
Sikkerhet
For choice og score viser confidence fra 0 til 1 hvor konsentrert sannsynligheten er om ett svar: 1 betyr at alt ligger på ett alternativ, og 0 at den er likt fordelt mellom alle. For score reduserer et nabonivå sikkerheten mindre enn et fjernt nivå. For noul ligger sikkerheten i selve verdien: jo lenger fra 0,5, desto sikrere er svaret.
TypeSafe anbefaler tre områder:
- Høy sikkerhet — handle automatisk.
- Middels — handle forsiktig, for eksempel ved å be brukeren bekrefte.
- Lav — send saken til et menneske, presiser forespørselen eller bruk en reservevei, for eksempel en kraftigere modell med resonnering.
Jo dyrere en feil er, desto strengere terskel: for irreversible handlinger bør den være høyere enn for lesing. Svaret sier hva som skal velges, og sikkerheten om det bør handles. Tilpass tersklene til egne data ved å sammenligne sikkerhet med nøyaktighet.
Hvordan et system rundt Jev bygges
Jev er laget for programmer der koden styrer prosessen og modellen besvarer avgrensede spørsmål om mening, fremfor agenter som velger neste trinn selv og kan komme på avveie i hver runde. TypeSafes åtte designtrinn:
- Gjør alt som kan gjøres i kode, med kode — pålitelig og rimelig.
- Ta bare med det de aktuelle spørsmålene trenger, i tilstanden; hent nye fakta fra din egen kunnskapsbase, ikke fra modellens minne.
- Struktur i tilstanden: nestet JSON og en sti til riktig felt med backticks i spørsmålet hvis det gir mindre tvetydighet.
- De mest avgrensede og konkrete spørsmålene er ifølge TypeSafe kanskje hovedregelen: et bredt spørsmål skjuler flere vurderinger bak ett svar.
- Struktur i spørsmålene: selve spørsmålet er kort; forklaringer, eksempler og verdier fra databasen legges i nabofelt i
instructions- ellercriteria-objektet, ikke i én lang streng. - Mange uavhengige spørsmål om samme tilstand i én forespørsel — mer nytte per dollar.
- Koden kombinerer svarene: med regler, en vektet sum eller som egenskaper for en klassisk maskinlæringsmodell.
- Forgrening etter sikkerhet: usikre tilfeller sendes til et menneske eller en modell med resonnering.
Jev er ikke en chatmodell eller en modell for kodefullføring og kan ikke erstatte en språkmodell i en programmeringsagent. Agenten kan derimot skrive kode for deg som kaller Jev der det trengs et raskt, kalibrert svar.
Bruksområder
- Bakgrunnsautomatisering — beslutninger som kjøres en million ganger uten et menneske til stede.
- Sanntid — ifølge TypeSafe behandles de fleste forespørsler på omtrent 100 ms: raskt nok for løpende behandling og grensesnitt.
- Store datamengder — søk i svært store korpus, annotering av agentlogger og egenskaper til prognoser.
- Kontroll av andre modeller — forespørsler, datauttrekk, resonnering og verktøykall: omgåelse av begrensninger, siteringsfeil og oppdiktet innhold.
- Søk og rangering — relevans for et par av søkespørsmål og kandidat, rerangering og utvalg av kontekst.
- Forgrening etter hensikt — hva brukeren ønsker, og hvilken behandling som trengs: enkel logikk, en spesialisert modell eller et menneske; tema, vanskelighetsgrad og risiko avgjør hvilken språkmodell forespørselen sendes til.
- Beskyttelseskontroller — språkmodellens inndata, utdata og verktøykall: innskutte instruksjoner, regelbrudd og lekkasje av personopplysninger.
- Kundestøtte — henvendelsens tema og hensikt, hast, irritasjon, frafallsrisiko, refusjonsønske og kø.
- Moderering — etter plattformens regler: toksisitet, trakassering, spam, svindel, farlige råd og personopplysninger; ut fra alvorlighetsgrad og sikkerhet velges gjennomslipp, advarsel, kontroll eller blokkering.
- Bransjer — forsikringssaker, økonomiske undersøkelser og KYC, avtaler og reklame, produktkort, rekruttering, potensielle kunder, spill, risiko, etterspørselsprognoser, kunnskapsgrafer, vitenskapelige oversikter og semantiske kodekontroller i CI.
Egenskaper
jev-latest— alias for den siste stabile versjonen, nå Jev 1.13; versjonen som svarte, vises imodel, for eksempeljev-1.13.0. Når en ny versjon kommer, peker aliaset på den, og svarene kan endres uten endringer fra din side; følg med på dette feltet hvis tersklene er tilpasset en versjon.- Kontekst — 64K tokener per forespørsel: tilstanden og alle spørsmål samlet; tilstanden sammen med det lengste spørsmålet kan ha opptil 32K. Modellen leser tilstanden én gang og vurderer alle spørsmål mot den parallelt.
- Inndata — bare tekst: en streng, et JSON-objekt eller en array av tekster. Bilder, lyd og video støttes foreløpig ikke; gjør dem om til tekst først.
- Språk — hovedspråket i treningen er engelsk, og nøyaktigheten er nå høyest på dette språket. Modellen tar imot andre språk, inkludert kinesisk, japansk og koreansk, men nøyaktigheten er lavere; kontroller dette med egne data.
- Priser og fakturering i Ailoot API — vilkårene avhenger av den valgte metoden og er oppgitt på kortet for denne metoden.
- Tilpasning — Jev finjusteres ikke på kundedata: eget materiale legges i
state, og fagområdets regler iinstructionsogcriteria. - Data — TypeSafe opplyser at Jev ikke trenes på kunders forespørsler og svar.
Kjente svakheter i Jev 1.13
TypeSafe oppgir svakhetene i den gjeldende versjonen åpent og lover å rette mye i senere versjoner. Modellen er rask, kalibrert og god til vurderinger basert på sunn fornuft, men:
- Leser bokstavelig. Svarer på spørsmålet som er skrevet, ikke det som er underforstått: forbehold, negasjoner og implisitte vilkår tolkes bokstavelig. Skriv det nøyaktige vilkåret og grensetilfellene i
criteria; del nødvendig tolkning i to bokstavelige spørsmål. - Ingen kalkulator. Telling av tegn, gjentakelser og listeelementer er upålitelig, og feilen øker med omfanget; tell i kode og bruk ett spørsmål per kandidat. Modellen forstår farger i hex eller RGB dårligere enn fargenavn.
scoreegner seg for en terskel, men ikke et nøyaktig tall mellom nivåene. - Datoer og tid. Hvilken dato som er først, avstanden mellom datoer og om en dato faller innenfor en periode, er upålitelig, særlig med blandede formater og relative datoer. Hent datodeler med choice (med alternativet «ikke angitt»), og sammenlign i kode.
- Indirekte spørsmål. Dobbel negasjon og spørsmål om en egenskap ved en egenskap reduserer nøyaktigheten. Skriv direkte og navngi delene av tilstanden.
- Overflødig innhold i tilstanden. Uvedkommende tekst reduserer nøyaktigheten. Filtrer i kode, eller sil ut det irrelevante med noul-spørsmål hvis filtrering ikke er mulig.
- Fiendtlig tekst. Modellen forventer som standard ikke feller i tilstanden: en innskutt instruksjon eller tekst som argumenterer om sin egen klassifisering, kan påvirke svaret. Skriv presise kriterier og kontroller grensetilfeller før oppstart.
- Motsetninger. Hvis
instructionsogcriteriaber om forskjellige ting, for eksempel hvis «ja» i noul beskrives som «nei», faller nøyaktigheten. Kriteriene er en fortsettelse av spørsmålet. - Alternativrekkefølge. Modellen tenderer noen ganger mot det første choice-alternativet. Endre rekkefølgen og kontroller at svaret ikke endres.
- Generering. Jev er ikke trent til å skrive tekst. For datauttrekk finner du kandidater med et regulært uttrykk eller en generativ modell og lar Jev velge den riktige med choice.
Ailoot · System One POST /v1/systemone jev-latest
jev-latestStart
En beslutningsmodell fra TypeSafe: den skriver ikke tekst, men svarer på typede spørsmål om tekst eller JSON ved å velge et alternativ, gi en skår på en skala eller svare «ja/nei» med sannsynligheter. Den passer for ruting, sortering av henvendelser, moderering og skåring; alle spørsmål i én forespørsel vurderes parallelt.
- Godkjente inndata
- Tekst
- Resultater
- structured
Tilgjengelig i Ailoot · inndata & metoder
Ailoot · System One POST /v1/systemone
- Inndatatyper
text- Utdatatyper
structured- Kontekst
- 64 000 tokens
- Utdataformat
- json
| Felt | Type | Krav | Verdier & grenser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrevd | Verdier & grenser jev-latest | Standard— |
Feltstate | Typestring|object|array | KravPåkrevd | Verdier & grenser | Standard— |
Feltquestions | Typeobject | KravPåkrevd | Verdier & grenser Minste antall objektfelter: 1 | Standard— |
Feltquestions.<id>.type | Typestring | KravPåkrevd | Verdier & grenser noul, choice, score | Standard— |
Feltquestions.<id>.instructions | Typestring|object|array|null | KravValgfritt | Verdier & grenser | Standard— |
Feltquestions.<id>.criteria | Typeobject|array|null | KravValgfritt | Verdier & grenser Vilkår: noul: valgfrie beskrivelser for true/false som tillater null; choice: kriterieobjekt; score: kriteriematrise som må ha innhold | Standard— |
Feltstream | Typeboolean|null | KravValgfritt | Verdier & grenser false, null | Standard— |
Kombinasjoner av inngående materialer
noul · Påkrevd: state, questions.<id>.type=noul
choice · Påkrevd: state, questions.<id>.type=choice, criteria object
score · Påkrevd: state, questions.<id>.type=score, nonemptycriteriaarray
Metodeparametere og livssyklus
| Parameter | Avtale |
|---|---|
Parametermaterial_types | Avtaletext |
Parameterrequired | Avtalemodel, state, questions |
Parameteroptional_controls | Avtalenull |
Parametercontent_type | Avtaleapplication/json |
Livssyklus: exact retained published method
Metodestrukturer og ID-er er eksakte; leverandørens evne er adskilt fra godkjenning av forespørselen.
Priser
Satser for Ailoot-metoder
POST /v1/systemone- Inndata
- ≈0,000084 USD / 1K
- Utdata
- 0,00 USD / 1K
Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →
Eksempelforespørsler
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
Motta og lagre resultater
Ailoot · System One
json
Behold alle ferdige resultater
Behold alle fullstendige returnerte svar, filer og innholdsdeler.
Behold hvert svar med den oppgitte spørsmåls-ID-en, sannsynligheten og tegnforklaringen; konfidensformelen som bruker n, krever n>1 uten at dette innebærer en regel om minste antall svaralternativer i API-et.
Svarfelter
| Felt | Type |
|---|---|
Feltanswers.<id>.type | Typestring |
Feltanswers.<id>.noul | Typenumber |
Feltanswers.<id>.choice | Typestring |
Feltanswers.<id>.score | Typenumber |
Feltanswers.<id>.confidence | Typenumber |
Feltanswers.<id>.probabilities | Typeobject |
Feltanswers.<id>.legend | Typeobject |
Feltusage | Typeobject |
Feil og neste trinn
| Svar | Vilkår | Neste trinn |
|---|---|---|
Svar400 · invalid_request_error | VilkårUgyldige påkrevde felter, materialrepresentasjon eller parameterverdi | Neste trinnKorriger de angitte feltene før en ny opprettelsesforespørsel. |
Aliaser
Modellaliaser
Ailoot jev-latest
Aliaser for metodestier
Bruk metodestiene som vises ovenfor.
Tilknyttede anroper-ID-er
FAQ · jev-latest
- Hvilke inndata og resultater er tilgjengelige?
POST /v1/systemone·jev-latest:text→structured- Hvilke felt bruker forespørselen?
POST /v1/systemone·jev-latest:model,state,questions,stream- Hvilke grenser gjelder?
POST /v1/systemone·jev-latest:ctx:64000