AlexWortega/openjev

Hugging Face Models Trending Models

Summary

openjev is a model based on Qwen3.5 trained for entailment tasks, enabling applications in reranking, grading, and real-time game playing, with the v2 version adding multi-modal capabilities and improved zero-shot performance.

Task: text-classification Tags: transformers, safetensors, nli, cross-encoder, qwen3.5, reranker, text-classification, image-text-to-text, en, base_model:Qwen/Qwen3.5-4B, base_model:finetune:Qwen/Qwen3.5-4B, license:mit, endpoints_compatible, region:us
Original Article
View Cached Full Text

Cached at: 09/19/26, 08:46 AM

AlexWortega/openjev · Hugging Face

Source: https://huggingface.co/AlexWortega/openjev

https://huggingface.co/AlexWortega/openjev#openjev–qwen35-trained-as-jev-modelopenjev — Qwen3.5 trained as jev model

openjevis Qwen3.5 turned into ajevmodel: a single cross-encoder that reads a premise and a hypothesis and answers with entailment, contradiction or neutral. That one primitive is enough to rerank answers, grade them against a reference, guard content, and play games in real time: hand it the game state and a few statements about it, and the argmax entailment is the move. Nothing is trained per task.

https://huggingface.co/AlexWortega/openjev#openjev-4b-v2-text-images-and-agentsopenjev-4B v2: text, images and agents

The new 4B checkpoint (qwen3\.5\-4b\-nli\-v2/) reads images as well as text and was trained on a much larger and harder mixture. It is strictly zero-shot on everything shown here.

  • Doom straight from the pixels (first video):10.4 killsper episode, twice the v1 model (5.2); random play gets 1.
  • Crafts aniron pickaxe from nothing in real Minecraft(second video): 11 milestones in ~22 decisions, driven by a backward-chaining scaffold where the jev model only checks statements about the inventory and the world.
  • Much stronger on adversarial NLI (ANLI r3 0.42 → 0.63, WANLI 0.63 → 0.77) and on image claims (0.52 → 0.84), better reranking (ARC-Challenge 0.59 → 0.72, MMLU 0.47 → 0.53), same MNLI (0.91).

Doom from the text state (v2, 11 kills per episode; a perfect-information bot gets 18.8):

radar

Bigger jev: Qwen3.5-35B-A3B (MoE) as the backbone (qwen3\.5\-35b\-a3b\-nli/). Zero-shot, and with the backbone frozen plus a small MLP head on the last-token latent (mlp\_heads\_35b/, one head per task, loadable withLatentMLPHead\.load):

radar 35B

https://huggingface.co/AlexWortega/openjev#whats-insideWhat’s inside

  • qwen3\.5\-4b\-nli\-v2/recommended: the 4B v2 jev checkpoint, text + images.
  • qwen3\.5\-4b\-nli/— the original 4B jev checkpoint (text).
  • qwen3\.5\-35b\-a3b\-nli/— the 35B-A3B MoE jev checkpoint (load withmodeling\_qwen35\_moe\_seqcls\.py).
  • All checkpoints:Qwen3\_5ForSequenceClassification, 3 labelscontradiction,entailment,neutral, last-token pooling, trained with plain cross-entropy over the three classes.
  • modeling\_openjev\.pyOpenJevCrossEncoder:predict,rerank,grade,latents;LatentMLPHeadfor the per-task heads.
  • modeling\_qwen35\_moe\_seqcls\.pyQwen3\_5MoeForSequenceClassificationfor the 35B-A3B backbone.
  • mlp\_heads\_35b/<task\>/head\.pt+norm\.npz+meta\.json, the 35B latent + MLP heads behind the second radar.
  • code/— everything used here: the trainer and data mixture builder, the evaluation harness, Flappy Bird, Doom (text and pixels), the Minecraft scaffold and bot, the radar.
  • videos/— Flappy Bird, Doom and Minecraft replays;results/— raw JSON for every run and the full report.

https://huggingface.co/AlexWortega/openjev#use-itUse it

from modeling_openjev import OpenJevCrossEncoder
jev = OpenJevCrossEncoder("AlexWortega/openjev", subfolder="qwen3.5-4b-nli-v2")

jev.predict([("The bird is 0.05 below the centre of the gap.", "The bird is below the centre of the gap.")])
# -> [[contradiction, entailment, neutral]] probabilities

jev.rerank("Which gas do plants absorb during photosynthesis?", ["oxygen", "carbon dioxide", "nitrogen"])
# -> index of the option with the highest entailment

Or with plain transformers:

from transformers import AutoModelForSequenceClassification, AutoTokenizer
tok = AutoTokenizer.from_pretrained("AlexWortega/openjev", subfolder="qwen3.5-4b-nli-v2")
model = AutoModelForSequenceClassification.from_pretrained("AlexWortega/openjev", subfolder="qwen3.5-4b-nli-v2")
text = model.config.nli_template.format(premise="...", hypothesis="...")

Images go inside the premise as<\|vision\_start\|\><\|image\_pad\|\>…<\|vision\_end\|\>withpixel\_values/image\_grid\_thwfrom the Qwen3.5 image processor; seecode/doom\_vision\.pyandcode/eval\_image\_nli\.py.

Reference point:dleemiller’s NLI cross-encoders. Licence MIT.

Similar Articles

Openjev

Reddit r/LocalLLaMA

Openjev is an open-source AI model trained as a crossencoder that can play games and perform tasks similar to another model called jev.

@julien_c: open source, wen?

X AI KOLs Following

Julien C asks about open-source release of Alibaba's Qwen3.7-Plus, a multimodal agent model unifying vision and language.

OpenJev

Hacker News Top

OpenJev is a browser-based tool that allows users to run AI models locally and compare different inference methods, such as reading logits directly versus generating tokens in JSON format.

A Jev-style model fine-tuned on Qwen3.5 4B

Reddit r/LocalLLaMA

The author fine-tuned Qwen3.5 4B using LoRA with public and synthetic data to create a Jev-style model, achieving improved performance and open-sourcing the model and dataset.

prefeitura-rio/Rio-3.5-Open-397B

Hugging Face Models Trending

Rio 3.5 Open 397B is an open-source, frontier-class AI model post-trained from Qwen 3.5 397B, featuring SwiReasoning for dynamic explicit/latent reasoning switching, achieving state-of-the-art performance across agentic coding, reasoning, and multilingual benchmarks.