Jev de TypeSafe: qué es un modelo de decisión y cómo usarlo (Noul, Choice y Score)

Jev no escribe texto: evalúa un estado contra preguntas tipadas y devuelve probabilidades calibradas. Cómo se pide, cómo convertir su respuesta en una acción, cuánto cuesta frente a un LLM y cuándo conviene usarlo.

En este artículo
En 30 segundos

Jev responde preguntas tipadas (sí/no, elegir una opción, puntuar en una escala) con probabilidades y confianza, a $0,042 por millón de tokens de entrada y sin cobrar la salida; sirve para clasificar y enrutar, no para generar texto, y conviene medirlo en sombra antes de dejar que decida.

1. Qué es Jev#

Jev es el modelo de TypeSafe que la documentación de Cloudflare describe como un modelo de evaluación estructurada: toma un estado (un texto o un objeto) y lo evalúa contra preguntas tipadas, devolviendo respuestas calibradas con probabilidades y confianza. No genera texto libre. Se ofrece en Workers AI como typesafe/jev y, según guías de terceros, también por otros proveedores.

Las preguntas son de tres tipos, que se pueden combinar en una sola llamada.

TipoQué respondeQué devuelve
noulUna afirmación de sí o noProbabilidad de que sea verdadera (0 a 1)
choiceCuál de varias opciones etiquetadasLa opción elegida, su confianza y la probabilidad de cada una
scoreDónde cae en una escala ordenadaUn puntaje, su confianza, la leyenda de niveles y la probabilidad de cada nivel

La utilidad práctica es poner una decisión tipada en el flujo de una aplicación: a qué equipo va un ticket, si un mensaje es urgente, si un texto intenta una inyección de instrucciones. En lugar de pedirle a un modelo de lenguaje que redacte una respuesta y luego interpretar el texto, recibes números que puedes comparar con un umbral.

Documentación: Cloudflare: Jev (typesafe/jev) ↗

2. Cómo se hace la llamada#

La petición lleva el estado y un objeto de preguntas, cada una con su tipo, sus instrucciones y sus criterios. El código arma exactamente la solicitud de ejemplo de la documentación de Cloudflare (en Workers AI se pasa a env.AI.run con el modelo typesafe/jev; por la API REST va dentro del campo input).

python
import json

solicitud = {
    "state": "Help! My payouts have been failing for 3 days.",
    "questions": {
        "is_urgent": {"type": "noul", "instructions": "Does this convey urgency?",
                      "criteria": {"true": "Explicitly time-sensitive", "false": "No urgency expressed"}},
        "department": {"type": "choice", "instructions": "Which team should handle this?",
                       "criteria": {"billing": "Payments, invoicing, refunds",
                                    "technical": "Bugs, outages, integrations",
                                    "sales": "Pricing, upgrades, new accounts"}},
        "frustration": {"type": "score", "instructions": "How frustrated is the customer?",
                        "criteria": ["Calm", "Frustrated", "Very angry"]},
    },
}

cuerpo = json.dumps({"model": "typesafe/jev", "input": solicitud})
print(sorted(solicitud["questions"]), len(cuerpo) > 0)
Arma la solicitud de la documentación sin llamar a ningún servicio, porque la llamada real requiere una cuenta. Imprime los nombres de las tres preguntas.

La respuesta trae, para cada pregunta, su tipo y los números: un noul de 0,95, una opción elegida con confianza 0,8 y un puntaje de 1,04 sobre la leyenda de niveles, además del modelo usado y los tokens consumidos.

3. De la respuesta a una decisión#

Una probabilidad no es una decisión hasta que fijas qué hacer con ella. La función aplica un umbral de confianza: si la confianza de la opción elegida no lo alcanza, el caso pasa a una persona. El puntaje se redondea al nivel más cercano de la leyenda. Se prueba con la respuesta de ejemplo de la documentación.

python
import json

# Respuesta de ejemplo de la documentación de Cloudflare para typesafe/jev
RESPUESTA = json.loads("""
{"model": "jev-1.13.0",
 "answers": {
  "is_urgent": {"type": "noul", "noul": 0.95},
  "department": {"type": "choice", "choice": "billing", "confidence": 0.8,
                 "probabilities": {"billing": 0.87, "sales": 0, "technical": 0.13}},
  "frustration": {"type": "score", "score": 1.04, "confidence": 0.94,
                  "legend": {"0": "Calm", "1": "Frustrated", "2": "Very angry"},
                  "probabilities": {"0": 0, "1": 0.96, "2": 0.04}}},
 "usage": {"input_tokens": 426, "output_tokens": 73}}
""")

def decidir(respuesta, umbral=0.7):
    """Convierte las respuestas calibradas en una acción; si la confianza es baja, pasa a una persona."""
    a = respuesta["answers"]
    area = a["department"]
    return {
        "urgente": a["is_urgent"]["noul"] >= 0.5,
        "equipo": area["choice"] if area["confidence"] >= umbral else "revision_humana",
        "tono": a["frustration"]["legend"][str(round(a["frustration"]["score"]))],
        "modelo": respuesta["model"],
    }

print(decidir(RESPUESTA))
print(decidir(RESPUESTA, umbral=0.9)["equipo"])
Con el umbral 0,7 enruta a billing, marca urgente y tono Frustrated; con 0,9 la confianza de 0,8 no alcanza y devuelve revision_humana.

4. Cuánto cuesta frente a un LLM#

La tabla resume los datos de la ficha de Jev en Cloudflare. La salida no se cobra: solo cuenta la entrada.

DatoValor
Identificador en Workers AItypesafe/jev
Versión en la respuesta de ejemplojev-1.13.0
Ventana de contexto32.000 tokens
Entrada$0,042 por millón de tokens
Salida$0,00
Entrada en caché$0,00
Retención de datosCero, según la documentación

Con los tokens de la respuesta de ejemplo (426 de entrada y 73 de salida), un millón de solicitudes cuesta alrededor de $17,89 con Jev. Hacer la misma clasificación con un modelo de lenguaje a la tarifa introductoria de Gemini 4 Argon ($2 de entrada y $10 de salida por millón) costaría unos $1.582 por millón de solicitudes, 88 veces más. En pesos, con la TRM del 17 de octubre de 2026: COP 56,801 frente a COP 5,022,328.

python
from decimal import Decimal as D

TOKENS_ENTRADA, TOKENS_SALIDA = 426, 73        # "usage" de la respuesta de ejemplo de la documentación
JEV_ENTRADA = D("0.042")                       # USD por millón de tokens de entrada; la salida cuesta 0
ARGON = (D("2"), D("10"))                      # Gemini 4 Argon, tarifa introductoria hasta el 30 nov 2026
TRM = D("3174.67")                             # TRM del 17 oct 2026

millon = D(1_000_000)
jev = D(TOKENS_ENTRADA) * JEV_ENTRADA / millon * millon                      # USD por millón de solicitudes
llm = (D(TOKENS_ENTRADA) * ARGON[0] + D(TOKENS_SALIDA) * ARGON[1]) / millon * millon

print(f"Jev: ${jev:,.2f} | LLM: ${llm:,.2f} por millón de solicitudes | {llm / jev:.0f} veces")
print(f"En pesos: COP {jev * TRM:,.0f} vs COP {llm * TRM:,.0f}")
Calcula ambos costos con los tokens y las tarifas indicadas. Es una comparación de precios por token, no de calidad: un LLM puede necesitar más o menos tokens, y su respuesta no es una probabilidad calibrada.

Para profundizarPrecios de las APIs de IA en octubre de 2026: cuánto cuesta cada modelo

Documentación: OpenRouter: qué es Jev ↗ · DataCamp: Jev, el modelo System One ↗ · LangChain: qué es Jev ↗

5. Cuándo usarlo y cuándo no#

  • Sirve para clasificar, enrutar, filtrar y puntuar con alto volumen y baja latencia.
  • Sirve para decisiones que necesitan una probabilidad que puedas comparar con un umbral y auditar.
  • No sirve para redactar, resumir ni conversar: no genera texto.
  • Tiene una ventana de 32.000 tokens: un documento largo hay que recortarlo antes.
  • Es un modelo de un tercero: revisa qué datos le envías y sus términos antes de mandar información sensible.

Las guías de terceros destacan que Jev nunca alucina y que es mucho más rápido y barato que un LLM. Son afirmaciones de la empresa o de contenido cercano a ella: pruébalas con tus propios datos antes de apoyarte en ellas.

6. Cómo adoptarlo sin riesgo#

  • Empieza en modo sombra: deja que Jev decida en paralelo y compara con tu decisión actual antes de aplicarla.
  • Mide el acuerdo y, sobre todo, los desacuerdos: ahí se ve si las descripciones de tus opciones son claras.
  • Escribe criterios distintos y específicos para cada opción; la calidad del enrutamiento depende de ellos.
  • Fija un umbral de confianza y una salida a una persona para lo que no lo alcance.
  • Registra la versión del modelo que devuelve cada respuesta, porque puede cambiar.
  • Revisa en la documentación de tu proveedor el punto de acceso y el nombre del modelo: las guías de terceros citan otros distintos (jev-1.14, jev-latest).

Para profundizarModelos de decisión: Jev, Microsoft-Decision-1 y la Decisions API de OpenAI

Fuentes y alcance

Documentación consultada el 18 de octubre de 2026. Los ejemplos y criterios de decisión son propuestas editoriales; adáptalos al contrato de tu aplicación y valídalos en tu entorno de pruebas autorizado.

Compara estas opciones

Compara modelos de ia

Revisa tarifas, límites, condiciones y fuentes de cada opción.

Abrir comparador
Asesoría

¿Tu caso es distinto?

Cuéntanos tu contexto y las opciones que estás evaluando. Te respondemos con criterios y fuentes, sin suscripciones automáticas.

Solicita asesoría