Un guide et une communauté indépendants pour les développeurs
Informations officielles sur Jev : typesafe.ai

Essayer Jev gratuitement

Posez une question, ou trois questions différentes sur un même cas. Choisissez un exemple, modifiez les données et examinez chaque réponse structurée.

Explorer les projets GitHub
01 / Choisir une décision

Commencez par un cas concret

typesafe/jev-1.13

Explorez un type de réponse à la fois. Chaque exécution compte pour une tentative quotidienne.

1. Choice
questions.decision
Prévisualiser la requête API

L’aperçu ne contient ni votre clé API ni le jeton de vérification. Chaque identifiant de question correspond à une réponse du même nom.

{
  "model": "typesafe/jev-1.13",
  "state": {
    "input": "Mon abonnement a été facturé deux fois. Pouvez-vous m'aider ?"
  },
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "Quelle équipe doit s'en charger ?",
      "criteria": {
        "billing": "Paiements et remboursements",
        "technical": "Bugs et intégrations",
        "general": "Autres demandes"
      }
    }
  }
}

Chaque compte dispose de 6 essais gratuits par jour UTC, remis à zéro à 00:00 UTC. La capacité globale du site est limitée. Votre saisie est envoyée à OpenRouter ; nous conservons les données d'utilisation, pas votre texte.

02 / Lire la réponse

Prêt quand vous l’êtes

Lancez un exemple pour obtenir une réponse structurée par question : Choice sélectionne une option, Score situe le résultat sur une échelle et Probability renvoie une valeur de 0 à 1.

Exemple avec l’API

Intégrez Jev à votre code.

Ce formulaire envoie votre texte sous state.input avec une ou trois questions nommées. Chaque résultat figure sous answers.<question_id>.

Comprendre chaque champ

La requête définit les questions et le format attendu. La réponse contient un résultat pour chacune. Voici les champs JSON utilisés dans l’exemple.

Requête

model
L’identifiant du modèle. L’exemple fixe Jev 1.13 pour préciser la version.
state
Le texte ou les données structurées à évaluer, comme un message de support.
questions
Un objet dont les clés sont les noms des questions. Vous retrouverez ces mêmes clés dans answers.
<question_id>
Un nom comme action ou urgency ; la réponse reprend ce même nom.
type
Le format de réponse : choice choisit une option, score situe une réponse sur une échelle ordonnée et noul évalue une question oui/non.
instructions
Le jugement précis demandé au modèle.
criteria
Les options de Choice, les niveaux ordonnés de Score ou le sens de false et true pour Noul.

Réponse

answers
Un résultat par question, sous le même nom.
choice
L’option sélectionnée, celle dont la probabilité est la plus élevée.
probabilities
La probabilité de chaque option ; leur somme vaut 1.
confidence
Un score de confiance calculé à partir de la distribution des probabilités, distinct de la probabilité de l’option retenue.
score
Une position pondérée par les probabilités sur une échelle ordonnée ; elle peut se situer entre deux niveaux.
legend
La correspondance entre les positions numériques du score et les niveaux que vous avez définis.
noul
Un nombre de 0 (non) à 1 (oui) pour une question binaire.

Un même contexte, trois questions indépendantes : Choice, Score et Probability. Chaque exécution compte pour une tentative quotidienne. Une réponse au bon format peut être erronée. Testez des cas représentatifs et définissez vos propres seuils de routage.

Point d’accès

OpenRouter

Ce Playground appelle une version précise de Jev via OpenRouter. Consultez la page du modèle pour connaître les tarifs et la disponibilité actuels.

Point d’accès
POST https://openrouter.ai/api/alpha/decisions
model
typesafe/jev-1.13
Clé API
Envoyez la clé API depuis le serveur sous forme de jeton Bearer.
OpenRouter ↗
API directe officielle

TypeSafe

TypeSafe dispose de son propre point d'accès et de ses propres clés API. Son guide officiel utilise jev-latest et montre comment envoyer plusieurs questions dans une requête.

Point d’accès
POST https://api.typesafe.ai/v1/systemone
model
jev-latest
Clé API
Envoyez la clé API depuis le serveur sous forme de jeton Bearer.

TypeScript côté serveur

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);
Lire la réponse

Trois types de questions, trois formes de réponse

Choisissez le type de réponse utile à votre code. Si vous envoyez plusieurs questions, chaque identifiant reçoit son propre résultat.

TypeSafe: Choice · Score · Noul ↗

Choice

choice · probabilities · confidence

L’option sélectionnée, celle dont la probabilité est la plus élevée.

Score

score · legend · probabilities · confidence

Une position pondérée par les probabilités sur une échelle ordonnée ; elle peut se situer entre deux niveaux.

Noul

noul

Un nombre de 0 (non) à 1 (oui) pour une question binaire.

Avant la mise en production

Testez sur des demandes représentatives, conservez la version du modèle et faites vérifier les cas incertains ou sensibles. La valeur 0,8 sert uniquement d’exemple.