jev-latest
Model za odločanje družbe TypeSafe: ne piše besedila, temveč odgovarja na tipizirana vprašanja o besedilu ali JSON — izbiro možnosti, oceno na lestvici ali »da/ne« z verjetnostmi. Primeren je za usmerjanje, razvrščanje zahtev, moderiranje in točkovanje; vsa vprašanja ene zahteve se ocenijo vzporedno.
O modelu
Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.
Jev je vodilni model družbe TypeSafe in prvi model novega razreda System One. Ne piše besedila, temveč hitro sprejema odločitve, ki jih program lahko takoj uporabi: podate stanje (state) — besedilo ali JSON — in nabor vprašanj, v odgovor pa prejmete tipizirane vrednosti z umerjenimi verjetnostmi.
Jezikovni modeli pišejo besede za ljudi, Jev pa je po besedah družbe TypeSafe bližje kodi: odgovor je takoj v obliki, ki jo potrebuje koda, hitrost je visoka in nobena vrednost ni zunaj določenih možnosti. Model je zasnovan za dosledne odgovore pri ponovljenih zahtevah.
Kako se System One razlikuje od jezikovnega modela
- Ne ustvarja vsebine. Jev ne piše odgovorov uporabniku, ne piše kode in ne razlaga poteka sklepanja. Možne odgovore določite vi — z eno od treh vrst vprašanj.
- Naučen je za umerjene odločitve. TypeSafe model uči z metodo RLCD (Reinforcement Learning for Calibrated Decisions): verjetnosti se prilagajajo dejanskim izidom in odražajo negotovost. Med številnimi odgovori z verjetnostjo 0,8 naj bi jih bilo pravilnih približno 80%. Umerjenost je lastnost velikega vzorca in ne jamstvo pravilnosti posameznega odgovora.
- Drugačen cilj učenja. Pogovorne modele učijo ugajati ljudem (RLHF), kar po opažanju družbe TypeSafe spodbuja ustrežljivost in samozavestno zveneče napake. Eden od soavtorjev RLHF, Diogo Almeida, je soustanovitelj družbe TypeSafe.
Ime se nanaša na »Sistem 1« iz knjige Daniela Kahnemana »Razmišljanje, hitro in počasno«: hitro intuitivno presojanje v nasprotju s počasnim premišljenim razmišljanjem »Sistema 2«. Jev je ustvarjen za hitre, ozke presoje.
Tri vrste vprašanj
Vprašanje je ena presoja o stanju, odgovor pa vrednost, ki jo koda primerja s pragom, razvrsti ali posreduje naprej.
- Choice — izbira možnosti. Oddelek za zahtevo, kategorija izdelka, jezik odseka kode. Možnosti so slovar »možnost → opis«, do 255 možnosti. Odgovor vsebuje izbrani
choice, verjetnostiprobabilitiesvseh možnosti (vsota je 1) in zaupanjeconfidence. Če seznam morda ne zajame vseh primerov, dodajte »drugo« ali »nič od navedenega«. - Score — ocena na lestvici. Mesto na urejeni lestvici, ki jo opišete vi: resnost napake, razdraženost stranke, raven spretnosti. Od 2 do 10 ravni, od najnižje do najvišje; model vsako raven oceni ločeno, brez vpogleda v njeno številko in sosede. Odgovor vsebuje
score(vsoto številk ravni, pomnoženih z njihovimi verjetnostmi, zato je vrednost lahko med ravnmi),legendz opisi ravni,probabilitiesinconfidence. - Noul — da ali ne. Ali je trditev pravilna. Odgovor
noulje verjetnost »da« od 0 do 1: okoli 1 pomeni odločen »da«, okoli 0 odločen »ne«, okoli 0,5 pa model omahuje. Ločenegaconfidenceni: eno število v celoti opisuje odgovor. Neobveznicriterianatančneje določa, kaj šteje za »da« in kaj za »ne«.
Kako izbrati: znane neurejene možnosti — choice; stopnje spektra — score; čisti »da/ne«, kjer je pomembna sama verjetnost — noul. Noul 0,5 pomeni enaki možnosti za »da« in »ne«, ne pa »srednje ravni«: stopnjo meri score. Med dvema ustreznima vrstama izberite tisto, po kateri koda takoj ukrepa: choice — veje, score — prag, noul — if.
Vrste lahko združujete v eni zahtevi. Odgovor je vedno omejen na vaše možnosti in ni odvisen od drugih vprašanj: vprašanja lahko dodajate in odstranjujete brez spreminjanja drugih odgovorov.
Stanje
Stanje je tisto, kar model ocenjuje: sporočilo stranke, odsek dokumenta, zapis iz baze ali stanje vaše aplikacije.
- Niz — kadar gre za eno besedilo: sporočilo, članek, odlomek.
- Objekt — poimenovana polja, povezani zapisi, stanje aplikacije. TypeSafe za večino zahtev priporoča objekt: vsak del ima razumljivo ime.
- Polje — zaporedje sporočil ali zapisov.
Pripravite ga kot gradivo za strokovnjake: dopisovanje, naročilo in pravila vračila podajte skupaj, če jih je za odločitev treba primerjati. Vsebina naj bo v stanju, presoje pa v vprašanjih. Če se vprašanje nanaša na en del stanja, v njem navedite pot do tega dela v obrnjenih narekovajih, na primer ticket.messages[0].text.
Kako postavljati vprašanja
- Ena hitra presoja na vprašanje. Dobro vprašanje je tisto, na katero poznavalec s potrebnim kontekstom odgovori v sekundi: »Ali sporočilo izraža nujnost?«. »Analiziraj sporočilo in se odloči, kaj storiti« je že počasno sklepanje, ki ga je treba razdeliti na preprosta vprašanja.
- Celotno vprašanje v
instructions. Ključ vprašanja, na primerrefund_requested, potrebuje samo vaša koda in se ne posreduje modelu. - Vsa vprašanja o enem stanju v eni zahtevi. Model jih ocenjuje vzporedno: po podatkih družbe TypeSafe dodatna vprašanja skoraj ne podaljšajo odzivnega časa in stanejo le svoje tokene. Vprašanje »za vsak primer« je skoraj brezplačno — koda sama odloči, katere odgovore potrebuje.
- Zahtevna presoja po delih. Namesto »oceni prijavo zagonskega podjetja« ločeno vprašajte o velikosti trga, tehnični izvedljivosti in razlikah od konkurentov, rezultat pa izračunajte v kodi z utežmi. Če se prednostne naloge spremenijo, spremenite uteži in ne vprašanja.
- Odvisna vprašanja v drugi zahtevi. Odgovori iste zahteve drug drugemu ne služijo kot kontekst. Druga zahteva je potrebna le, če je brez prvega odgovora ni mogoče sestaviti: treba je naložiti podatke ali izbrati možnosti naslednjega vprašanja.
- Dolgo vprašanje kot objekt.
instructionsincriteriasta običajno niza, lahko pa sta objekt ali polje: vprašanje v enem polju, podatki v drugih. Tako lahko z enim vprašanjem primerjate življenjepis z zapisi baze.
Zaupanje
Pri choice in score confidence od 0 do 1 kaže, koliko verjetnosti je zbrane pri enem odgovoru: 1 pomeni vso pri eni možnosti, 0 pa enakomerno pri vseh. Pri score sosednja raven zaupanje zmanjša manj kot oddaljena. Pri noul je zaupanje sama vrednost: bolj ko je oddaljena od 0,5, odločnejši je odgovor.
TypeSafe priporoča tri območja:
- Visoko zaupanje — ukrepajte samodejno.
- Srednje — ukrepajte previdno, na primer prosite uporabnika za potrditev.
- Nizko — primer predajte človeku, natančneje določite zahtevo ali vključite rezervno pot, na primer zmogljivejši model s sklepanjem.
Višja ko je cena napake, strožji naj bo prag: pri nepovratnih dejanjih višji kot pri branju. Odgovor pove, kaj izbrati, zaupanje pa, ali ukrepati. Pragove določite na lastnih podatkih s primerjanjem zaupanja in natančnosti.
Kako zgraditi sistem okoli Jev
Jev je zasnovan za programe, v katerih proces upravlja koda, model pa odgovarja na ozka pomenska vprašanja, in ne za agente, ki sami izbirajo naslednji korak ter se lahko v vsakem krogu zmotijo. Osem korakov načrtovanja po TypeSafe:
- Vse, kar lahko opravite s kodo, opravite s kodo — zanesljivo in poceni.
- V stanje vključite samo tisto, kar potrebujejo trenutna vprašanja; sveža dejstva vzemite iz lastne baze znanja in ne iz pomnilnika modela.
- Struktura v stanju: gnezden JSON, v vprašanju pa pot do ustreznega polja v obrnjenih narekovajih, če je tako manj dvoumnosti.
- Najbolj ozka in konkretna vprašanja — po besedah družbe TypeSafe morda glavno pravilo: široko vprašanje za enim odgovorom skriva več presoj.
- Struktura v vprašanjih: samo vprašanje naj bo kratko; pojasnila, primeri in vrednosti iz vaše baze naj bodo v sosednjih poljih objekta
instructionsalicriteria, ne v enem dolgem nizu. - Več neodvisnih vprašanj o enem stanju v eni zahtevi — več koristi za vsak dolar.
- Odgovore združuje koda: s pravili, uteženo vsoto ali kot značilke za klasični model strojnega učenja.
- Razvejanje po zaupanju: negotove primere predajte človeku ali modelu s sklepanjem.
Jev ni pogovorni model ali model za dopolnjevanje kode in v agentskem programiranju ne more nadomestiti jezikovnega modela. Agent pa lahko za vas napiše kodo, ki Jev pokliče tam, kjer je potreben hiter umerjen odgovor.
Kje se uporablja
- Avtomatizacija v ozadju — odločitve, ki se sprožijo milijonkrat brez človeka v bližini.
- Realni čas — po podatkih družbe TypeSafe se večina zahtev izvede v približno 100 ms: dovolj za sprotno obdelavo in vmesnike.
- Veliki podatki — iskanje po ogromnih korpusih, označevanje dnevnikov agentskega dela, značilke za napovedi.
- Preverjanje drugih modelov — zahteve, izluščanje, sklepanje, klici orodij: obhodi omejitev, napake pri citiranju, izmišljotine.
- Iskanje in razvrščanje — ustreznost para »poizvedba — kandidat«, ponovno razvrščanje, izbira konteksta.
- Razvejanje po namenu — kaj želi uporabnik in kateri obdelovalec je potreben: preprosta logika, specializiran model ali človek; tema, zahtevnost in tveganje določajo, kateremu jezikovnemu modelu predati zahtevo.
- Zaščitna preverjanja — vhod, izhod in klici orodij jezikovnega modela: vstavljena navodila, kršitve pravil, uhajanje osebnih podatkov.
- Podpora — tema in namen zahteve, nujnost, razdraženost, tveganje odhoda, prošnja za vračilo, čakalna vrsta.
- Moderiranje — po pravilih vaše platforme: toksičnost, nadlegovanje, neželena sporočila, goljufije, nevarni nasveti, osebni podatki; glede na resnost in zaupanje prepustite, opozorite, preverite ali blokirajte.
- Področja — zavarovalni primeri, finančne preiskave in KYC, pogodbe in oglaševanje, kartice izdelkov, zaposlovanje, potencialne stranke, igre, tveganja, napoved povpraševanja, grafi znanja, znanstveni pregledi, pomenska preverjanja kode v CI.
Značilnosti
jev-latest— vzdevek zadnje stabilne različice, trenutno Jev 1.13; različica, ki je odgovorila, je v poljumodel, na primerjev-1.13.0. Ob novi različici vzdevek preide nanjo in odgovori se lahko spremenijo brez vaših popravkov — spremljajte to polje, če so pragovi prilagojeni različici.- Kontekst — 64K tokenov na zahtevo: stanje in vsa vprašanja skupaj; stanje z najdaljšim vprašanjem do 32K. Model stanje prebere enkrat in vzporedno glede nanj preverja vsa vprašanja.
- Vhod — samo besedilo: niz, objekt JSON ali polje besedil. Slike, zvok in video še niso podprti — predhodno jih pretvorite v besedilo.
- Jezik — glavni jezik učenja je angleščina, v kateri je natančnost trenutno največja. Model sprejema tudi druge jezike, vključno s kitajščino, japonščino in korejščino, vendar je natančnost manjša — preverite na lastnih podatkih.
- Cene in obračunavanje v Ailoot API — pogoji so odvisni od izbrane metode in navedeni na njeni kartici.
- Prilagajanje — Jev se ne uči dodatno na podatkih naročnika: lastno gradivo podajte v
state, področne zahteve pa vinstructionsincriteria. - Podatki — TypeSafe sporoča, da Jev ne učijo na zahtevah in odgovorih strank.
Znane šibke točke Jev 1.13
TypeSafe odkrito navaja šibke točke trenutne različice in obljublja številne izboljšave v naslednjih. Model je hiter, umerjen in dobro presoja po zdravi pameti, vendar:
- Bere dobesedno. Odgovarja na napisano vprašanje in ne na mišljeno: pridržke, zanikanja in neizrecne pogoje razume dobesedno. Natančen pogoj in mejne primere zapišite v
criteria; neizogibno razlago razdelite na dve dobesedni vprašanji. - Ni kalkulator. Štetje znakov, ponovitev in elementov seznama je nezanesljivo, napaka pa raste z velikostjo — štejte v kodi, z enim vprašanjem na kandidata. Barve v hex ali RGB model razume slabše od imen.
scoreje primeren za prag, ne za natančno število med ravnmi. - Datumi in čas. Kateri datum je prej, koliko časa je med njima, ali datum spada v obdobje — to je nezanesljivo, posebej pri mešanih formatih in relativnih datumih. Dele datuma izluščite prek choice (z možnostjo »ni navedeno«), primerjajte pa v kodi.
- Posrednost. Dvojna zanikanja in vprašanja o lastnosti lastnosti zmanjšujejo natančnost. Pišite neposredno in dele stanja poimenujte.
- Odvečno v stanju. Nepovezano besedilo zmanjšuje natančnost. Filtrirajte v kodi, če to ni mogoče, pa nepomembno izločite z vprašanji noul.
- Sovražno besedilo. Model privzeto ne pričakuje pasti v stanju: vstavljeno navodilo ali besedilo, ki razpravlja o lastni razvrstitvi, lahko premakne odgovor. Zapišite natančna merila in pred zagonom preverite mejne primere.
- Protislovja. Če
instructionsincriteriazahtevata različno — na primer je pri noul »da« opisan kot »ne« — natančnost pade. Merila so nadaljevanje vprašanja. - Vrstni red možnosti. Model se včasih nagiba k prvi možnosti choice. Preuredite možnosti in preverite, da se odgovor ne spremeni.
- Ustvarjanje besedila. Jev ni naučen pisati besedila. Za izluščanje podatkov poiščite kandidate z regularnim izrazom ali generativnim modelom, Jev pa naj pravilnega izbere prek choice.
Ailoot · System One POST /v1/systemone jev-latest
jev-latestZačetek
Model za odločanje družbe TypeSafe: ne piše besedila, temveč odgovarja na tipizirana vprašanja o besedilu ali JSON — izbiro možnosti, oceno na lestvici ali »da/ne« z verjetnostmi. Primeren je za usmerjanje, razvrščanje zahtev, moderiranje in točkovanje; vsa vprašanja ene zahteve se ocenijo vzporedno.
- Dovoljeni vhodi
- Besedilo
- Rezultati
- structured
Na voljo v Ailoot · vhodi in metode
Ailoot · System One POST /v1/systemone
- Vhod
text- Izhod
structured- Kontekst
- 64.000 tokens
- Izhodni format
- json
| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
|---|---|---|---|---|
Poljemodel | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve jev-latest | Privzeto— |
Poljestate | Vrstastring|object|array | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljequestions | Vrstaobject | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število polj objekta: 1 | Privzeto— |
Poljequestions.<id>.type | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve noul, choice, score | Privzeto— |
Poljequestions.<id>.instructions | Vrstastring|object|array|null | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljequestions.<id>.criteria | Vrstaobject|array|null | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: noul: neobvezna opisa za true/false, ki lahko vsebujeta null; choice: objekt meril; score: neprazno polje meril | Privzeto— |
Poljestream | Vrstaboolean|null | ZahtevaIzbirno | Vrednosti in omejitve false, null | Privzeto— |
Kombinacije vhodnih gradiv
noul · Obvezno: state, questions.<id>.type=noul
choice · Obvezno: state, questions.<id>.type=choice, criteria object
score · Obvezno: state, questions.<id>.type=score, nonemptycriteriaarray
Parametri in življenjski cikel metode
| Parameter | Specifikacija |
|---|---|
Parametermaterial_types | Specifikacijatext |
Parameterrequired | Specifikacijamodel, state, questions |
Parameteroptional_controls | Specifikacijanull |
Parametercontent_type | Specifikacijaapplication/json |
Življenjski cikel: exact retained published method
Strukture metod in ID so natančno določeni; zmožnost ponudnika je ločena od sprejema zahteve.
Cenik
Cene metod Ailoot
POST /v1/systemone- Vhod
- ≈0,000084 $ / 1K
- Izhod
- 0,00 $ / 1K
Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. Kako delujeta rezervacija in obračun →
Primeri zahtev
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
Prejmi in shrani rezultate
Ailoot · System One
json
Ohrani vse dokončane rezultate
Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.
Ohranite vsak odgovor z njegovim podanim ID-jem vprašanja, verjetnostjo in legendo; formula zaupanja z n zahteva n>1, ne da bi določala pravilo API o najmanjšem številu izbir.
Polja odgovora
| Polje | Vrsta |
|---|---|
Poljeanswers.<id>.type | Vrstastring |
Poljeanswers.<id>.noul | Vrstanumber |
Poljeanswers.<id>.choice | Vrstastring |
Poljeanswers.<id>.score | Vrstanumber |
Poljeanswers.<id>.confidence | Vrstanumber |
Poljeanswers.<id>.probabilities | Vrstaobject |
Poljeanswers.<id>.legend | Vrstaobject |
Poljeusage | Vrstaobject |
Napake in naslednji koraki
| Odgovor | Pogoj | Naslednji korak |
|---|---|---|
Odgovor400 · invalid_request_error | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |
Druga imena
Druga imena modelov
Ailoot jev-latest
Druga imena poti metod
Uporabite zgoraj navedene poti metod.
Povezani ID-ji za klic
FAQ · jev-latest
- Kateri vhodi in rezultati so na voljo?
POST /v1/systemone·jev-latest:text→structured- Katera polja uporablja zahteva?
POST /v1/systemone·jev-latest:model,state,questions,stream- Katere omejitve veljajo?
POST /v1/systemone·jev-latest:ctx:64000