Instructions to use jsbaicenter/JSBAI-Coder-4B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use jsbaicenter/JSBAI-Coder-4B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="jsbaicenter/JSBAI-Coder-4B") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("jsbaicenter/JSBAI-Coder-4B") model = AutoModelForCausalLM.from_pretrained("jsbaicenter/JSBAI-Coder-4B", 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=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use jsbaicenter/JSBAI-Coder-4B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "jsbaicenter/JSBAI-Coder-4B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jsbaicenter/JSBAI-Coder-4B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/jsbaicenter/JSBAI-Coder-4B
- SGLang
How to use jsbaicenter/JSBAI-Coder-4B 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 "jsbaicenter/JSBAI-Coder-4B" \ --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": "jsbaicenter/JSBAI-Coder-4B", "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 "jsbaicenter/JSBAI-Coder-4B" \ --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": "jsbaicenter/JSBAI-Coder-4B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use jsbaicenter/JSBAI-Coder-4B with Docker Model Runner:
docker model run hf.co/jsbaicenter/JSBAI-Coder-4B
James Silberrad Brown Center for AI Research
The James Silberrad Brown Center for Artificial Intelligence (JSBCAI) is an interdisciplinary research hub at San Diego State University dedicated to advancing artificial intelligence through foundational research, applied innovation, and student-driven inquiry.
JSBAI-Coder-4B
An agentic coding model that runs on your laptop.
JSBAI-Coder-4B is a 4B-parameter model, fine-tuned from Qwen3.5-4B, that investigates bugs, edits files, runs commands, and verifies its own fixes in real software repositories. Agentic coding at this level has required 27B+ models. This one fits on a consumer GPU.
Results
We reserved 121 real software bugs that the model never saw during training. Before fine-tuning, it solved 10% of them. After training, it solved 83%, verified by running each project's hidden test suite. The model learned to fix bugs in general, not just the ones it practiced on.
| Benchmark | Qwen3.5-4B (base) | JSBAI-Coder-4B | JSBAI-Coder-4B-NVFP4 |
|---|---|---|---|
| Generalization test (121 unseen bugs, tests run to verify) | 10.1% | 82.9% | coming soon |
| Live-60 (60 real-world engineering tasks, solved end-to-end in containers) | 15.0% | 21.7% | 15.0% |
| Instruction-following (IFEval) | 84.66 | 87.21 | 86.37 |
| MMLU-Pro | TBD | 70.0% | 66.85% |
| Terminal-Bench 2.1 | TBD | TBD | coming soon |
The instruction-following score improved over the base model. The coding gains cost nothing on general quality. Gains of this kind usually trade one for the other.
Our decontamination protocol is published with the model: none of these benchmark problems overlap the training data.
What it does
- Investigates and fixes bugs in real repositories. The model explores a codebase, reads the failing code, writes a patch, and runs the tests to check itself, inside a sandboxed container.
- Thinks before each action. Like much larger reasoning models, it reasons between tool calls.
- Runs on consumer hardware. ~8GB VRAM in BF16; ~5GB as the NVFP4 quantized variant.
How we trained it
Three stages, each with a plain-language summary:
Seed demonstrations. GLM-5.3, a frontier 744B open model, generated roughly 1,875 coding trajectories. We verified every one by running the actual tests before using it. These demonstrations taught our model the format of agentic coding: how to use tools, when to run tests, what a working solution looks like.
Reinforcement learning on real bugs. The model then practiced on 237 curated software engineering problems: ones it could sometimes solve, but not reliably. For each problem, the model repeatedly attempted a fix. Solutions that made the real hidden tests pass were reinforced; failures were not. This phase, 145 batches of on-policy GRPO, built the actual problem-solving ability.
Generalization checks. At every stage boundary, we re-tested the model on problems it had never trained on. The 10.1% to 82.9% jump above is the result.
Training data
- NVIDIA Nemotron-Post-Training-Dataset-v2: a portion of its general instruction-following, structured-output, and tool-use data anchored the model's general capabilities.
- Our distilled seed set: ~1,875 verified coding trajectories generated by GLM-5.3 (Z.AI), each confirmed by running the real test suite before use.
- Open SWE datasets: a blend of open software-engineering problem sets provided the RL practice pool.
- The RL phase used no static data at all: the model generated fresh attempts each batch, and only test-verified outcomes became training signal.
Usage
from vllm import LLM
llm = LLM(model="jsbaicenter/JSBAI-Coder-4B", max_model_len=131072)
Recommended sampling: temperature 1.0, top_p 0.95. The model uses the Qwen3.5 chat template with interleaved thinking (the qwen3 reasoning parser in vLLM) and qwen3_coder tool-call format.
A quantized NVFP4 variant (~5GB) and an MTP-boosted speculative decoding head (for faster inference) are available from the same organization.
Limitations
- A 4B model has 4B knowledge: obscure facts and extreme-domain reasoning still favor larger models.
- We tuned the agent loop for sandboxed container environments; other deployment contexts are untested.
- Safety behaviors come from the base model; the RL phase optimized test-passing only, with no safety-specific training. See the base model card.
Lineage & credits
- Base model: Qwen/Qwen3.5-4B (Apache-2.0)
- Demonstration generator: GLM-5.3 (Z.AI), served locally
- General training data: nvidia/Nemotron-Post-Training-Dataset-v2
- Quantization: NVIDIA ModelOpt (NVFP4)
- Technical report: coming soon, covering the full methodology, the ablations, and our negative results on teacher-logprob distillation.
License
Apache-2.0, matching the base model.
Citation
@misc{jsbai_coder_4b,
title={JSBAI-Coder-4B: Agentic Coding at Laptop Scale via Teacher-Seeded RL},
author={James Silberrad Brown Center for AI},
year={2026},
publisher={HuggingFace}
}
- Downloads last month
- -