En uafhængig guide og et fællesskab for udviklere
Officielle oplysninger om Jev: typesafe.ai

Prøv Jev gratis

Stil ét spørgsmål eller tre forskellige spørgsmål om samme situation. Vælg et eksempel, rediger inputtet, og se de strukturerede svar.

Udforsk projekter på GitHub
01 / Vælg en beslutning

Begynd med et konkret eksempel

typesafe/jev-1.13

Udforsk én svartype ad gangen. Hver kørsel bruger ét af dagens forsøg.

1. Choice
questions.decision
Vis API-anmodningen

Forhåndsvisningen indeholder hverken API-nøgle eller bekræftelsestoken. Hvert spørgsmåls-id har et svar med samme navn.

{
  "model": "typesafe/jev-1.13",
  "state": {
    "input": "Jeg blev opkrævet to gange for mit abonnement. Kan du hjælpe?"
  },
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "Hvilket team skal håndtere dette?",
      "criteria": {
        "billing": "Betalinger og refusioner",
        "technical": "Fejl og integrationer",
        "general": "Andre henvendelser"
      }
    }
  }
}

Hver konto har 6 gratis forsøg pr. UTC-døgn; de nulstilles kl. 00:00 UTC. Sidens samlede kapacitet er også begrænset. Dine input sendes til OpenRouter; vi gemmer brugsdata, men ikke dine input.

02 / Læs svaret

Klar, når du er

Kør et eksempel for at få ét struktureret svar pr. spørgsmål: Choice vælger en mulighed, Score placerer resultatet på en skala, og Probability giver en værdi fra 0 til 1.

Hvordan man integrerer

Tilføj Jev til din kode.

Formularen sender din tekst som state.input sammen med ét eller tre navngivne spørgsmål. Hvert resultat findes under answers.<question_id>.

Hvad betyder hvert felt

Anmodningen definerer spørgsmålene og svarformaterne. Svaret returnerer et resultat for hver enkelt. Her er JSON-felterne brugt i eksemplet.

Anmodningsfelter

model
Model-id. Eksemplet låser modelversionen til Jev 1.13, så versionen er tydelig angivet.
state
Den tekst eller de strukturerede data, der skal vurderes, f.eks. en supportbesked.
questions
Et sæt navngivne beslutninger. De samme navne bruges under answers i svaret.
<question_id>
Et navn som action eller urgency; svaret bruger samme navn.
type
Svarformatet: choice vælger en mulighed, score vurderer på en ordnet skala, og noul besvarer et ja/nej-spørgsmål.
instructions
Den konkrete vurdering, du ønsker, at modellen skal foretage.
criteria
De mulige Choice-svar, ordnede Score-niveauer eller betydningen af false og true for Noul.

Svarfelter

answers
Et resultat pr. spørgsmål, returneret under samme navn.
choice
Den valgte nøgle i choice: muligheden med den højeste sandsynlighed.
probabilities
Sandsynligheden for hver valgmulighed; disse værdier summer til 1.
confidence
En separat konfidensværdi beregnet ud fra sandsynlighedsfordelingen; det er ikke den valgte muligheds sandsynlighed.
score
En position på den ordnede skala vægtet efter sandsynlighed; den kan ligge mellem to niveauer.
legend
Sammenhængen mellem de numeriske Score-positioner og beskrivelserne af dine niveauer.
noul
Et tal fra 0 (nej) til 1 (ja) for et ja/nej-spørgsmål.

Én fælles kontekst, tre uafhængige spørgsmål: Choice, Score og Probability. Hver kørsel bruger ét af dagens forsøg. Et korrekt udformet svar kan stadig være forkert. Test repræsentative cases, og indstil routingtærskler for din egen arbejdsgang.

Endpoint

OpenRouter

Her kaldes en fast Jev-version via OpenRouter. Se modelsiden for aktuelle priser og tilgængelighed.

Endpoint
POST https://openrouter.ai/api/alpha/decisions
model
typesafe/jev-1.13
API-nøgle
Send API-nøglen fra serveren som et Bearer-token.
OpenRouter ↗
Officielt direkte API

TypeSafe

TypeSafe har sit eget endpoint og egne API-nøgler. Den officielle quickstart bruger jev-latest og viser, hvordan du sender flere spørgsmål i én anmodning.

Endpoint
POST https://api.typesafe.ai/v1/systemone
model
jev-latest
API-nøgle
Send API-nøglen fra serveren som et Bearer-token.

TypeScript på serversiden

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);
Læs svaret

Tre spørgsmålstyper, tre svarformater

Vælg den svartype, din kode har brug for. Hvis du sender flere spørgsmål, får hvert spørgsmåls-id sit eget resultat.

TypeSafe: Choice · Score · Noul ↗

Choice

choice · probabilities · confidence

Den valgte nøgle i choice: muligheden med den højeste sandsynlighed.

Score

score · legend · probabilities · confidence

En position på den ordnede skala vægtet efter sandsynlighed; den kan ligge mellem to niveauer.

Noul

noul

Et tal fra 0 (nej) til 1 (ja) for et ja/nej-spørgsmål.

Før du bruger det i produktionen

Før produktionsbrug bør du teste på repræsentative supportsager, registrere modelversionen og sende usikre sager eller sager med stor konsekvens til menneskelig gennemgang. Værdien 0,8 er kun et eksempel.