Source: https://ailoot.ai/docs/sl/api/systemone/
Canonical: https://ailoot.ai/docs/sl/api/systemone/
Language: sl

[API](https://ailoot.ai/docs/sl/) 

# Jev – model za odločanje

[Markdown](https://ailoot.ai/docs/sl/api/systemone/index.md)

Model za odločanje Jev podjetja TypeSafe odgovarja na tipizirana vprašanja o besedilu ali JSON: izbira možnosti, ocena na lestvici ali »da/ne« z verjetnostmi. To ni klepet ali generiranje besedila.

POST`https://api.ailoot.ai/v1/systemone`

Jev – model za odločanje

```bash
curl https://api.ailoot.ai/v1/systemone \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-latest",
    "state": "Na pomoč! Izplačila mi že 3 dni ne uspevajo.",
    "questions": {
      "is_urgent": {
        "type": "noul",
        "instructions": "Ali to sporočilo izraža nujnost?"
      }
    }
  }' 
```

```python
import json, os, urllib.request

body = {
    "model": "jev-latest",
    "state": "Na pomoč! Izplačila mi že 3 dni ne uspevajo.",
    "questions": {
        "is_urgent": {"type": "noul", "instructions": "Ali to sporočilo izraža nujnost?"},
    },
}
req = urllib.request.Request(
    "https://api.ailoot.ai/v1/systemone",
    data=json.dumps(body).encode(),
    headers={"Authorization": "Bearer " + os.environ["AILOOT_API_KEY"],
             "Content-Type": "application/json"},
)
with urllib.request.urlopen(req, timeout=60) as resp:
    result = json.load(resp)
print(result["answers"]["is_urgent"]["noul"])  # 0.95
```

```js
const resp = await fetch("https://api.ailoot.ai/v1/systemone", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.AILOOT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "jev-latest",
    state: "Na pomoč! Izplačila mi že 3 dni ne uspevajo.",
    questions: {
      is_urgent: { type: "noul", instructions: "Ali to sporočilo izraža nujnost?" },
    },
  }),
});
const result = await resp.json();
if (!resp.ok) throw new Error(`${resp.status} ${JSON.stringify(result)}`);
console.log(result.answers.is_urgent.noul); // 0.95
```

200 OK

```json
{
  "model": "jev-1.13.0",
  "answers": {
    "is_urgent": {
      "type": "noul",
      "noul": 0.95
    }
  },
  "usage": { "input_tokens": 296, "output_tokens": 20 }
}
```

Jev je model za odločanje razreda System One podjetja TypeSafe. Ne piše besedila in ne vodi pogovora: posredujete **stanje** (`state`) – besedilo ali JSON – in nabor **vprašanj**, v odgovoru pa prejmete tipizirane vrednosti z verjetnostmi. Na njihovi podlagi koda takoj razveji izvajanje, razvršča in usmerja, brez razčlenjevanja prostega besedila.

Vsa vprašanja iste zahteve se ocenijo vzporedno in neodvisno drugo od drugega glede na isti `state`. Po podatkih TypeSafe dodajanje vprašanj skoraj ne spremeni odzivnega časa, vprašanja pa ne vplivajo drugo na drugo.

| Kaj | Na kratko |
| --- | --- |
| Model | `jev-latest` – vzdevek najnovejše stabilne različice Jev; [kartica v katalogu](https://ailoot.ai/models/sl/#m=jev-latest) |
| Metoda | `POST /v1/systemone`. To ni klepet: formati OpenAI, Anthropic in Gemini niso primerni za Jev. Odgovor prispe v celoti kot en JSON |
| Kaj sprejema | Samo besedilo: niz, objekt JSON ali polje besedil. Slike, zvok in video najprej pretvorite v besedilo |
| Kontekst | 64K žetonov na zahtevo – state in vsa vprašanja skupaj; state skupaj z najdaljšim vprašanjem – do 32K |
| Jezik | Po podatkih TypeSafe model najnatančneje deluje v angleščini; druge jezike sprejema, vendar je natančnost nižja – preverite na svojih podatkih |
| Cena | Vhod $0.084 za 1 milijon žetonov, izhod brezplačen |

## [](https://ailoot.ai/docs/sl/api/systemone/#request)Zahteva

### Avtentikacija

| Parameter | Tip | Obvezen | Opis |
| --- | --- | --- | --- |
| `Authorization` | header | obvezno | Ključ Ailoot v obliki `Bearer sk-…`. |

### Telo zahteve

| Parameter | Tip | Obvezen | Opis |
| --- | --- | --- | --- |
| `model` | string | obvezno | `jev-latest`. |
| `state` | string \| object \| array | obvezno | Kaj ocenjevati: niz z besedilom ali JSON – sporočilo stranke, zapis iz podatkovne zbirke, korespondenco, trenutno stanje vaše aplikacije. Objekt z razumljivimi imeni polj je običajno priročnejši od enega niza. |
| `questions` | object | obvezno | Vprašanja. Ključe izberete sami, odgovori pa prispejo pod istimi ključi; ključ ne vpliva na odgovor – samo vprašanje je določeno v `instructions`. |
| `questions.*.type` | string | obvezno | `noul`, `choice` ali `score` – glejte spodaj. |
| `questions.*.instructions` | string \| object \| array | obvezno | Samo vprašanje. Dolgo vprašanje s podatki lahko posredujete kot objekt: vprašanje v enem polju, podatke v drugih; na polja se sklicujte z imenom v obrnjenih narekovajih. |
| `questions.*.criteria` | object \| array |  | Možnosti odgovora, različne za vsako vrsto: opisa »da« in »ne« pri noul (neobvezno), slovar možnosti pri choice, urejeni seznam ravni pri score. |

## [](https://ailoot.ai/docs/sl/api/systemone/#question-types)Vrste vprašanj

| Vrsta | Kaj sprašuje | Kaj vrne |
| --- | --- | --- |
| `noul` | Ali trditev drži: da ali ne | `noul` – verjetnost odgovora »da« od 0 do 1 |
| `choice` | Katera od navedenih možnosti ustreza | `choice`, `probabilities`, `confidence` |
| `score` | Kje je state na vaši lestvici ravni | `score`, `legend`, `probabilities`, `confidence` |

Vrste lahko kombinirate v eni zahtevi.

### noul – da ali ne

Polje `criteria` je neobvezno: v njem lahko opišete, kaj pomenita »da« (`true`) in »ne« (`false`). Odgovor `noul` – število od 0 (ne) do 1 (da).

```json
"is_urgent": {
  "type": "noul",
  "instructions": "Ali to sporočilo izraža nujnost?",
  "criteria": {
    "true": "Izrecno časovno nujno",
    "false": "Nujnost ni izražena"
  }
}
```

```json
"is_urgent": {
  "type": "noul",
  "noul": 0.95
}
```

### choice – izbira možnosti

`criteria` – slovar »možnost → opis«; če opisa ne potrebujete, navedite `null`. Največ 255 možnosti. V odgovoru `choice` – najverjetnejša možnost, `probabilities` – verjetnost vsake možnosti (vsota je 1), `confidence` – zanesljivost od 0 do 1.

```json
"department": {
  "type": "choice",
  "instructions": "Katera ekipa naj to obravnava?",
  "criteria": {
    "billing": "Plačila, izdajanje računov, vračila",
    "technical": "Napake, izpadi, integracije",
    "sales": "Cene, nadgradnje, nove stranke"
  }
}
```

```json
"department": {
  "type": "choice",
  "choice": "billing",
  "probabilities": { "billing": 0.88, "technical": 0.12, "sales": 0.0 },
  "confidence": 0.81
}
```

### score – ocena na lestvici

`criteria` – ravni od najnižje do najvišje, največ 10 (TypeSafe priporoča vsaj dve). V odgovoru `score` – vrednost, utežena glede na verjetnosti ravni (lahko je med ravnmi), `legend` – številka ravni in njen opis, `probabilities` in `confidence`. Po podatkih TypeSafe je `score` primeren za primerjavo s pragom, ne pa za natančno število med ravnmi.

```json
"frustration": {
  "type": "score",
  "instructions": "Kako nezadovoljna je stranka?",
  "criteria": ["Mirna", "Nezadovoljna", "Zelo jezna"]
}
```

```json
"frustration": {
  "type": "score",
  "score": 1.05,
  "legend": { "0": "Mirna", "1": "Nezadovoljna", "2": "Zelo jezna" },
  "probabilities": { "0": 0.0, "1": 0.95, "2": 0.05 },
  "confidence": 0.92
}
```

## [](https://ailoot.ai/docs/sl/api/systemone/#response)Odgovor

| Parameter | Tip | Obvezen | Opis |
| --- | --- | --- | --- |
| `model` | string |  | Katera različica modela je odgovorila. Vzdevek jev-latest sčasoma preide na nove različice: če ste pragove `confidence` prilagodili določeni različici, spremljajte to polje. |
| `answers` | object |  | En odgovor za vsako vprašanje, pod istimi ključi. Vsak odgovor ima `type`, pri choice in score pa še `confidence`. |
| `usage` | object |  | `input_tokens` in `output_tokens`. Obračunajo se samo vhodni žetoni. |

`confidence` je priročno uporabiti kot prag: pri zanesljivem odgovoru ukrepajte samodejno, pri nezanesljivem pa ga pošljite v pregled človeku ali velikemu modelu. Odgovor pove, kaj izbrati, `confidence` pa – ali je smiselno ukrepati.

## [](https://ailoot.ai/docs/sl/api/systemone/#many-questions)Več vprašanj v eni zahtevi

Vsa vprašanja za isti state pošljite v eni zahtevi: ocenijo se vzporedno, state pa se posreduje samo enkrat. Po podatkih TypeSafe je bila v njihovem primeru s 13 vprašanji ena skupna zahteva 12,2-krat cenejša in 10-krat hitrejša kot 13 ločenih zahtev, poslanih zaporedno, pri enakih odgovorih.

Zapleteno presojo je bolje razdeliti na preprosta vprašanja in odgovore združiti v kodi: na primer, namesto »oceni vlogo« ločeno ocenite trg, izvedljivost in razlike glede na konkurente. Uteži nato spreminjate v kodi, ne v besedilu vprašanja.

```json
{
  "model": "jev-latest",
  "state": "Na pomoč! Izplačila mi že 3 dni ne uspevajo.",
  "questions": {
    "department": {
      "type": "choice",
      "instructions": "Katera ekipa naj to obravnava?",
      "criteria": {
        "billing": "Plačila, izdajanje računov, vračila",
        "technical": "Napake, izpadi, integracije",
        "sales": "Cene, nadgradnje, nove stranke"
      }
    },
    "frustration": {
      "type": "score",
      "instructions": "Kako nezadovoljna je stranka?",
      "criteria": ["Mirna", "Nezadovoljna", "Zelo jezna"]
    },
    "is_urgent": {
      "type": "noul",
      "instructions": "Ali to sporočilo izraža nujnost?"
    }
  }
}
```

## [](https://ailoot.ai/docs/sl/api/systemone/#use-cases)Kdaj je primeren

- **Usmerjanje.** Sporočilo stranke pošljite ustreznemu oddelku, zahtevo pa ustreznemu izvajalcu: preprosti kodi, velikemu modelu ali človeku.
- **Razvrščanje in prednost.** Nujnost, ton, tveganje – na lestvici, s pragovi v kodi.
- **Moderiranje in preverjanje.** Ali sporočilo krši pravila, ali vir potrjuje navedek, ali dokument vsebuje odgovor na vprašanje – preden besedilo nadaljuje pot.
- **Ocenjevanje in razvrščanje.** Dokumente, kandidate ali najdene odlomke ocenite po svojih merilih in v kodi odločite, kaj bo šlo naprej.
- **Namesto nezanesljivega »vrni JSON«.** Klic, ki že po zasnovi vrne tipizirane vrednosti, namesto besedila, ki ga je treba razčleniti.

## [](https://ailoot.ai/docs/sl/api/systemone/#not-for)Kdaj ni primeren

- **Klepet, odgovori uporabniku, generiranje besedila ali kode.** Jev ne piše besedila – za to so na voljo [besedilni modeli](https://ailoot.ai/models/sl/?kind=text).
- **Model za Claude Code, Cursor in druge agente.** jev-latest ne morete uporabiti namesto agentovega modela: agent potrebuje model, ki piše besedilo in kliče orodja. Jev lahko kličete iz kode, ki jo agent napiše za vas.
- **Aritmetika, štetje, primerjava datumov.** Po podatkih TypeSafe je to zanesljiveje izvesti v kodi, model pa vprašati le po pomenskem delu – na primer, prek choice izluščiti dele datuma.
- **Slike, zvok in video.** Model sprejema le besedilo – takšne podatke vnaprej pretvorite v besedilo.

Model najbolje deluje, ko je vsako vprašanje ena konkretna, ozka presoja. Pogoj navedite neposredno: po podatkih TypeSafe model vprašanje razume dobesedno, velik state z odvečnimi podatki pa zmanjša natančnost – filtrirajte ga v kodi.

## [](https://ailoot.ai/docs/sl/api/systemone/#price)Cena

Obračunajo se samo vhodni žetoni – polje `usage.input_tokens` odgovora: **$0.084 za 1 milijon**. Izhodni žetoni so brezplačni.

Zahteva iz primera na tej strani (296 vhodnih žetonov) stane manj kot $0.0001.

Ailoot pred zahtevo rezervira znesek na računu, po odgovoru pa ga bremeni enkrat glede na dejansko porabo – [kako deluje](https://ailoot.ai/docs/sl/billing/reserve/).

## [](https://ailoot.ai/docs/sl/api/systemone/#limits)Omejitve

| Kaj | Omejitev |
| --- | --- |
| Celotna zahteva: state in vsa vprašanja | 64K žetonov |
| state skupaj z najdaljšim vprašanjem | 32K žetonov |
| Možnosti v enem choice | do 255 |
| Ravni v enem score | od 2 do 10 |
| Vhod | samo besedilo: niz, objekt JSON ali polje besedil |

Omejitve modela so navedene po podatkih TypeSafe. Omejitve vašega ključa in stanja veljajo enako kot pri kateremkoli modelu Ailoot: [Napake in omejitve](https://ailoot.ai/docs/sl/errors/).

## [](https://ailoot.ai/docs/sl/api/systemone/#errors)Napake

Napake prispejo v skupnem formatu Ailoot API: koda, razumljivo besedilo in Request ID. Pri tej metodi so najpogostejše:

| Koda | Kdaj | Kaj storiti |
| --- | --- | --- |
| **400** `invalid_request` | Telo ni prestalo preverjanja: manjka state, model ali questions, neznan type, pri choice več kot 255 možnosti, pri score več kot 10 ravni | Zahtevo popravite glede na besedilo napake: brez popravka ponovno ne bo prestala preverjanja |
| **400** `context_length_exceeded` | state in vprašanja skupaj presegajo omejitev modela | Filtrirajte state v kodi in pustite le podatke, ki jih vprašanja potrebujejo |
| **401** `invalid_api_key` | Ključ manjka ali je napačen | Ključ pošljite v glavi Authorization |
| **402** `insufficient_balance` | Za rezervacijo ni dovolj prostih sredstev | Dodajte sredstva |
| **404** `model_not_found`, `unsupported_endpoint` | ID je napačen ali je model poklican z napačno metodo, na primer prek /v1/chat/completions | jev-latest kličite le prek POST /v1/systemone |
| **429** `rate_limit_exceeded` | Preveč zahtev | Počakajte toliko sekund, kot je navedeno v glavi Retry-After, in ponovite |
| **503** `model_overloaded`, `model_unavailable` | Model je začasno preobremenjen ali nedostopen | Če je X-Should-Retry: true – ponovite po številu sekund, navedenem v Retry-After; če je false – najprej preverite Request ID v zgodovini |
| **504** `model_timeout` | Model ni odgovoril pravočasno | Zahteve ne pošljite ponovno, dokler ne preverite Request ID v zgodovini |

Celotni seznam kod najdete na strani [Napake in omejitve](https://ailoot.ai/docs/sl/errors/).

Imate še vprašanja? Pošljite Request ID in opis – pomagali vam bomo razjasniti težavo.[Pišite podpori](mailto:support@ailoot.ai)

## Ailoot · Podjetje in njegov portfelj projektov





Ailoot temelji na pridobljenih operativnih izkušnjah, široki bazi strank, stabilni storitvi in stalnem spremljanju KPI.





Podjetje in njegov portfelj projektov: milijoni strank; mesečna prodaja v milijardah.





Ailoot te operativne izkušnje uporablja za dostop prek API do funkcij umetne inteligence v izdelkih strank, agentih, aplikacijah in avtomatizacijah.
