Riippumaton opas ja yhteisö kehittäjille
Virallista tietoa Jevistä: typesafe.ai

Kokeile Jeviä ilmaiseksi

Esitä yksi kysymys tai kolme erilaista kysymystä samasta tilanteesta. Valitse esimerkki, muokkaa syötettä ja tarkastele kutakin jäsenneltyä vastausta.

Tutustu GitHub-projekteihin Käyttötapaukset
01 / Valitse kysymys

Aloita konkreettisesta esimerkistä

typesafe/jev-1.13

Kokeile yhtä vastaustyyppiä kerrallaan. Jokainen suoritus käyttää yhden päivän kokeilukerroista.

1. Choice
questions.decision
Esikatsele API-pyyntö

Esikatselu ei sisällä API-avainta eikä vahvistustunnusta. Jokaisen kysymyksen tunnisteella on samanniminen vastaus.

{
  "model": "typesafe/jev-1.13",
  "state": {
    "input": "Minulta veloitettiin tilaus kahdesti. Voitteko auttaa?"
  },
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "Mille tiimille tämä kuuluu?",
      "criteria": {
        "billing": "Maksut ja hyvitykset",
        "technical": "Virheet ja integraatiot",
        "general": "Muut pyynnöt"
      }
    }
  }
}

Tilillä on 6 maksutonta kokeilua UTC-vuorokaudessa; määrä palautuu kello 00.00 UTC. Myös sivuston päivittäinen kokonaiskapasiteetti on rajallinen. Syöte lähetetään OpenRouterille; tallennamme käyttötiedot, emme syötettäsi.

02 / Vastauksen tulkinta

Valmis, kun sinä olet

Suorita esimerkki, niin näet jäsennellyn vastauksen jokaiseen kysymykseen: Choice valitsee vaihtoehdon, Score sijoittaa tuloksen asteikolle ja Probability palauttaa arvon 0:n ja 1:n väliltä.

Integrointi

Lisää Jev koodiisi.

Lomake lähettää tekstisi kentässä state.input sekä yhden tai kolme nimettyä kysymystä. Jokainen tulos löytyy kohdasta answers.<question_id>.

Mitä kentät tarkoittavat

Pyynnössä määritellään kysymykset ja vastausmuodot. Vastauksessa on tulos jokaiseen kysymykseen. Tässä selitetään esimerkin JSON-kentät.

Pyynnön kentät

model
Mallin tunniste. Esimerkissä käytetään nimenomaan Jev 1.13 -versiota.
state
Arvioitava teksti tai jäsennelty data, esimerkiksi tukiviesti.
questions
Nimettyjen kysymysten joukko. Samat nimet näkyvät answers-kentässä.
<question_id>
Nimi, kuten action tai urgency; vastaus käyttää samaa nimeä.
type
Vastausmuoto: choice valitsee vaihtoehdon, score arvioi järjestetyllä asteikolla ja noul käsittelee kyllä/ei-kysymyksen.
instructions
Tarkka arvio, jonka haluat mallin tekevän.
criteria
Choice-vaihtoehdot, järjestetyt Score-tasot tai Noul-kysymyksen false- ja true-arvojen merkitys.

Vastauksen kentät

answers
Yksi tulos kysymystä kohti samalla nimellä.
choice
Valitun vaihtoehdon tunniste, jolla on suurin todennäköisyys.
probabilities
Kunkin vaihtoehdon todennäköisyys; arvot ovat yhteensä 1.
confidence
Todennäköisyysjakaumasta laskettu erillinen varmuusarvio; se ei ole valitun vaihtoehdon todennäköisyys.
score
Todennäköisyyksillä painotettu sijainti järjestetyllä asteikolla; se voi olla kahden tason välissä.
legend
Numeeristen Score-sijaintien vastaavuus määrittämiesi tasojen kuvauksiin.
noul
Kyllä/ei-kysymyksen tulos asteikolla 0 (ei) – 1 (kyllä).

Sama tilanne, kolme toisistaan riippumatonta kysymystä: Choice, Score ja Probability. Jokainen suoritus käyttää yhden päivän kokeilukerroista. Oikeanmuotoinenkin vastaus voi olla väärä. Testaa edustavia tapauksia ja aseta työnkulkuusi sopivat reitityskynnykset.

Rajapinnan osoite

OpenRouter

Tässä Playgroundissa käytetään Jevin tiettyä versiota OpenRouterin kautta. Ajantasaiset hinnat ja saatavuus näkyvät mallin sivulla.

Rajapinnan osoite
POST https://openrouter.ai/api/alpha/decisions
model
typesafe/jev-1.13
API-avain
Lähetä API-avain palvelimelta Bearer-tunnisteena.
OpenRouter ↗
Virallinen suora API

TypeSafe

TypeSafella on oma rajapinta ja omat API-avaimet. Virallinen pikaopas käyttää jev-latest-mallia ja näyttää, miten monta kysymystä lähetetään yhdessä pyynnössä.

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.

Rajapinnan osoite
POST https://api.typesafe.ai/v1/systemone
model
jev-latest
API-avain
Lähetä API-avain palvelimelta Bearer-tunnisteena.
LangChain · Python

Jev osaksi LangChain-agentin ohjauskerrosta

Ohjauskerros hallitsee mallikutsuja ja työkaluja. Päätöskohdassa Jev lukee viestin, suunnitellun työkalukutsun tai agentin tilan ja palauttaa tyypitetyn vastauksen. Koodisi päättää seuraavan vaiheen; avoimet tehtävät jäävät keskustelumallille.

ModelRouterMiddlewarebefore_agent → wrap_model_call

Luokittele uusin käyttäjäviesti ennen ajoa, valitse malli ja käytä sitä koko ajon ajan. Valinta, todennäköisyydet ja luottamusarvo säilyvät agentin tilassa.

AutoModeMiddlewarewrap_tool_call

Tarkista valittu työkalukutsu ennen sen suorittamista. Jos Jev havaitsee riskin tai puuttuvan valtuutuksen, väliohjelmisto estää kutsun ja palauttaa virheestä kertovan ToolMessagen. Se ei pyydä ihmiseltä hyväksyntää.

TypeSafeClassifierChoice · Score · Noul

Voit lisätä omia tarkistuspisteitä mukautetulla väliohjelmistolla: välitä agentin viestit tai tila TypeSafeClassifierille ja ohjaa koodia Choice-, Score- tai Noul-vastauksen perusteella tai siirrä epävarmat tapaukset arvioitaviksi.

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)

Palvelinpuolen TypeScript

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);
Vastauksen tulkinta

Kolme kysymystyyppiä, kolme vastausmuotoa

Valitse koodisi tarvitsema vastausmuoto. Kun lähetät useita kysymyksiä, jokainen tunniste saa oman tuloksensa.

TypeSafe: Choice · Score · Noul ↗

Choice

choice · probabilities · confidence

Valitun vaihtoehdon tunniste, jolla on suurin todennäköisyys.

Score

score · legend · probabilities · confidence

Todennäköisyyksillä painotettu sijainti järjestetyllä asteikolla; se voi olla kahden tason välissä.

Noul

noul

Kyllä/ei-kysymyksen tulos asteikolla 0 (ei) – 1 (kyllä).

Ennen tuotantokäyttöä

Testaa mallia edustavilla tukipyynnöillä, kirjaa malliversio ja ohjaa epävarmat tai merkittävät tapaukset ihmisen tarkistettaviksi. Arvo 0,8 on vain esimerkki.

Yhteisön kuulumiset

Seuraa Jev-ekosysteemiä omalla tavallasi.

Seuraa uusia projekteja, yhteisön System One -malleja ja käytännön käyttötapauksia usein päivittyvästä julkisesta aineistosta tai satunnaisesta toimitetusta sähköpostikoosteesta.

Usein päivittyvä julkinen aineisto

Jev AI Radar

Avoimen lähdekoodin kokoelma, jota kehittäjät, skriptit ja tekoälyagentit voivat lukea, hyödyntää uudelleen ja seurata ajan mittaan.

Anna tähti GitHubissa
Satunnainen toimitettu kooste

Uutiskirje

Saat silloin tällöin poimintoja yhteisöstä: kiinnostavia GitHub-projekteja, hyödyllisiä koodiesimerkkejä ja käytännön tapoja hyödyntää Jeviä.

Tilaamalla hyväksyt, että Jev AI Dev lähettää sinulle sähköpostia silloin tällöin.