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

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

# Jev — model decyzyjny

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

Model decyzyjny Jev firmy TypeSafe odpowiada na typowane pytania dotyczące tekstu lub JSON: wybór wariantu, ocena na skali lub „tak/nie” z prawdopodobieństwami. To nie czat ani generowanie tekstu.

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

Jev — model decyzyjny

```bash
curl https://api.ailoot.ai/v1/systemone \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-latest",
    "state": "Pomocy! Od 3 dni moje wypłaty kończą się niepowodzeniem.",
    "questions": {
      "is_urgent": {
        "type": "noul",
        "instructions": "Czy ta wiadomość wskazuje na pilną sprawę?"
      }
    }
  }' 
```

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

body = {
    "model": "jev-latest",
    "state": "Pomocy! Od 3 dni moje wypłaty kończą się niepowodzeniem.",
    "questions": {
        "is_urgent": {"type": "noul", "instructions": "Czy ta wiadomość wskazuje na pilną sprawę?"},
    },
}
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: "Pomocy! Od 3 dni moje wypłaty kończą się niepowodzeniem.",
    questions: {
      is_urgent: { type: "noul", instructions: "Czy ta wiadomość wskazuje na pilną sprawę?" },
    },
  }),
});
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 — model decyzyjny klasy System One firmy TypeSafe. Nie generuje tekstu ani nie prowadzi dialogu: przekazujesz **stan** (`state`) — tekst lub JSON — i zestaw **pytań**, a w odpowiedzi otrzymujesz typowane wartości z prawdopodobieństwami. Na ich podstawie kod od razu rozgałęzia wykonanie, sortuje i wyznacza dalszą ścieżkę, bez analizowania swobodnego tekstu.

Wszystkie pytania jednego żądania są oceniane równolegle i niezależnie od siebie, względem tego samego `state`. Według TypeSafe dodawanie pytań prawie nie zmienia czasu odpowiedzi, a pytania nie wpływają na siebie nawzajem.

| Co | W skrócie |
| --- | --- |
| Model | `jev-latest` — alias najnowszej stabilnej wersji Jev; [karta w katalogu](https://ailoot.ai/models/pl/#m=jev-latest) |
| Metoda | `POST /v1/systemone`. To nie czat: formaty OpenAI, Anthropic i Gemini nie pasują do Jev. Odpowiedź przychodzi w całości jako jeden JSON |
| Co przyjmuje | Tylko tekst: ciąg znaków, obiekt JSON lub tablica tekstów. Obrazy, audio i wideo najpierw przekształć w tekst |
| Kontekst | 64K tokenów na żądanie — state i wszystkie pytania łącznie; state z najdłuższym pytaniem — do 32K |
| Język | Według TypeSafe model najdokładniej działa po angielsku; inne języki przyjmuje, ale dokładność jest niższa — sprawdź na własnych danych |
| Cena | Wejście $0.084 za 1 mln tokenów, wyjście bez opłat |

## [](https://ailoot.ai/docs/pl/api/systemone/#request)Żądanie

### Autoryzacja

| Parametr | Typ | Wymagany | Opis |
| --- | --- | --- | --- |
| `Authorization` | header | wymagany | Klucz Ailoot w postaci `Bearer sk-…`. |

### Treść żądania

| Parametr | Typ | Wymagany | Opis |
| --- | --- | --- | --- |
| `model` | string | wymagany | `jev-latest`. |
| `state` | string \| object \| array | wymagany | Co oceniać: ciąg z tekstem lub JSON — zgłoszenie klienta, rekord z bazy, korespondencję, bieżący stan Twojej aplikacji. Obiekt z czytelnymi nazwami pól zwykle jest wygodniejszy niż pojedynczy ciąg znaków. |
| `questions` | object | wymagany | Pytania. Klucze wybierasz sam; odpowiedzi otrzymasz pod tymi samymi kluczami. Klucz nie wpływa na odpowiedź — samo pytanie jest zadawane w `instructions`. |
| `questions.*.type` | string | wymagany | `noul`, `choice` lub `score` — zobacz poniżej. |
| `questions.*.instructions` | string \| object \| array | wymagany | Samo pytanie. Długie pytanie z danymi można przekazać jako obiekt: pytanie w jednym polu, dane w innych; odwołuj się do pól po nazwie w grawisach. |
| `questions.*.criteria` | object \| array |  | Opcje odpowiedzi, różne dla każdego typu: opisy „tak” i „nie” dla noul (opcjonalnie), słownik wariantów dla choice, uporządkowana lista poziomów dla score. |

## [](https://ailoot.ai/docs/pl/api/systemone/#question-types)Typy pytań

| Typ | O co pyta | Co zwraca |
| --- | --- | --- |
| `noul` | Czy stwierdzenie jest prawdziwe: tak czy nie | `noul` — prawdopodobieństwo „tak” od 0 do 1 |
| `choice` | Który z podanych wariantów pasuje | `choice`, `probabilities`, `confidence` |
| `score` | Gdzie znajduje się state na Twojej skali poziomów | `score`, `legend`, `probabilities`, `confidence` |

Typy można łączyć w jednym żądaniu.

### noul — tak czy nie

Pole `criteria` jest opcjonalne: można w nim opisać, co oznacza „tak” (`true`) i „nie” (`false`). Odpowiedź `noul` — liczba od 0 (nie) do 1 (tak).

```json
"is_urgent": {
  "type": "noul",
  "instructions": "Czy ta wiadomość wskazuje na pilną sprawę?",
  "criteria": {
    "true": "Wyraźnie wymaga szybkiej reakcji",
    "false": "Nie wskazuje na pilną sprawę"
  }
}
```

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

### choice — wybór wariantu

`criteria` — słownik „wariant → opis”; jeśli opis nie jest potrzebny, podaj `null`. Do 255 wariantów. W odpowiedzi `choice` — najbardziej prawdopodobny wariant, `probabilities` — prawdopodobieństwo każdego wariantu (łącznie 1), `confidence` — pewność od 0 do 1.

```json
"department": {
  "type": "choice",
  "instructions": "Który zespół powinien się tym zająć?",
  "criteria": {
    "billing": "Płatności, fakturowanie, zwroty",
    "technical": "Błędy, awarie, integracje",
    "sales": "Ceny, przejście na wyższy plan, nowi klienci"
  }
}
```

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

### score — ocena na skali

`criteria` — poziomy od najniższego do najwyższego, nie więcej niż 10 (TypeSafe zaleca co najmniej dwa). W odpowiedzi `score` — wartość ważona prawdopodobieństwami poziomów (może znaleźć się między poziomami), `legend` — numer poziomu i jego opis, `probabilities` i `confidence`. Według TypeSafe, `score` nadaje się do porównania z progiem, ale nie do wyznaczania dokładnej liczby między poziomami.

```json
"frustration": {
  "type": "score",
  "instructions": "Jak bardzo sfrustrowany jest klient?",
  "criteria": ["Spokojny", "Sfrustrowany", "Bardzo rozzłoszczony"]
}
```

```json
"frustration": {
  "type": "score",
  "score": 1.05,
  "legend": { "0": "Spokojny", "1": "Sfrustrowany", "2": "Bardzo rozzłoszczony" },
  "probabilities": { "0": 0.0, "1": 0.95, "2": 0.05 },
  "confidence": 0.92
}
```

## [](https://ailoot.ai/docs/pl/api/systemone/#response)Odpowiedź

| Parametr | Typ | Wymagany | Opis |
| --- | --- | --- | --- |
| `model` | string |  | Która wersja modelu odpowiedziała. Alias jev-latest z czasem przechodzi na nowe wersje: jeśli dobrałeś progi `confidence` dla konkretnej wersji, obserwuj to pole. |
| `answers` | object |  | Po jednej odpowiedzi na każde pytanie, pod tymi samymi kluczami. Każda odpowiedź ma `type`, a w przypadku choice i score — także `confidence`. |
| `usage` | object |  | `input_tokens` i `output_tokens`. Opłata jest pobierana tylko za tokeny wejściowe. |

`confidence` wygodnie wykorzystać jako próg: przy odpowiedzi o wysokiej pewności — działaj automatycznie, przy niskiej — przekaż ją do oceny człowiekowi lub dużemu modelowi. Odpowiedź wskazuje, co wybrać, a `confidence` — czy warto działać.

## [](https://ailoot.ai/docs/pl/api/systemone/#many-questions)Kilka pytań w jednym żądaniu

Zadaj wszystkie pytania dotyczące jednego state w jednym żądaniu: są oceniane równolegle, a state jest przekazywany raz. Według TypeSafe w ich przykładzie z 13 pytaniami jedno wspólne żądanie było 12,2 razy tańsze i 10 razy szybsze niż 13 osobnych żądań wysyłanych kolejno, przy tych samych odpowiedziach.

Złożony osąd lepiej rozbić na proste pytania i połączyć odpowiedzi w kodzie: na przykład zamiast „oceń wniosek” — osobne oceny rynku, wykonalności i różnic wobec konkurencji. Wagi zmieniają się wtedy w kodzie, a nie w treści pytania.

```json
{
  "model": "jev-latest",
  "state": "Pomocy! Od 3 dni moje wypłaty kończą się niepowodzeniem.",
  "questions": {
    "department": {
      "type": "choice",
      "instructions": "Który zespół powinien się tym zająć?",
      "criteria": {
        "billing": "Płatności, fakturowanie, zwroty",
        "technical": "Błędy, awarie, integracje",
        "sales": "Ceny, przejście na wyższy plan, nowi klienci"
      }
    },
    "frustration": {
      "type": "score",
      "instructions": "Jak bardzo sfrustrowany jest klient?",
      "criteria": ["Spokojny", "Sfrustrowany", "Bardzo rozzłoszczony"]
    },
    "is_urgent": {
      "type": "noul",
      "instructions": "Czy ta wiadomość wskazuje na pilną sprawę?"
    }
  }
}
```

## [](https://ailoot.ai/docs/pl/api/systemone/#use-cases)Kiedy się sprawdza

- **Routing.** Przekazać zgłoszenie do właściwego działu, a żądanie do właściwego wykonawcy: prostego kodu, dużego modelu lub człowieka.
- **Sortowanie i priorytet.** Pilność, ton wypowiedzi, ryzyko — na skali, z progami w kodzie.
- **Moderacja i kontrole.** Czy wiadomość narusza zasady, czy źródło potwierdza cytat, czy w dokumencie znajduje się odpowiedź na pytanie — zanim tekst zostanie przekazany dalej.
- **Scoring i ranking.** Oceń dokumenty, kandydatów lub znalezione fragmenty według własnych kryteriów oceniania i zdecyduj w kodzie, co będzie przetwarzane dalej.
- **Zamiast kruchego „zwróć JSON”.** Wywołanie, które z założenia zwraca typowane wartości, a nie tekst wymagający parsowania.

## [](https://ailoot.ai/docs/pl/api/systemone/#not-for)Kiedy się nie sprawdza

- **Czat, odpowiedzi użytkownikowi, generowanie tekstu lub kodu.** Jev nie generuje tekstu — do tego służą [modele tekstowe](https://ailoot.ai/models/pl/?kind=text).
- **Model dla Claude Code, Cursor i innych agentów.** Nie da się podstawić jev-latest zamiast modelu agenta: agent potrzebuje modelu, który generuje tekst i wywołuje narzędzia. Jev można wywoływać z kodu, który agent napisze dla Ciebie.
- **Arytmetyka, liczenie, porównywanie dat.** Według TypeSafe takie operacje pewniej wykonywać w kodzie, a model pytać tylko o część znaczeniową — na przykład wydobyć części daty przez choice.
- **Obrazy, audio i wideo.** Model przyjmuje tylko tekst — wcześniej przekształć takie dane w tekst.

Model działa najlepiej, gdy każde pytanie jest jednym konkretnym, wąskim osądem. Formułuj warunek wprost: według TypeSafe model rozumie pytanie dosłownie, a duży state z niepotrzebnymi danymi obniża dokładność — odfiltruj je w kodzie.

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

Opłata jest pobierana tylko za tokeny wejściowe — pole `usage.input_tokens` odpowiedzi: **$0.084 za 1 mln**. Tokeny wyjściowe są bezpłatne.

Żądanie z przykładu na tej stronie (296 tokenów wejściowych) kosztuje mniej niż $0.0001.

Przed żądaniem Ailoot rezerwuje kwotę na saldzie, a po odpowiedzi obciąża je raz według faktycznego zużycia — [jak to działa](https://ailoot.ai/docs/pl/billing/reserve/).

## [](https://ailoot.ai/docs/pl/api/systemone/#limits)Limity

| Co | Limit |
| --- | --- |
| Całe żądanie: state i wszystkie pytania | 64K tokenów |
| state wraz z najdłuższym pytaniem | 32K tokenów |
| Wariantów w jednym choice | do 255 |
| Poziomów w jednym score | od 2 do 10 |
| Wejście | tylko tekst: ciąg znaków, obiekt JSON lub tablica tekstów |

Limity modelu — według TypeSafe. Ograniczenia Twojego klucza i salda obowiązują tak samo jak dla dowolnego modelu Ailoot: [Błędy i limity](https://ailoot.ai/docs/pl/errors/).

## [](https://ailoot.ai/docs/pl/api/systemone/#errors)Błędy

Błędy przychodzą w ogólnym formacie Ailoot API: kod, czytelny opis i Request ID. W tej metodzie najczęściej występują:

| Kod | Kiedy | Co zrobić |
| --- | --- | --- |
| **400** `invalid_request` | Treść żądania nie przeszła walidacji: brak state, model lub questions, nieznany type, więcej niż 255 wariantów w choice albo więcej niż 10 poziomów w score | Popraw żądanie zgodnie z treścią błędu: bez poprawki znów nie przejdzie walidacji |
| **400** `context_length_exceeded` | state i pytania łącznie przekraczają limit modelu | Odfiltruj state w kodzie, pozostaw dane potrzebne pytaniom |
| **401** `invalid_api_key` | Brak klucza lub klucz jest nieprawidłowy | Przekaż klucz w nagłówku Authorization |
| **402** `insufficient_balance` | Brakuje wolnych środków na saldzie na rezerwację | Doładuj saldo |
| **404** `model_not_found`, `unsupported_endpoint` | Błędny ID lub model wywołano niewłaściwą metodą, na przykład przez /v1/chat/completions | Wywołuj jev-latest tylko przez POST /v1/systemone |
| **429** `rate_limit_exceeded` | Zbyt wiele żądań | Poczekaj tyle sekund, ile podano w nagłówku Retry-After, i ponów żądanie |
| **503** `model_overloaded`, `model_unavailable` | Model jest chwilowo przeciążony lub niedostępny | Jeśli X-Should-Retry: true — ponów po Retry-After sekundach; jeśli false — najpierw sprawdź Request ID w historii |
| **504** `model_timeout` | Model nie odpowiedział na czas | Nie wysyłaj żądania ponownie, dopóki nie sprawdzisz Request ID w historii |

Pełna lista kodów — na stronie [Błędy i limity](https://ailoot.ai/docs/pl/errors/).

Dodatkowe pytania? Prześlij Request ID i opis — pomożemy wyjaśnić sprawę.[Napisz do wsparcia](mailto:support@ailoot.ai)

## Ailoot · Firma i jej portfel projektów





Ailoot opiera się na zgromadzonym doświadczeniu operacyjnym, szerokiej bazie klientów, stabilnej usłudze i stałej kontroli KPI.





Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.





Ailoot wykorzystuje to doświadczenie operacyjne, zapewniając dostęp przez API do funkcji AI w produktach klientów, agentach, aplikacjach i automatyzacjach.
