Source: https://ailoot.ai/docs/de-ch/api/systemone/
Canonical: https://ailoot.ai/docs/de-ch/api/systemone/
Language: de-ch

[API](https://ailoot.ai/docs/de-ch/) 

# Jev — Entscheidungsmodell

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

Das Entscheidungsmodell Jev von TypeSafe beantwortet typisierte Fragen zu Text oder JSON: Auswahl einer Option, Bewertung auf einer Skala oder «Ja/Nein» mit Wahrscheinlichkeiten. Es führt keine Chats und generiert keinen Text.

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

Jev — Entscheidungsmodell

```bash
curl https://api.ailoot.ai/v1/systemone \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-latest",
    "state": "Hilfe! Meine Auszahlungen schlagen seit 3 Tagen fehl.",
    "questions": {
      "is_urgent": {
        "type": "noul",
        "instructions": "Drückt dies Dringlichkeit aus?"
      }
    }
  }' 
```

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

body = {
    "model": "jev-latest",
    "state": "Hilfe! Meine Auszahlungen schlagen seit 3 Tagen fehl.",
    "questions": {
        "is_urgent": {"type": "noul", "instructions": "Drückt dies Dringlichkeit aus?"},
    },
}
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: "Hilfe! Meine Auszahlungen schlagen seit 3 Tagen fehl.",
    questions: {
      is_urgent: { type: "noul", instructions: "Drückt dies Dringlichkeit aus?" },
    },
  }),
});
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 ist ein Entscheidungsmodell der Klasse System One von TypeSafe. Es schreibt keinen Text und führt keine Dialoge: Sie übergeben einen **Zustand** (`state`) — als Text oder JSON — sowie eine Reihe von **Fragen** und erhalten typisierte Werte mit Wahrscheinlichkeiten. Damit kann Ihr Code direkt verzweigen, sortieren und weiterleiten, ohne frei formulierten Text auswerten zu müssen.

Alle Fragen einer Anfrage werden parallel und unabhängig voneinander anhand desselben `state` bewertet. Laut TypeSafe verändert das Hinzufügen von Fragen die Antwortzeit kaum, und die Fragen beeinflussen einander nicht.

| Aspekt | Kurz erklärt |
| --- | --- |
| Modell | `jev-latest` — Alias der neuesten stabilen Jev-Version; [Karte im Katalog](https://ailoot.ai/models/de-ch/#m=jev-latest) |
| Methode | `POST /v1/systemone`. Kein Chat: Die Formate von OpenAI, Anthropic und Gemini eignen sich nicht für Jev. Die Antwort kommt vollständig als ein JSON-Dokument |
| Unterstützte Eingaben | Nur Text: Zeichenfolge, JSON-Objekt oder Array von Texten. Wandeln Sie Bilder, Audio und Video zuerst in Text um |
| Kontext | 64K Tokens pro Anfrage — state und alle Fragen zusammen; state plus längste Frage: bis zu 32K |
| Sprache | Laut TypeSafe arbeitet das Modell auf Englisch am genauesten; andere Sprachen werden akzeptiert, jedoch mit geringerer Genauigkeit — prüfen Sie dies mit Ihren eigenen Daten |
| Preis | Eingabe: $0.084 pro 1 Mio. Tokens, Ausgabe kostenlos |

## [](https://ailoot.ai/docs/de-ch/api/systemone/#request)Anfrage

### Authentifizierung

| Parameter | Typ | Erforderlich | Beschreibung |
| --- | --- | --- | --- |
| `Authorization` | header | erforderlich | Ailoot-Schlüssel im Format `Bearer sk-…`. |

### Anfragekörper

| Parameter | Typ | Erforderlich | Beschreibung |
| --- | --- | --- | --- |
| `model` | string | erforderlich | `jev-latest`. |
| `state` | string \| object \| array | erforderlich | Zu bewertender Inhalt: Zeichenfolge mit Text oder JSON — etwa eine Kundenanfrage, ein Datenbankeintrag, ein Nachrichtenverlauf oder der aktuelle Zustand Ihrer Anwendung. Ein Objekt mit aussagekräftigen Feldnamen ist meist praktischer als eine einzelne Zeichenfolge. |
| `questions` | object | erforderlich | Fragen. Die Schlüssel wählen Sie selbst; die Antworten erscheinen unter denselben Schlüsseln. Der Schlüssel beeinflusst die Antwort nicht — die eigentliche Frage steht in `instructions`. |
| `questions.*.type` | string | erforderlich | `noul`, `choice` oder `score` — siehe unten. |
| `questions.*.instructions` | string \| object \| array | erforderlich | Die eigentliche Frage. Eine lange Frage mit Daten können Sie als Objekt übergeben: die Frage in einem Feld, die Daten in anderen. Verweisen Sie mit Backticks auf die Feldnamen. |
| `questions.*.criteria` | object \| array |  | Antwortoptionen, je nach Typ: Beschreibungen für «Ja» und «Nein» bei noul (optional), Wörterbuch der Optionen bei choice, geordnete Liste von Stufen bei score. |

## [](https://ailoot.ai/docs/de-ch/api/systemone/#question-types)Fragetypen

| Typ | Fragestellung | Rückgabewert |
| --- | --- | --- |
| `noul` | Trifft die Aussage zu: ja oder nein | `noul` — Wahrscheinlichkeit für «Ja» von 0 bis 1 |
| `choice` | Welche der vorgegebenen Optionen passt | `choice`, `probabilities`, `confidence` |
| `score` | Auf welcher Stufe Ihrer Skala liegt state | `score`, `legend`, `probabilities`, `confidence` |

Die Typen können innerhalb einer Anfrage kombiniert werden.

### noul — ja oder nein

Das Feld `criteria` ist optional: Darin können Sie beschreiben, was «Ja» (`true`) und «Nein» (`false`) bedeuten. Die Antwort `noul` ist eine Zahl von 0 (nein) bis 1 (ja).

```json
"is_urgent": {
  "type": "noul",
  "instructions": "Drückt dies Dringlichkeit aus?",
  "criteria": {
    "true": "Ausdrücklich zeitkritisch",
    "false": "Keine Dringlichkeit geäussert"
  }
}
```

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

### choice — Option auswählen

`criteria` — Wörterbuch «Option → Beschreibung»; wenn keine Beschreibung nötig ist, geben Sie `null` an. Bis zu 255 Optionen. Die Antwort enthält `choice` — die wahrscheinlichste Option, `probabilities` — die Wahrscheinlichkeit jeder Option (Summe: 1), `confidence` — die Konfidenz von 0 bis 1.

```json
"department": {
  "type": "choice",
  "instructions": "Welches Team sollte dies bearbeiten?",
  "criteria": {
    "billing": "Zahlungen, Rechnungsstellung, Rückerstattungen",
    "technical": "Fehler, Ausfälle, Integrationen",
    "sales": "Preise, Upgrades, Neukunden"
  }
}
```

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

### score — Bewertung auf einer Skala

`criteria` — Stufen von der niedrigsten bis zur höchsten, höchstens 10 (TypeSafe empfiehlt mindestens zwei). Die Antwort enthält `score` — den nach Stufenwahrscheinlichkeiten gewichteten Wert (er kann zwischen zwei Stufen liegen), `legend` — die Nummer jeder Stufe und ihre Beschreibung, `probabilities` und `confidence`. Laut TypeSafe eignet sich `score` für den Vergleich mit einem Schwellenwert, jedoch nicht als exakte Zahl zwischen den Stufen.

```json
"frustration": {
  "type": "score",
  "instructions": "Wie frustriert ist der Kunde?",
  "criteria": ["Ruhig", "Frustriert", "Sehr wütend"]
}
```

```json
"frustration": {
  "type": "score",
  "score": 1.05,
  "legend": { "0": "Ruhig", "1": "Frustriert", "2": "Sehr wütend" },
  "probabilities": { "0": 0.0, "1": 0.95, "2": 0.05 },
  "confidence": 0.92
}
```

## [](https://ailoot.ai/docs/de-ch/api/systemone/#response)Antwort

| Parameter | Typ | Erforderlich | Beschreibung |
| --- | --- | --- | --- |
| `model` | string |  | Die Version des Modells, das geantwortet hat. Der Alias jev-latest wechselt mit der Zeit auf neuere Versionen: Falls Sie Ihre Schwellenwerte für `confidence` auf eine bestimmte Version abgestimmt haben, behalten Sie dieses Feld im Blick. |
| `answers` | object |  | Eine Antwort pro Frage, unter denselben Schlüsseln. Jede Antwort enthält `type`, bei choice und score zusätzlich `confidence`. |
| `usage` | object |  | `input_tokens` und `output_tokens`. Nur Eingabetokens werden abgerechnet. |

`confidence` eignet sich als Schwellenwert: Bei hoher Sicherheit handeln Sie automatisch, bei geringer Sicherheit geben Sie den Fall an einen Menschen oder ein grosses Modell zur Prüfung weiter. Die Antwort sagt, was zu wählen ist, und `confidence` zeigt, ob gehandelt werden sollte.

## [](https://ailoot.ai/docs/de-ch/api/systemone/#many-questions)Mehrere Fragen in einer Anfrage

Stellen Sie alle Fragen zu demselben state in einer einzigen Anfrage: Sie werden parallel bewertet, und state wird nur einmal übertragen. Laut TypeSafe war in ihrem Beispiel mit 13 Fragen eine gemeinsame Anfrage bei denselben Antworten 12,2-mal günstiger und 10-mal schneller als 13 nacheinander gesendete Einzelanfragen.

Zerlegen Sie komplexe Beurteilungen möglichst in einfache Fragen und kombinieren Sie die Antworten im Code: etwa statt «Bewerte den Antrag» separate Bewertungen des Marktes, der Umsetzbarkeit und der Unterschiede zur Konkurrenz. Die Gewichtung lässt sich dann im Code ändern statt im Fragetext.

```json
{
  "model": "jev-latest",
  "state": "Hilfe! Meine Auszahlungen schlagen seit 3 Tagen fehl.",
  "questions": {
    "department": {
      "type": "choice",
      "instructions": "Welches Team sollte dies bearbeiten?",
      "criteria": {
        "billing": "Zahlungen, Rechnungsstellung, Rückerstattungen",
        "technical": "Fehler, Ausfälle, Integrationen",
        "sales": "Preise, Upgrades, Neukunden"
      }
    },
    "frustration": {
      "type": "score",
      "instructions": "Wie frustriert ist der Kunde?",
      "criteria": ["Ruhig", "Frustriert", "Sehr wütend"]
    },
    "is_urgent": {
      "type": "noul",
      "instructions": "Drückt dies Dringlichkeit aus?"
    }
  }
}
```

## [](https://ailoot.ai/docs/de-ch/api/systemone/#use-cases)Geeignete Anwendungsfälle

- **Routing.** Eine Anfrage an die richtige Abteilung oder an die passende Bearbeitung weiterleiten: einfachen Code, ein grosses Modell oder einen Menschen.
- **Sortierung und Priorisierung.** Dringlichkeit, Stimmung und Risiko — anhand einer Skala mit Schwellenwerten im Code.
- **Moderation und Prüfungen.** Verstösst eine Nachricht gegen die Regeln? Belegt eine Quelle das Zitat? Enthält ein Dokument die Antwort auf eine Frage? Diese Prüfungen erfolgen, bevor der Text weiterverarbeitet wird.
- **Scoring und Ranking.** Dokumente, Kandidaten oder gefundene Textstellen anhand Ihrer eigenen Bewertungsrubrik beurteilen und im Code entscheiden, was weiterverarbeitet wird.
- **Statt eines fragilen «Gib JSON zurück».** Ein Aufruf, der konstruktionsbedingt typisierte Werte zurückgibt, statt Text, der erst ausgewertet werden muss.

## [](https://ailoot.ai/docs/de-ch/api/systemone/#not-for)Ungeeignete Anwendungsfälle

- **Chats, Antworten an Nutzende, Generierung von Text oder Code.** Jev schreibt keinen Text — dafür gibt es [Textmodelle](https://ailoot.ai/models/de-ch/?kind=text).
- **Als Modell für Claude Code, Cursor und andere Agenten.** jev-latest kann das Modell eines Agenten nicht ersetzen: Der Agent benötigt ein Modell, das Text schreibt und Werkzeuge aufruft. Jev können Sie aus dem Code aufrufen, den der Agent für Sie schreibt.
- **Arithmetik, Zählen, Datumsvergleiche.** Laut TypeSafe erledigt Code dies zuverlässiger. Fragen Sie das Modell nur nach dem inhaltlichen Teil — etwa um Bestandteile eines Datums mittels choice zu extrahieren.
- **Bilder, Audio und Video.** Das Modell akzeptiert nur Text — wandeln Sie solche Daten vorher in Text um.

Das Modell arbeitet am besten, wenn jede Frage eine einzelne, konkrete und eng gefasste Beurteilung verlangt. Formulieren Sie die Bedingung direkt: Laut TypeSafe versteht das Modell Fragen wörtlich; ein umfangreicher state mit unnötigen Daten verringert die Genauigkeit — filtern Sie ihn im Code.

## [](https://ailoot.ai/docs/de-ch/api/systemone/#price)Preis

Nur Eingabetokens werden abgerechnet — das Feld `usage.input_tokens` in der Antwort: **$0.084 pro 1 Mio**. Ausgabetokens sind kostenlos.

Die Beispielanfrage auf dieser Seite (296 Eingabetokens) kostet weniger als $0.0001.

Vor der Anfrage reserviert Ailoot den Betrag im Guthaben und bucht nach der Antwort einmalig den tatsächlichen Verbrauch ab — [so funktioniert es](https://ailoot.ai/docs/de-ch/billing/reserve/).

## [](https://ailoot.ai/docs/de-ch/api/systemone/#limits)Limits

| Aspekt | Limit |
| --- | --- |
| Gesamte Anfrage: state und alle Fragen | 64K Tokens |
| state plus längste Frage | 32K Tokens |
| Optionen in einem choice | bis zu 255 |
| Stufen in einem score | von 2 bis 10 |
| Eingabe | nur Text: Zeichenfolge, JSON-Objekt oder Array von Texten |

Modelllimits laut TypeSafe. Die Einschränkungen Ihres Schlüssels und Guthabens gelten wie bei jedem Ailoot-Modell: [Fehler und Limits](https://ailoot.ai/docs/de-ch/errors/).

## [](https://ailoot.ai/docs/de-ch/api/systemone/#errors)Fehler

Fehler werden im allgemeinen Ailoot-API-Format zurückgegeben: Code, verständlicher Text und Request ID. Bei dieser Methode treten am häufigsten folgende Fehler auf:

| Code | Ursache | Massnahme |
| --- | --- | --- |
| **400** `invalid_request` | Der Anfragekörper hat die Prüfung nicht bestanden: state, model oder questions fehlen, unbekannter type, mehr als 255 Optionen bei choice oder mehr als 10 Stufen bei score | Korrigieren Sie die Anfrage anhand des Fehlertexts: Ohne Änderung wird sie erneut abgelehnt |
| **400** `context_length_exceeded` | state und Fragen überschreiten zusammen das Modelllimit | Filtern Sie state im Code und behalten Sie nur die für die Fragen nötigen Daten |
| **401** `invalid_api_key` | Schlüssel fehlt oder ist ungültig | Übermitteln Sie den Schlüssel im Header Authorization |
| **402** `insufficient_balance` | Frei verfügbares Guthaben reicht nicht für die Reservierung | Guthaben aufladen |
| **404** `model_not_found`, `unsupported_endpoint` | Fehlerhafte ID oder Aufruf über die falsche Methode, etwa über /v1/chat/completions | Rufen Sie jev-latest ausschliesslich über POST /v1/systemone auf |
| **429** `rate_limit_exceeded` | Zu viele Anfragen | Warten Sie die im Header Retry-After angegebene Anzahl Sekunden und versuchen Sie es erneut |
| **503** `model_overloaded`, `model_unavailable` | Modell vorübergehend überlastet oder nicht verfügbar | Bei X-Should-Retry: true nach Retry-After Sekunden erneut versuchen; bei false zuerst die Request ID im Verlauf prüfen |
| **504** `model_timeout` | Modell hat nicht rechtzeitig geantwortet | Senden Sie die Anfrage erst erneut, nachdem Sie die Request ID im Verlauf geprüft haben |

Die vollständige Codeliste steht auf der Seite [Fehler und Limits](https://ailoot.ai/docs/de-ch/errors/).

Noch Fragen? Schicken Sie uns die Request ID und eine Beschreibung — wir helfen Ihnen weiter.[Support kontaktieren](mailto:support@ailoot.ai)

## Ailoot · Das Unternehmen und sein Projektportfolio





Ailoot baut auf bewährte Betriebserfahrung, einen großen Kundenstamm, stabilen Service und kontinuierliche KPI-Kontrolle.





Das Unternehmen und sein Projektportfolio: Millionen von Kunden; monatliche Umsätze in Milliardenhöhe.





Ailoot nutzt diese Betriebserfahrung für den API-Zugang zu KI-Funktionen in Kundenprodukten, Agenten, Anwendungen und Automatisierungen.
