Referenz

Jev API Docs

Referenz für den Jev-Entscheidungs-Endpoint auf dieser Website. Jev ist das System-One-Modell von TypeSafe AI; diese Website ist ein unabhängiger API-Dienst, der Zugang dazu bereitstellt. Senden Sie einen Zustand und eine Fragen-Map und erhalten Sie für jede eine typisierte Antwort.

Aktualisiert

Endpoint

Senden Sie POST an /api/v1/decisions auf diesem Host. Es gibt keinen chat-completions-Pfad und keine Streaming-Antwort. GET /api/v1/models listet die Modell-ID. Der kompatible POST /v1/systemone wird weiter unten behandelt.

POST https://jev-api.org/api/v1/decisions
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Authentifizierung

Setzen Sie den Dashboard-Schlüssel in Authorization: Bearer. Ein fehlender oder abgelehnter Schlüssel ergibt 401. Der Playground legt beim Ausführen einen Schlüssel für das Konto an.

Schnellstart

Setzen Sie JEV_API_KEY auf einen Schlüssel aus Ihrem Dashboard und senden Sie die Anfrage unten.

curl https://jev-api.org/api/v1/decisions \
  -H "Authorization: Bearer $JEV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "jev-1.13",
  "state": "Thanks for the refund. Still annoyed it took three emails.",
  "questions": {
    "sentiment": {
      "type": "choice",
      "instructions": "What is the overall sentiment of this message?",
      "criteria": {
        "positive": "Satisfied or thankful overall.",
        "mixed": "Both satisfied and unhappy.",
        "negative": "Unhappy overall."
      }
    },
    "needs_follow_up": {
      "type": "noul",
      "instructions": "Should a person reply to this message?"
    }
  }
}'

Mit KI-Coding-Tools verwenden

Kopieren Sie einen Prompt mit dem vollständigen Anfragevertrag und fügen Sie ihn zusammen mit Ihrer Aufgabe in Cursor, Claude Code oder ChatGPT ein. Dieselbe Referenz liegt unter /llms.txt.

/llms.txt

Anfrage-Body

model ist jev-1.13 oder jev-latest. state ist ein String, JSON-Objekt oder Textarray, bis 60.000 Zeichen. questions ist eine Map von 1 bis 6 snake_case-IDs. Die ID ist nur das Label, unter dem Ihre Antwort zurückkommt, keine Frage. Die echte Frage steht in instructions als Text von 1 bis 2.000 Zeichen.

{
  "model": "jev-1.13",
  "state": "Thanks for the refund. Still annoyed it took three emails.",
  "questions": {
    "sentiment": {
      "type": "choice",
      "instructions": "What is the overall sentiment of this message?",
      "criteria": {
        "positive": "Satisfied or thankful overall.",
        "mixed": "Both satisfied and unhappy.",
        "negative": "Unhappy overall."
      }
    },
    "needs_follow_up": {
      "type": "noul",
      "instructions": "Should a person reply to this message?"
    }
  }
}

Fragetypen

Noul

type noul braucht nur instructions. Das Feld noul ist die Wahrscheinlichkeit von 0 bis 1, dass die Aussage wahr ist. Es gibt kein separates confidence-Feld. Senden Sie criteria bei einer noul-Frage, ignoriert dieser Endpoint es.

Choice

type choice braucht instructions und criteria: ein Objekt von 2 bis 8 snake_case-IDs, jeweils mit einer Beschreibung von bis zu 300 Zeichen. Die Antwort enthält choice, probabilities jeder Option und confidence.

Score

type score braucht instructions und criteria als geordnetes Array von 2 bis 10 Stufen, die niedrigste zuerst. Die Antwort enthält score, legend, probabilities und confidence.

Antwort

Ein erfolgreicher Body hat model, answers unter Ihren Frage-IDs, usage mit input_tokens und output_tokens, und credits_used. model meldet jev-1.13, auch wenn Sie jev-latest gesendet haben. Unten eine Beispielantwort auf die Schnellstart-Anfrage, usage ausgelassen.

{
  "model": "jev-1.13",
  "answers": {
    "sentiment": {
      "type": "choice",
      "choice": "mixed",
      "probabilities": { "mixed": 0.79, "negative": 0.2, "positive": 0.01 },
      "confidence": 0.61
    },
    "needs_follow_up": { "type": "noul", "noul": 0.83 }
  },
  "credits_used": 1
}

Wahrscheinlichkeiten und confidence lesen

Noul ist die Wahrscheinlichkeit, dass die Aussage in instructions wahr ist. Choice und Score liefern eine Wahrscheinlichkeit je Option oder Stufe, plus confidence.

Der Zweite ist das Signal zur Übergabe. Wenn confidence niedrig ist oder zwei Optionen nah beieinander liegen, geben Sie den Fall an eine Person oder stellen Sie eine genauere Frage. Senken Sie den Cutoff nicht, bevor Sie diese knappen Fälle gesehen haben.

Limits

EintragDieser Endpoint
EndpointPOST /api/v1/decisions, Bearer-Schlüssel
Modelljev-1.13 (jev-latest ist ein Alias)
Fragen pro Aufruf1 bis 6
Choice-Optionen2 bis 8
Score-Stufen2 bis 10, niedrigste zuerst
StateString, JSON-Objekt oder Array, bis 60.000 Zeichen
InstructionsText, 1 bis 2.000 Zeichen
Abrechnung1 Credit pro erfolgreichem Aufruf; fehlgeschlagene sind kostenlos
StreamingNicht unterstützt

Unterschiede zu TypeSafes API

TypeSafe AI stellt Jev unter POST https://api.typesafe.ai/v1/systemone mit einem TypeSafe-Schlüssel bereit und rechnet pro Input-Token ab. POST /v1/systemone dieser Site akzeptiert denselben Body unverändert; der einfachere POST /api/v1/decisions weicht wie folgt ab:

  • Pfad und Schlüssel: POST /api/v1/decisions auf jev-api.org, mit einem Schlüssel aus dem Dashboard dieser Website. TypeSafe-Schlüssel funktionieren hier nicht, und Schlüssel dieser Website funktionieren nicht bei TypeSafe.
  • Modell-ID: auf /api/v1/decisions senden Sie jev-1.13 oder jev-latest; eine versionierte ID wie jev-1.13.0 liefert 422. /v1/systemone akzeptiert jev-latest, jev-preview, jev-1.13, jev-1.13.0 und typesafe/jev-1.13.
  • Limits: /api/v1/decisions erlaubt 1 bis 6 Fragen pro Aufruf und 2 bis 8 Choice-Optionen. /v1/systemone akzeptiert die vollen TypeSafe-Bereiche — bis zu 256 Fragen und 255 Choice-Optionen.
  • Felder: auf /api/v1/decisions muss instructions Text sein und jede Choice-Option braucht eine Beschreibung. /v1/systemone akzeptiert auch Objekt- oder Array-instructions und null-Optionsbeschreibungen.
  • Abrechnung: 1 Credit pro erfolgreichem Aufruf, unabhängig von der Token-Zahl.

TypeSafe-SDK-kompatibler Endpoint

POST /v1/systemone auf diesem Host nimmt den TypeSafe-Request-Body unverändert entgegen — model, state und questions — und liefert die TypeSafe-Antwortform: model, answers, usage. Richten Sie einen TypeSafe-kompatiblen Client auf die Base URL https://jev-api.org oder rufen Sie https://jev-api.org/v1/systemone direkt auf. GET /v1/models listet die bedienten Modelle ohne Schlüssel.

POST https://jev-api.org/v1/systemone
GET  https://jev-api.org/v1/models

Akzeptierte Modell-IDs: jev-latest, jev-preview, jev-1.13, jev-1.13.0, typesafe/jev-1.13. Dieser Pfad akzeptiert die weiteren TypeSafe-Bereiche — 1 bis 256 Fragen, 2 bis 255 Choice-Optionen, 2 bis 10 Score-Stufen, Objekt- oder Array-instructions — und die Limits von 64k Tokens pro Request und 32k für State plus die längste Frage. Die Abrechnung ist gleich: 1 Credit pro erfolgreichem Aufruf.

Python

from typesafe_sdk import Noul, TypeSafeClient

with TypeSafeClient(api_key="YOUR_JEV_API_KEY", base_url="https://jev-api.org") as client:
    response = client.system_one(
        state="The invoice total does not match the quote.",
        questions={"is_billing": Noul(instructions="Is this about billing?")},
    )

print(response.answers["is_billing"])

JavaScript

const res = await fetch('https://jev-api.org/v1/systemone', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.JEV_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'jev-latest',
    state: 'The invoice total does not match the quote.',
    questions: { is_billing: { type: 'noul', instructions: 'Is this about billing?' } },
  }),
})
const { answers } = await res.json()

Jev-Python-Guide·Jev-Modelle

Fehler

  • 401 — fehlender oder abgelehnter API-Schlüssel.
  • 402 — der Schlüssel ist gültig, das Guthaben reicht nicht. Ein Upstream-Fehler verbraucht kein Credit.
  • 422 — der Body hat die Prüfung nicht bestanden. Die Meldung nennt das Feld.
  • 429 — der Entscheidungsdienst ist begrenzt. Später erneut versuchen.
  • 502 — der Dienst hat keine Antworten geliefert. Es wird kein Credit verwendet.

Modell-ID

Diese API stellt jev-1.13 bereit. Senden Sie diese ID, wenn ein Schwellenwert von einer Verteilung abhängt. Auf dieser API ist jev-latest ein Alias derselben ID.

Alle Modell-IDs und Aliase·Laya-Modell und diese Jev-API