Instructions to use Louiskq/jev-class-9b-sft with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Louiskq/jev-class-9b-sft with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Louiskq/jev-class-9b-sft") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("Louiskq/jev-class-9b-sft") model = AutoModelForCausalLM.from_pretrained("Louiskq/jev-class-9b-sft", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Louiskq/jev-class-9b-sft with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Louiskq/jev-class-9b-sft" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Louiskq/jev-class-9b-sft", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/Louiskq/jev-class-9b-sft
- SGLang
How to use Louiskq/jev-class-9b-sft with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Louiskq/jev-class-9b-sft" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Louiskq/jev-class-9b-sft", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Louiskq/jev-class-9b-sft" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Louiskq/jev-class-9b-sft", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use Louiskq/jev-class-9b-sft with Docker Model Runner:
docker model run hf.co/Louiskq/jev-class-9b-sft
jev-class-9b-sft
This is Qwen3.5-9B-Base trained with the supervised recipe from Mapika's decider (Apache 2.0): one epoch on the "full" settings. Given a state and a bounded rubric, it returns a typed answer with a probability for every option This is the task which JevBench measures. It is an unofficial community model and has no connection to JevBench or decider.
A follow-up with an extra LoRA stage is jev-class-9b-sft-lora. Code, patches, job scripts and the experiment log: https://github.com/Louiskq/jev-class-9b
It is not a chat model. The Hub lists it as text-generation because the architecture is a Qwen3.5 causal LM, but it reads a state and a rubric in decider's format and returns a probability for each option. Prompting it like a chat model won't give you anything useful. Use decider's serving code.
Training
The data is decider's mixture, built with decider's own scripts: 1,555,599 examples, 464.6M tokens. Training ran for one epoch (16,982 optimizer steps) and took about 23 hours on one GH200.
Results
Decider's regression suite (state-first layout, temperature 1.05 as set in decider_config.json):
| accuracy | NLL | ECE | |
|---|---|---|---|
| in-task | 0.843 | 0.380 | 0.026 |
| held-out tasks | 0.793 | 0.555 | 0.074 |
JevBench public items (231 items, all answered):
| all | easy | original | hard |
|---|---|---|---|
| 0.840 | 1.000 | 0.972 | 0.685 (ECE 0.113) |
There are 111 hard items, so the standard error is about 4.4 points. That makes 0.685 a tie with decider-4b v2 (0.676).
Use
Apply the temperature in decider_config.json (1.05). To serve it, run decider's decider.serve with DECIDER_MODEL=<this dir> uvicorn decider.serve:app. This was tested with decider plus the patches in the repo above.
Limitations
The weakest regression probes are very long option lists and JSON-heavy states (json_k64 0.61, json_xl 0.63, json_long 0.70). On the game tasks it plays at teacher level on pong, breakout and cliffwalking, and fails minigrid_empty and frozenlake.
Credits
Recipe, data mixture, serving code and evaluation suite are from Mapika's decider (Apache 2.0). Base model: Qwen/Qwen3.5-9B-Base (Apache 2.0). This model is Apache 2.0.
- Downloads last month
- 13