Instructions to use Itopoly/G9v3-3B-Q3_K_M-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 Itopoly/G9v3-3B-Q3_K_M-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 Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_K_M # Run inference directly in the terminal: llama cli -hf Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_K_M # Run inference directly in the terminal: llama cli -hf Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_K_M # Run inference directly in the terminal: ./llama-cli -hf Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_K_M
Use Docker
docker model run hf.co/Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_K_M
- LM Studio
- Jan
- vLLM
How to use Itopoly/G9v3-3B-Q3_K_M-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Itopoly/G9v3-3B-Q3_K_M-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": "Itopoly/G9v3-3B-Q3_K_M-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_K_M
- Ollama
How to use Itopoly/G9v3-3B-Q3_K_M-GGUF with Ollama:
ollama run hf.co/Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_K_M
- Unsloth Desktop
- Pi
How to use Itopoly/G9v3-3B-Q3_K_M-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_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": "Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use Itopoly/G9v3-3B-Q3_K_M-GGUF with Docker Model Runner:
docker model run hf.co/Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_K_M
- Lemonade
How to use Itopoly/G9v3-3B-Q3_K_M-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_K_M
Run and chat with the model
lemonade run user.G9v3-3B-Q3_K_M-GGUF-Q3_K_M
List all available models
lemonade list
- Hermes Agent
How to use Itopoly/G9v3-3B-Q3_K_M-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 Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_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 Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use Itopoly/G9v3-3B-Q3_K_M-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_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 "Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_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"
Use Docker
docker model run hf.co/Itopoly/G9v3-3B-Q3_K_M-GGUF:Q3_K_MG9v3-3B Q3_K_M GGUF — 4-core CPU tier
A CPU-tier-validated Q3_K_M cut of ai9stars/G9v3-3B (dense ~3B, LlamaForCausalLM, 131K context, think/no-think modes, XML tool calling), packaged for llama.cpp on low-core machines. The GGUF itself is quantized by mradermacher/G9v3-3B-GGUF; this repo adds the serving template and measured performance numbers for the 4-core tier.
What's in this repo
| File | Size | What it is |
|---|---|---|
g9v3-3B.Q3_K_M.gguf |
1.5 GB | the quantized model |
g9v3_chat_template_low.jinja |
12 KB | chat template — required for tool calling (see below) |
Measured performance (4 threads, x86-64 AVX2)
Measured on an 8-vCPU EPYC @ 2.0 GHz run at 4 threads to simulate a 4-core box,
with llama.cpp llama-server:
- Decode: ~25 tok/s (think-mode ~14 tok/s) — comfortably above the ~10 tok/s interactive floor for a reasoning model
- Prompt processing: ~55 tok/s — a 5.5K-token prompt costs ~100 s once; the prefix cache makes repeat requests ~0.6 s
- Sanity check: reasoning is separated from the answer, tool calls emit structured
tool_calls, and legacy OpenAIfunction_callhistory is normalized by the template
RAM need: ≥6 GB. Context memory: KV cache is 52 KiB/token on this model — 8192 ctx fits an 8 GB box, 32768 ctx fits 16 GB.
Run with llama.cpp
# get the files
huggingface-cli download itopoly/G9v3-3B-Q3_K_M-GGUF g9v3-3B.Q3_K_M.gguf --local-dir .
huggingface-cli download itopoly/G9v3-3B-Q3_K_M-GGUF g9v3_chat_template_low.jinja --local-dir .
# serve (OpenAI-compatible on /v1/chat/completions, model name: g9v3-3b)
llama-server -m g9v3-3B.Q3_K_M.gguf --alias g9v3-3b \
-t 4 -tb 4 -c 8192 --port 8000 --host 0.0.0.0 \
--chat-template-file g9v3_chat_template_low.jinja
Reasoning text arrives in message.reasoning, the answer in content.
Why the chat template matters
Don't serve this GGUF without g9v3_chat_template_low.jinja: the stock template drops
tool-result messages, and the model re-calls the same tool forever (an observed loop
bug). The bundled template normalizes legacy tool history so multi-turn tool use works.
Notes
- No-think mode:
temperature=0.7, top_p=0.95; think mode:temperature=1.0, top_p=0.95. - Prefill is the bottleneck on CPU — keep prompts ≤ 1–2K tokens, or accept a one-time ~2 min first hit per distinct large prefix (cached afterwards).
- Tool calling works (verified single-turn + both tool-history formats), but tool-call quality on a 3B is tier-limited; the 39B family models are the tool-heavy choice.
Credits
- Original model: ai9stars/G9v3-3B (Apache-2.0)
- GGUF quantization: mradermacher/G9v3-3B-GGUF
- CPU-tier validation, template, and packaging: itopoly
- Downloads last month
- 68
3-bit
Model tree for Itopoly/G9v3-3B-Q3_K_M-GGUF
Base model
ai9stars/G9v3-3B
Install from pip and serve model
# Install vLLM from pip: pip install vllm# Start the vLLM server: vllm serve "Itopoly/G9v3-3B-Q3_K_M-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": "Itopoly/G9v3-3B-Q3_K_M-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'