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 Primeri uporabe
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.

Official published price
$0.042per 1M input tokens

Output tokens are free.

Eligible accounts may receive promotional credits. TypeSafe does not publish a fixed amount on its public pages; check the console for your balance and terms.

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.
LangChain · Python

Jev v ogrodju agenta LangChain

Ogrodje usmerja klice modela in orodij. Na točki odločanja Jev prebere sporočilo, predlagani klic orodja ali stanje agenta ter vrne tipiziran odgovor. Naslednji korak določi vaša koda; odprte naloge še naprej rešuje pogovorni model.

ModelRouterMiddlewarebefore_agent → wrap_model_call

Pred začetkom razvrstite zadnje uporabnikovo sporočilo, izberite model in izbiro ohranite med celotnim izvajanjem. Izbira, verjetnosti in stopnja zaupanja ostanejo v stanju agenta.

AutoModeMiddlewarewrap_tool_call

Izbrani klic orodja preverite pred izvedbo. Če Jev zazna tveganje ali pomanjkljivo dovoljenje, vmesna programska oprema klic blokira in vrne ToolMessage z napako. Ne zahteva odobritve človeka.

TypeSafeClassifierChoice · Score · Noul

S svojo vmesno programsko opremo lahko dodate tudi lastne kontrolne točke: sporočila ali stanje agenta pošljite v TypeSafeClassifier ter z Choice, Score ali Noul usmerite kodo oziroma negotove primere pošljite v pregled.

LangChain · Python · ModelRouterMiddleware
# pip install "langchain-typesafe[experimental]" langchain-openai
# Set TYPESAFE_API_KEY and OPENAI_API_KEY on your server.
from langchain.agents import create_agent
from langchain_typesafe.experimental.middleware import (
    ModelChoice, ModelRouterMiddleware,
)

router = ModelRouterMiddleware(
    choices={
        "fast": ModelChoice(
            model="openai:gpt-5.6-terra",
            criteria="Simple lookups and extraction.",
        ),
        "powerful": ModelChoice(
            model="openai:gpt-6-astra",
            criteria="Complex reasoning and high-stakes decisions.",
        ),
    },
    instructions="Choose the least costly model that can do the task safely.",
)
agent = create_agent("openai:gpt-5.6-terra", middleware=[router])
result = agent.invoke({"messages": [{"role": "user", "content": "Summarize this log."}]})
print(result["model_route"].choice)

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.

Novosti skupnosti

Spremljajte ekosistem Jev po svoje.

Spremljajte nove projekte, skupnostne modele System One in praktične primere uporabe prek pogostih javnih posodobitev ali občasnega uredniškega e-poštnega pregleda.

Pogoste javne posodobitve

Jev AI Radar

Odprtokodna zbirka, ki jo lahko razvijalci, skripti in agenti UI berejo, ponovno uporabijo ter spremljajo skozi čas.

Dodaj zvezdico na GitHubu
Občasen uredniški pregled

E-novice

Občasno prejmite izbor skupnosti: priljubljene projekte na GitHubu, uporabne primere kode in praktične načine uporabe Jeva.

Z naročilom soglašaš z občasnim prejemanjem e-pošte Jev AI Dev.