Guía y comunidad independientes para desarrolladores
Información oficial sobre Jev: typesafe.ai

Probar Jev gratis

Haz una pregunta o tres preguntas distintas sobre un mismo caso. Elige un ejemplo, cambia los datos y examina cada respuesta estructurada.

Explorar proyectos en GitHub
01 / Elegir una decisión

Empieza con un caso concreto

typesafe/jev-1.13

Explora un tipo de respuesta cada vez. Cada ejecución consume un intento diario.

1. Choice
questions.decision
Vista previa de la solicitud API

La vista previa no incluye tu clave API ni el token de verificación. Cada ID de pregunta tiene una respuesta con el mismo nombre.

{
  "model": "typesafe/jev-1.13",
  "state": {
    "input": "Me cobraron dos veces la suscripción. ¿Pueden ayudarme?"
  },
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "¿Qué equipo debe atenderlo?",
      "criteria": {
        "billing": "Pagos y reembolsos",
        "technical": "Errores e integraciones",
        "general": "Otras consultas"
      }
    }
  }
}

Cada cuenta dispone de 6 intentos gratuitos al día (UTC), que se restablecen a las 00:00 UTC. La capacidad diaria del sitio es limitada. Tu entrada se envía a OpenRouter; aquí guardamos datos de uso, no el contenido que introduces.

02 / Leer la respuesta

Listo cuando tú quieras

Ejecuta un caso para ver una respuesta estructurada por pregunta: Choice elige una opción, Score la sitúa en una escala y Probability devuelve un valor entre 0 y 1.

Ejemplo con la API

Integra Jev en tu código.

El formulario envía tu texto como state.input junto con una o tres preguntas con nombre. Cada resultado aparece en answers.<question_id>.

Qué significa cada campo

En la solicitud defines las preguntas y el formato esperado. La respuesta contiene un resultado por pregunta. Estos son los campos JSON del ejemplo.

Solicitud

model
El identificador del modelo. El ejemplo fija Jev 1.13 para dejar clara la versión.
state
El texto o los datos estructurados que se evalúan, como un mensaje de soporte.
questions
Un objeto cuyas claves son los nombres de las preguntas. Esas mismas claves aparecen después en answers.
<question_id>
Un nombre como action o urgency; la respuesta usa ese mismo nombre.
type
Formato de respuesta: choice selecciona una opción, score puntúa en una escala ordenada y noul evalúa una pregunta de sí o no.
instructions
La decisión concreta que debe tomar el modelo.
criteria
Las opciones permitidas en Choice, los niveles ordenados de Score o el significado de false y true en Noul.

Respuesta

answers
Un resultado por pregunta, con el mismo nombre.
choice
La opción elegida, la de mayor probabilidad.
probabilities
La probabilidad de cada opción; los valores suman 1.
confidence
Un nivel de confianza calculado a partir de la distribución de probabilidades, distinto de la probabilidad de la opción elegida.
score
Una posición ponderada por probabilidades en una escala ordenada; puede quedar entre dos niveles.
legend
La correspondencia entre las posiciones numéricas de Score y las descripciones de los niveles que definiste.
noul
Un valor entre 0 (no) y 1 (sí) para una pregunta binaria.

Un mismo contexto y tres preguntas independientes: Choice, Score y Probability. Cada ejecución consume un intento diario. Una respuesta con formato válido también puede equivocarse. Prueba casos representativos y define tus propios umbrales de enrutamiento.

URL de la API

OpenRouter

Este Playground llama a una versión concreta de Jev a través de OpenRouter. Consulta la página del modelo para ver los precios y la disponibilidad actuales.

URL de la API
POST https://openrouter.ai/api/alpha/decisions
model
typesafe/jev-1.13
Clave de API
Envía la clave API desde el servidor como token Bearer.
OpenRouter ↗
API directa oficial

TypeSafe

TypeSafe tiene su propio endpoint y sus propias claves API. Su guía oficial usa jev-latest y muestra cómo enviar varias preguntas en una solicitud.

URL de la API
POST https://api.typesafe.ai/v1/systemone
model
jev-latest
Clave de API
Envía la clave API desde el servidor como token Bearer.

TypeScript del servidor

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);
Leer la respuesta

Tres tipos de preguntas, tres formatos de respuesta

Elige el tipo de respuesta que necesita tu código. Si envías varias preguntas, cada ID recibe su propio resultado.

TypeSafe: Choice · Score · Noul ↗

Choice

choice · probabilities · confidence

La opción elegida, la de mayor probabilidad.

Score

score · legend · probabilities · confidence

Una posición ponderada por probabilidades en una escala ordenada; puede quedar entre dos niveles.

Noul

noul

Un valor entre 0 (no) y 1 (sí) para una pregunta binaria.

Antes de usarlo en producción

Prueba con solicitudes representativas, registra la versión del modelo y deriva a una persona los casos inciertos o de alto impacto. El valor 0,8 solo sirve de ejemplo.