Nezávislý průvodce a komunita pro vývojáře
Oficiální informace o Jev: typesafe.ai

Vyzkoušejte Jev zdarma

Položte jednu otázku nebo tři různé otázky ke stejné situaci. Vyberte příklad, upravte vstup a prohlédněte si jednotlivé strukturované odpovědi.

Prozkoumat projekty na GitHubu
01 / Zvolte otázku

Začněte konkrétním příkladem

typesafe/jev-1.13

Zkoušejte vždy jeden typ odpovědi. Každé spuštění spotřebuje jeden denní pokus.

1. Choice
questions.decision
Náhled požadavku API

Náhled neobsahuje klíč API ani ověřovací token. Každé ID otázky má odpověď se stejným názvem.

{
  "model": "typesafe/jev-1.13",
  "state": {
    "input": "Předplatné jste mi naúčtovali dvakrát. Můžete mi pomoct?"
  },
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "Který tým má požadavek vyřídit?",
      "criteria": {
        "billing": "Platby a vrácení peněz",
        "technical": "Chyby a integrace",
        "general": "Ostatní dotazy"
      }
    }
  }
}

Na účet připadá 6 bezplatných pokusů denně podle UTC; v 00:00 UTC se limit obnoví. Denní kapacita celého webu je omezená. Vstup se posílá do OpenRouter; ukládáme údaje o použití, nikoli váš vstup.

02 / Jak číst odpověď

Můžete začít

Spusťte příklad a získejte strukturovanou odpověď na každou otázku: Choice vybere možnost, Score zařadí výsledek na škálu a Probability vrátí hodnotu od 0 do 1.

Integrace

Přidejte Jev do svého kódu.

Formulář odesílá váš text jako state.input spolu s jednou nebo třemi pojmenovanými otázkami. Každý výsledek najdete pod answers.<question_id>.

Co znamenají jednotlivá pole

V požadavku určíte otázky a formát odpovědí. Odpověď obsahuje výsledek pro každou otázku. Tady je vysvětlení polí JSON z příkladu.

Pole požadavku

model
ID modelu. Příklad výslovně používá verzi Jev 1.13.
state
Text nebo strukturovaná data k vyhodnocení, například zpráva zákazníka.
questions
Objekt s pojmenovanými otázkami. Stejné názvy se objeví v poli answers.
<question_id>
Název, například action nebo urgency; odpověď používá stejný název.
type
Formát odpovědi: choice vybere možnost, score hodnotí na seřazené stupnici a noul posuzuje otázku ano/ne.
instructions
Konkrétní úsudek, který má model provést.
criteria
Povolené možnosti Choice, seřazené úrovně Score nebo význam false a true pro Noul.

Pole odpovědi

answers
Jeden výsledek pro každou otázku, vždy pod stejným názvem.
choice
Klíč vybrané možnosti s nejvyšší pravděpodobností.
probabilities
Pravděpodobnost každé možnosti; součet hodnot je 1.
confidence
Samostatná míra jistoty vypočítaná z rozdělení pravděpodobností; nejde o pravděpodobnost vybrané možnosti.
score
Pozice na seřazené stupnici vážená pravděpodobnostmi; může ležet mezi dvěma úrovněmi.
legend
Přiřazení číselných pozic Score k popisům vámi zadaných úrovní.
noul
Číslo od 0 (ne) do 1 (ano) pro otázku ano/ne.

Jeden společný kontext, tři nezávislé otázky: Choice, Score a Probability. Každé spuštění spotřebuje jeden denní pokus. I správně strukturovaná odpověď může být chybná. Testujte na reprezentativních případech a nastavte vhodné prahy pro svůj pracovní postup.

Koncový bod

OpenRouter

Tento Playground volá pevně zvolenou verzi Jev přes OpenRouter. Aktuální ceny a dostupnost najdete na stránce modelu.

Koncový bod
POST https://openrouter.ai/api/alpha/decisions
model
typesafe/jev-1.13
Klíč API
Klíč API odesílejte ze serveru jako token Bearer.
OpenRouter ↗
Oficiální přímé API

TypeSafe

TypeSafe má vlastní koncový bod a vlastní klíče API. Oficiální úvod používá jev-latest a ukazuje, jak odeslat více otázek v jednom požadavku.

Koncový bod
POST https://api.typesafe.ai/v1/systemone
model
jev-latest
Klíč API
Klíč API odesílejte ze serveru jako token Bearer.

TypeScript na straně serveru

TypeScript · fetch
// Run on your server. Keep the API key out of browser code.
const apiKey = process.env.OPENROUTER_API_KEY;
if (!apiKey) throw new Error("Set OPENROUTER_API_KEY");

const response = await fetch("https://openrouter.ai/api/alpha/decisions", {
  method: "POST",
  headers: {
    Authorization: "Bearer " + apiKey,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    model: "typesafe/jev-1.13",
    state: {input: "A customer reports a duplicate charge."},
    questions: {
      team: {
        type: "choice",
        instructions: "Which team should handle this?",
        criteria: {
          billing: "Payments and refunds",
          technical: "Bugs and integrations"
        }
      },
      urgency: {
        type: "score",
        instructions: "How urgent is the issue?",
        criteria: ["Can wait", "Needs attention today", "Immediate action"]
      },
      escalate: {
        type: "noul",
        instructions: "Should a human review this first?",
        criteria: {false: "No review needed", true: "Review before acting"}
      }
    }
  })
});

if (!response.ok) throw new Error("Decision request failed");
const {answers} = await response.json();
console.log(answers.team.choice, answers.urgency.score, answers.escalate.noul);
Jak číst odpověď

Tři typy otázek, tři podoby odpovědí

Vyberte podobu odpovědi, kterou váš kód potřebuje. Při více otázkách dostane každé ID samostatný výsledek.

TypeSafe: Choice · Score · Noul ↗

Choice

choice · probabilities · confidence

Klíč vybrané možnosti s nejvyšší pravděpodobností.

Score

score · legend · probabilities · confidence

Pozice na seřazené stupnici vážená pravděpodobnostmi; může ležet mezi dvěma úrovněmi.

Noul

noul

Číslo od 0 (ne) do 1 (ano) pro otázku ano/ne.

Před nasazením do produkce

Model otestujte na reprezentativních požadavcích, zaznamenejte jeho verzi a nejasné nebo závažné případy předejte člověku. Hodnota 0,8 je jen příklad.