Instructions to use javierbits/Javi0.4-2B-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use javierbits/Javi0.4-2B-GGUF with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf javierbits/Javi0.4-2B-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf javierbits/Javi0.4-2B-GGUF:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf javierbits/Javi0.4-2B-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf javierbits/Javi0.4-2B-GGUF:Q4_K_M
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf javierbits/Javi0.4-2B-GGUF:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama cli -hf javierbits/Javi0.4-2B-GGUF:Q4_K_M
Use Docker
docker model run hf.co/javierbits/Javi0.4-2B-GGUF:Q4_K_M
- Llama new
- LM Studio
- Jan
- vLLM
How to use javierbits/Javi0.4-2B-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "javierbits/Javi0.4-2B-GGUF" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "javierbits/Javi0.4-2B-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/javierbits/Javi0.4-2B-GGUF:Q4_K_M
- Ollama
How to use javierbits/Javi0.4-2B-GGUF with Ollama:
ollama run hf.co/javierbits/Javi0.4-2B-GGUF:Q4_K_M
- Unsloth Desktop
- Pi
How to use javierbits/Javi0.4-2B-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf javierbits/Javi0.4-2B-GGUF:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "javierbits/Javi0.4-2B-GGUF:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use javierbits/Javi0.4-2B-GGUF with Docker Model Runner:
docker model run hf.co/javierbits/Javi0.4-2B-GGUF:Q4_K_M
- Lemonade
How to use javierbits/Javi0.4-2B-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull javierbits/Javi0.4-2B-GGUF:Q4_K_M
Run and chat with the model
lemonade run user.Javi0.4-2B-GGUF-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use javierbits/Javi0.4-2B-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf javierbits/Javi0.4-2B-GGUF:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default javierbits/Javi0.4-2B-GGUF:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use javierbits/Javi0.4-2B-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf javierbits/Javi0.4-2B-GGUF:Q4_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "javierbits/Javi0.4-2B-GGUF:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Javi0.4-2B-GGUF
GGUF quants of Javi0.4-2B, which is Javi0.3-2B with one embedding row changed. No fine-tuning, no new data, no gradients. The tied input/output row for token 51187 (=open_page) is multiplied by 0.84.
The edit biases one decision: after a failed lookup, call web_search again instead of opening a URL typed from memory. It does not add a new reasoning capability.
Measured effect
8 held-out eval-v3 canonical fail questions, first web_search forced to fail, greedy next tool:
| model | next web_search |
next open_page |
|---|---|---|
| Javi0.3-2B | 0/8 | 8/8 |
| Javi0.4-2B | 7/8 | 1/8 |
This probe isolates the decision the edit targets. In a two-seed harness canary with real tools and sampling, 0.84 chose open_page after a permanently blocked search and completed, same as the base; it used one extra search on a normal lookup. A 0.75 scale flipped 4/4 but looped on 14 searches under a permanent block, so 0.84 is the conservative setting. The edit reaches the canonical open_page tool; in opencode/grok, webfetch/web_fetch after a 403 is unchanged.
Full eval v3
Measured on the bf16 safetensors model these quants come from; quantization adds its own small noise. 175 held-out seeds, 3 runs, date pin 2026-10-07, cached search results. Javi0.3-2B answers on the same seeds are the baseline. Judges: DeepSeek-V4.1-Flash-1017 and mimo-v26-dual.
| metric | Javi0.3-2B | Javi0.4-2B |
|---|---|---|
| core pass (judge average) | 0.35 [0.30, 0.40] | 0.41 [0.36, 0.45] |
| core pass (deepseek) | 0.48 | 0.58 |
| core pass (mimo) | 0.23 | 0.24 |
| recovery after a tool failure | 0.55 (n=11) | 0.45 (n=10) |
| made-up links | 0.01 | 0.00 |
| loops | 0.04 | 0.03 |
Paired core pass difference: +0.06 [0.02, 0.10] (deepseek +0.10 [0.05, 0.16], mimo +0.02 [-0.02, 0.06]), 95% bootstrap over 175 seeds. The deepseek interval clears zero; the mimo interval crosses zero, so the size of the gain is uncertain. Conflict questions improved (0.33 vs 0.07, n=7) and nodate (0.42 vs 0.17, n=6); premise (0.23 vs 0.29, n=13) and recovery after real failures did not.
Five answer episodes (4 seeds) carry no deepseek verdict because the judge omits the tools or style key; one seed never finished an episode in any of the three runs and the judge skips it, so judge-only rows cover 174 seeds. Core pass stays at 175 seeds with incomplete episodes scored 0. Full scoreboard: data/v2/eval/javi04-vs-03-2b/score.md in the source tree.
Files
| File | Quant | Size | Notes |
|---|---|---|---|
Javi0.4-2B.Q8_0.gguf |
Q8_0 | 2.1 GB | Close to lossless |
Javi0.4-2B.Q4_K_M.gguf |
Q4_K_M | 1.3 GB | Smaller and faster |
Both were quantized from an F16 GGUF of the edited merged model. Text only: the base model's vision tower is not in the GGUF. F16 is available from the same conversion if you need it.
Run it
llama.cpp
llama-server -hf javierbits/Javi0.4-2B-GGUF:Q8_0 --jinja -c 131072 -fa on -ctk q8_0 -ctv q8_0 \
--chat-template-kwargs '{"enable_thinking": false}' \
--temp 0.2 --top-p 0.8 --top-k 20 --min-p 0
Point any OpenAI-compatible agent at http://localhost:8080/v1. Javi is built for agents with tools (web search, page fetch, a shell).
lmdeck
lmdeck use javi0.4-2b
- Thinking off. It was trained and evaluated with
enable_thinking: false. - Low temperature (0.2) keeps tool calls well formed.
Links
- Safetensors: Javi0.4-2B
- Base: Javi0.3-2B
- 4B control: Javi0.4-4B-GGUF
- Apache 2.0, inherited from Qwen3.5-2B.
- Downloads last month
- 212
4-bit
8-bit
Model tree for javierbits/Javi0.4-2B-GGUF
Base model
Qwen/Qwen3.5-2B-Base