Neodvisen vodnik in skupnost za razvijalce
Uradne informacije o Jevu: typesafe.ai

Preizkusi Jev brezplačno

Postavi eno vprašanje ali tri različna vprašanja o isti situaciji. Izberi primer, spremeni vnos in si oglej vsak strukturiran odgovor.

Razišči projekte na GitHubu
01 / Izberi odločitev

Začni s konkretnim primerom

typesafe/jev-1.13

Preizkusi eno vrsto odgovora naenkrat. Vsak zagon porabi en dnevni poskus.

1. Choice
questions.decision
Predogled zahteve API

Predogled ne vsebuje ključa API ali žetona za preverjanje. Vsako ime vprašanja ima odgovor z istim imenom.

{
  "model": "typesafe/jev-1.13",
  "state": {
    "input": "Naročnino ste mi zaračunali dvakrat. Mi lahko pomagate?"
  },
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "Katera ekipa bi morala to obravnavati?",
      "criteria": {
        "billing": "Plačila in vračila",
        "technical": "Napake in integracije",
        "general": "Druga vprašanja"
      }
    }
  }
}

Vsak račun ima 6 brezplačnih poskusov na dan po UTC; ob 00:00 UTC se števec ponastavi. Omejena je tudi skupna dnevna zmogljivost strani. Vnos pošljemo v OpenRouter; shranimo podatke o uporabi, ne pa tvojega vnosa.

02 / Kako prebrati odgovor

Pripravljeno za preizkus

Zaženi primer in za vsako vprašanje preveri strukturiran odgovor: Choice izbere možnost, Score postavi rezultat na lestvico, Probability pa vrne vrednost od 0 do 1.

Integracija

Dodaj Jev v svojo kodo.

Obrazec pošlje tvoje besedilo kot state.input skupaj z enim ali tremi poimenovanimi vprašanji. Vsak rezultat najdeš pod answers.<question_id>.

Pomen posameznih polj

V zahtevi določite vprašanja in oblike odgovorov. Odgovor vsebuje rezultat za vsako vprašanje. Spodaj so razložena polja JSON iz primera.

Polja zahteve

model
ID modela. V primeru je navedena različica Jev 1.13.
state
Besedilo ali strukturirani podatki za oceno, denimo sporočilo uporabnika.
questions
Objekt s poimenovanimi vprašanji. Ista imena se pojavijo v polju answers.
<question_id>
Ime, na primer action ali urgency; odgovor uporablja isto ime.
type
Oblika odgovora: choice izbere možnost, score ocenjuje po urejeni lestvici, noul pa odgovori na vprašanje da/ne.
instructions
Natančno opredeljena presoja, ki jo mora opraviti model.
criteria
Dovoljene možnosti Choice, urejene ravni Score ali pomen false in true za Noul.

Polja odgovora

answers
Po en rezultat za vsako vprašanje, pod istim imenom.
choice
Ključ izbrane možnosti, ki ima najvišjo verjetnost.
probabilities
Verjetnost za vsako možnost; skupna vsota je 1.
confidence
Ločena ocena zaupanja, izračunana iz porazdelitve verjetnosti. Ni enaka verjetnosti izbrane možnosti.
score
Položaj na urejeni lestvici, utežen z verjetnostmi; lahko leži med dvema ravnema.
legend
Povezava številskih položajev Score z opisi ravni, ki si jih določil.
noul
Število od 0 (ne) do 1 (da) za vprašanje da/ne.

Isti kontekst, tri neodvisna vprašanja: Choice, Score in Probability. Vsak zagon porabi en dnevni poskus. Tudi pravilno oblikovan odgovor je lahko napačen. Preizkusite reprezentativne primere in nastavite pragove za svoj potek dela.

Končna točka

OpenRouter

Ta Playground uporablja določeno različico Jev prek OpenRouterja. Trenutno ceno in razpoložljivost preveri na strani modela.

Končna točka
POST https://openrouter.ai/api/alpha/decisions
model
typesafe/jev-1.13
Ključ API
Ključ API pošlji s strežnika kot žeton Bearer.
OpenRouter ↗
Uradni neposredni API

TypeSafe

TypeSafe ponuja lasten API in lastne ključe. Uradni uvod uporablja jev-latest in pokaže, kako v eni zahtevi pošlješ več vprašanj.

Končna točka
POST https://api.typesafe.ai/v1/systemone
model
jev-latest
Ključ API
Ključ API pošlji s strežnika kot žeton Bearer.

TypeScript na strani strežnika

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);
Kako prebrati odgovor

Tri vrste vprašanj, tri oblike odgovorov

Izberi obliko odgovora, ki jo potrebuje tvoja koda. Pri več vprašanjih dobi vsako svoj rezultat pod istim imenom.

TypeSafe: Choice · Score · Noul ↗

Choice

choice · probabilities · confidence

Ključ izbrane možnosti, ki ima najvišjo verjetnost.

Score

score · legend · probabilities · confidence

Položaj na urejeni lestvici, utežen z verjetnostmi; lahko leži med dvema ravnema.

Noul

noul

Število od 0 (ne) do 1 (da) za vprašanje da/ne.

Pred uporabo v produkciji

Preizkusite model na reprezentativnih zahtevkih, zabeležite njegovo različico in negotove ali občutljive primere pošljite v ročni pregled. Vrednost 0,8 je samo primer.