Desarrollo IAOpen Source

OpenJev Libera Pesos Abiertos: Decisiones Tipadas al 84% en 210ms

22 de septiembre de 2026
8 min de lectura
Robot juez con lupa sobre ventanas de navegador y documentos
Compartir:

OpenJev publicó pesos abiertos para un modelo de decisiones que responde preguntas tipadas — elección, probabilidad sí/no o puntaje — sobre texto, páginas web y screenshots, en una sola pasada con hasta 52 opciones.

Los números titulares de su model card: 84,0% contra 85,4% de la API hosted de Jev en las mismas 10.000 preguntas, ~210 ms por decisión web en una H100, y builds cuantizados FP8 y MLX con su propia precisión medida. Esto es lo que cambió, qué significa para builders y la receta exacta de serving para probar esta semana.

1. Contexto: un Modelo de Decisiones, No un Chatbot

OpenJev no genera texto. Describís la decisión en palabras simples en cada request — tus etiquetas, tus opciones — y responde con una elección, una probabilidad sí/no o un puntaje. El mismo modelo rutea un ticket de soporte, marca una violación de política, juzga si una respuesta está fundamentada o le dice a un browser agent qué botón presionar.

Por dentro, cada opción recibe una letra y la respuesta se lee de los scores de exactamente esas letras en la primera posición de salida — al servidor se le pide un solo token, nunca texto libre. Un paso de calibración convierte esos scores en probabilidades umbralizables, y el modelo está ajustado para ser consistente al reordenar opciones: mezclarlas cambia la respuesta en 2,3% de casos, contra 18,5% antes del ajuste.

Por qué importa

Sin parsing, sin chain of thought, sin entrenar por tarea. Las etiquetas viven en el JSON del request, así que una tarea nueva es cambiar el JSON, no el modelo. Eso lo hace lo bastante rápido para vivir dentro de un loop de agente: ~80 ms por decisión corta de texto, ~210 ms por paso web con ~1.460 tokens de prompt y ~23 elementos candidatos.

2. Los Números Que Importan

Todos los test sets quedaron fuera del fine-tuning, y las tablas de texto responden exactamente las mismas preguntas en cada modelo. En 10.000 preguntas de texto de 34 fuentes públicas, OpenJev queda 1,4 puntos debajo de la API hosted de Jev, 3,7 arriba de su propio modelo base y 8,3 arriba de Nimble 9B.

Jev (API hosted)85,4% — 8.540 de 10.000
OpenJev84,0% — 8.403 de 10.000
Misma base sin ajustar80,4% — 8.036 de 10.000
Nimble 9B (abierto)75,7% — 7.574 de 10.000

Los números de agente también son sólidos: 88,0% de próxima acción en 2.000 screenshots de escritorio, 87,4% en sitios no vistos y 84,5% en dominios no vistos — y empate con la API hosted en 39 de 100 tareas MiniWoB end-to-end con el mismo cliente solo-texto. Lo multilingüe aguanta: 82,5% en XNLI (desde 72,5%) y 85,8% en intención MASSIVE (desde 80,4%).

Formatos, cada uno con su precisión medida

16-bit bf16 · ~54 GB

openjev/openjev

Servir con --quantization fp8 en una GPU de 80 GB: la receta principal medida.

Checkpoint FP8 · ~29 GB

openjev/openjev-FP8

84,2% vs 84,0% en las mismas 10.000 preguntas (+0,17, IC −0,13 a +0,45); 88,0% vs 88,0% en screenshots. ~2% de respuestas cambian.

MLX 8-bit · ~27 GB, solo texto

openjev/openjev-MLX

Mismo conteo que el modelo servido: 8.403 correctas (72 preguntas para cada lado). 1,5% de respuestas cambian. Sin screenshots.

MLX 4-bit · ~15 GB, solo texto

openjev/openjev-MLX-4bit

El build más chico, para Macs donde 27 GB no entran. 84,3% en las primeras 4.692 preguntas. Sin screenshots.

Lo que se rechazó

Un build FP4 NVFP4 (~20 GB) se midió y no se publicó: −1,9 puntos en texto, −0,9 en screenshots. Un readout de una sola pasada vive de diferencias chicas de score, y ese build perdió demasiadas. Un formato cuantizado se publica solo con su propia precisión medida — una política que vale copiar.

3. Cuatro Implicancias para Builders

El release es genuinamente útil, pero tres detalles deciden si podés usarlo — y una colisión de nombres puede hacerte perder la tarde.

⚖️

Pesos abiertos ≠ open source

Los pesos son CC BY-NC 4.0: gratis para research y uso no comercial con atribución; lo comercial requiere permiso vía discusión en el repo. Solo helper/ y serve/ son Apache 2.0. Revisión legal antes de cualquier plan de producción.

🎯

Mantené fija la calibración

Las probabilidades salen de settings fijos del helper (READOUT_T=0.85 y compañía). Si los cambiás, invalidás todos los números de la card. Primero reproducí, después ajustá — sobre tus propias evals.

🧩

Diseñá dentro de los límites

Hasta 52 opciones por pasada (más se agrupan y se re-pasan sobre ganadores), prompts de hasta 16.384 tokens, una imagen por request. Los shapes siguen la API hosted de Jev, así que un cliente existente se puede reapuntar a tu servidor.

👻

Cuidado con el gemelo de nombre

Zefan-Cai/Open-Jev (sitio: open-jev) es otro proyecto — adaptadores LoRA 2B/9B sobre Qwen3.5 con código MIT — no estos checkpoints. Misma inspiración, distinto equipo, distintos artefactos. Si clonás el repo equivocado, nada de esta guía aplica.

Nota de independencia

OpenJev declara que es un proyecto independiente, no afiliado a TypeSafe; Jev es su producto y sigue siendo solo-API. Tratá las comparaciones hosted-vs-local como evals propias del autor, que es exactamente como las presenta la card.

4. Qué Hacer Esta Semana

Si tenés una GPU de 80 GB, podés correr hoy la receta principal medida: vLLM con cuantización FP8 más el shim helper que expone la API de decisiones. Tres comandos, versiones pineadas de la card.

pip install "vllm==0.29.0" "openai==3.16.2" "httpx==0.28.1"
hf download openjev/openjev --local-dir openjev

# 1. el modelo
vllm serve ./openjev --host 127.0.0.1 --served-model-name qwen --port 8000 \
  --enable-prefix-caching --max-model-len 16384 --gpu-memory-utilization 0.90 \
  --limit-mm-per-prompt '{"image":1}' --trust-remote-code --max-num-seqs 256 \
  --max-logprobs 64 --gdn-prefill-backend triton --quantization fp8
# 2. la API de decisiones por delante
VLLM=http://localhost:8000/v1 TOKENIZER=./openjev \
READOUT_T=0.85 READOUT_NOUL_T=1.829074 READOUT_NOUL_BIAS=0 \
READOUT_TARGETED=1 READOUT_INSTR_STYLE=pyrepr SHIM_STAGGER=1 \
python openjev/helper/shim.py --host 127.0.0.1 --port 3000
curl -s http://localhost:3000/v1/systemone -H 'Content-Type: application/json' -d '{
  "model": "openjev",
  "state": "Mensaje del cliente: me cobraron dos veces mi pedido de la semana pasada.",
  "questions": {
    "route": {"type": "choice", "instructions": "Which team should handle this?",
              "criteria": {"billing": null, "shipping": null, "technical": null}},
    "angry": {"type": "noul", "instructions": "Is the customer angry?"}
  }
}'
  1. 1. Levantá el modelo, después el shim, después posteá una pregunta de ruteo de tu propio backlog — compará la elección y su probabilidad con tu clasificador actual.
  2. 2. Repetí la misma pregunta con el orden de opciones mezclado. Si los flips superan dígitos simples bajos, tus etiquetas — no el modelo — son ambiguas.
  3. 3. En una Mac sin GPU NVIDIA, probá el build MLX 8-bit para triage solo-texto; dejá los screenshots en el build de servidor.
  4. 4. Antes de cualquier uso comercial, abrí la discusión de licencia en el repo — CC BY-NC 4.0 bloquea producción sin permiso.

Tip para agent-builders, directo de la card

Tratá DONE como la opinión del modelo y confirmá la finalización en tu propio loop — un mensaje de éxito, una URL cambiada, un registro guardado — antes de frenar. Las decisiones tipadas reducen bugs de parsing; no eliminan la verificación.

Conclusión

OpenJev es el raro release open-weights que publica deltas honestos: 1,4 puntos debajo de hosted en texto, empate en MiniWoB, builds cuantizados medidos en vez de asumidos, y un FP4 rechazado divulgado en vez de enterrado.

La trampa es la licencia — amable con research, con gate para producción — y la disciplina que exige: calibración fija, pasadas de 52 opciones, finalización verificada. Corré la receta esta semana sobre tus propias preguntas; la card te da todo menos tus etiquetas.

Diego Rodriguez

Diego Rodriguez

Ingeniero Senior Full-Stack & AI

Diego tiene mas de 9 anos de experiencia construyendo aplicaciones potenciadas por IA de produccion, desde orquestacion de LLMs y pipelines RAG hasta deteccion de riesgos con ML y sistemas de trading algoritmico.

Conoce mas sobre Diego