Instructions to use kanaton/webcoder-3b 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 kanaton/webcoder-3b 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 kanaton/webcoder-3b:Q8_0 # Run inference directly in the terminal: llama cli -hf kanaton/webcoder-3b:Q8_0
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf kanaton/webcoder-3b:Q8_0 # Run inference directly in the terminal: llama cli -hf kanaton/webcoder-3b:Q8_0
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 kanaton/webcoder-3b:Q8_0 # Run inference directly in the terminal: ./build/bin/llama cli -hf kanaton/webcoder-3b:Q8_0
Use Docker
docker model run hf.co/kanaton/webcoder-3b:Q8_0
- Llama new
- LM Studio
- Jan
- vLLM
How to use kanaton/webcoder-3b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "kanaton/webcoder-3b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "kanaton/webcoder-3b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/kanaton/webcoder-3b:Q8_0
- Ollama
How to use kanaton/webcoder-3b with Ollama:
ollama run hf.co/kanaton/webcoder-3b:Q8_0
- Unsloth Desktop
- Pi
How to use kanaton/webcoder-3b with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf kanaton/webcoder-3b:Q8_0
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": "kanaton/webcoder-3b:Q8_0" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use kanaton/webcoder-3b with Docker Model Runner:
docker model run hf.co/kanaton/webcoder-3b:Q8_0
- Lemonade
How to use kanaton/webcoder-3b with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull kanaton/webcoder-3b:Q8_0
Run and chat with the model
lemonade run user.webcoder-3b-Q8_0
List all available models
lemonade list
- Hermes Agent
How to use kanaton/webcoder-3b with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf kanaton/webcoder-3b:Q8_0
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 kanaton/webcoder-3b:Q8_0
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use kanaton/webcoder-3b with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf kanaton/webcoder-3b:Q8_0
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 "kanaton/webcoder-3b:Q8_0" \ --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"
WebCoder 3B โ assistant de code web local (CPU)
WebCoder 3B est un modรจle de code web pour PHP, HTML, CSS, SQL et JavaScript, destinรฉ ร
tourner en local, sur CPU, sans API externe. Il est dรฉrivรฉ de
Qwen/Qwen2.5-Coder-3B-Instruct par un fine-tune LoRA (identitรฉ + chat + worker), fusionnรฉ puis
quantifiรฉ en GGUF Q8_0.
Transparence : la base rรฉelle est Qwen2.5-Coder (Alibaba, Apache-2.0). ยซ WebCoder, crรฉรฉ par Pierre Jean Duvivier ยป dรฉsigne le livrable (corpus + fine-tune), pas la base. L'assistant ne divulgue pas spontanรฉment la base ; l'attribution technique est ici et dans
THIRD_PARTY_NOTICES.md.
Variantes
| Dรฉpรดt | Taille | GGUF | Cible |
|---|---|---|---|
kanaton/webcoder-3b |
3B | webcoder-3b-q8_0.gguf (3,29 Go) |
hรดte avec RAM confortable ; meilleur sur les tรขches dures |
kanaton/webcoder-t28n |
1,5B | webcoder-t28n-q8_0.gguf (1,65 Go) |
cible 8 Go / CPU modeste |
La suite de cette carte dรฉcrit la 3B. Pour la 1,5B, remplacer le nom du fichier et le
base_model par Qwen/Qwen2.5-Coder-1.5B-Instruct ; les sections usage et limites restent valables.
Dรฉtails
| Champ | Valeur |
|---|---|
| Base | Qwen/Qwen2.5-Coder-3B-Instruct @ 488639f1ff808d1d3d0ba301aef8c11461451ec5 |
| Fine-tune | LoRA seed identitรฉ + chat + worker, 317 ex., 150 pas, puis fusion |
| Format | GGUF Q8_0, architecture Qwen2, contexte 32768 |
| Fichier | webcoder-3b-q8_0.gguf, 3 285 475 808 octets |
| SHA-256 | d0f1f9f023506d36f8322c090f1244ff03e703ac07e13bd8fcb99bc9c0ca2f6f |
| Licence | Apache-2.0 |
| Identitรฉ | ยซ WebCoder ยป, crรฉรฉ par Pierre Jean Duvivier โ via le template de chat |
Usage
llama.cpp
llama-server -m webcoder-3b-q8_0.gguf \
--alias webcoder \
--chat-template-file webcoder_no_tools.jinja \
--ctx-size 4096 \
--threads 6 \
--host 127.0.0.1 --port 8081
Important โ identitรฉ : sans
--chat-template-file, llama.cpp applique le template Qwen et le modรจle rรฉpond ยซ Je suis Qwen ยป. L'identitรฉ WebCoder est portรฉe par le templatewebcoder_no_tools.jinja(ร inclure dans le dรฉpรดt HF et ร tรฉlรฉcharger avec le GGUF), pas par les poids seuls. Vรฉrifiรฉ le 2026-11-08 : mรชme modรจle, mรชme GGUF, identitรฉ diffรฉrente selon le template.
Template de chat (obligatoire pour l'identitรฉ)
Le fichier webcoder_no_tools.jinja dรฉfinit le system prompt ยซ Tu es WebCoderโฆ ยป. Pour
transformers :
from pathlib import Path
tok.chat_template = Path("webcoder_no_tools.jinja").read_text(encoding="utf-8")
Sans ce template, le modรจle se prรฉsente comme Qwen (base rรฉelle).
Puis :
curl http://127.0.0.1:8081/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{"messages":[{"role":"user","content":"Qui es-tu ?"}],"temperature":0}'
- CPU-first : aucun GPU requis, aucun fallback GPU.
- Contexte : 4096 pour l'รฉvaluation ; le GGUF supporte 32768 mais le prรฉfill CPU est lent.
- Dรฉcodage : tempรฉrature 0 recommandรฉe pour des sorties dรฉterministes.
- Pas de tool-calling structurรฉ : le modรจle peut รฉcrire un appel d'outil en texte, pas en
tool_calls. Utiliser le mode chat, pas agentique.
Format worker
Pour les tรขches de code, le modรจle attend un prompt ยซ worker ยป et rรฉpond avec des blocs :
```file:src/config.php
<?php
// ...
```
Les blocs sont ensuite appliquรฉs dans un worktree jetable et testรฉs.
Performances
รvaluation sur bancs PHP tenus ร l'รฉcart (rรฉfรฉrences vรฉrifiรฉes) :
| Banc | 3B v0 | 1,5B (T28n) |
|---|---|---|
z (dur, multi-fichiers) |
5/5 | 0โ1/5 |
y (rรฉserve neuve) |
4/5 | 3/5 |
x (rรฉserve dure) |
4/5 | 4/5 |
h |
8/8 | 7โ8/8 |
p |
2/4 | 2/4 |
r |
2/4 | โ |
- Identitรฉ et chat prรฉservรฉs (vรฉrifiรฉs).
- La 3B est nettement meilleure sur les tรขches dures ; c'est le facteur capacitรฉ.
- Les continuations d'entraรฎnement sur la 3B (plan-first, app) n'ont pas amรฉliorรฉ les rรฉsultats โ v0 conservรฉ.
P2P (harnais externe, optionnel)
Le P2P n'est pas dans les poids. Un harnais sรฉparรฉ (tools/p2p/) permet de servir le modรจle sur
plusieurs nลuds :
- pairs symรฉtriques + gossip HTTP, sans broker central ;
- routage least-connections + exclusion temporaire des nลuds morts ;
- best-of-N distribuรฉ et dรฉcoupage multi-fichiers.
Gains mesurรฉs : dรฉbit sur requรชtes indรฉpendantes (8,69 โ 17,73 tok/s, 2,04ร de 1 ร 4
machines), pas de gain de latence sur une app unique. Voir le dรฉpรดt du harnais
(tools/p2p/README.md, DEPLOY_MULTI_MACHINE.md).
Limites
- Gรฉnรฉration from-scratch : les apps multi-fichiers ร dรฉpendances linรฉaires restent fragiles ;
les erreurs de logique (ex. ordre
preg_replace/strtolower) ne sont pas corrigรฉes par les boucles de rรฉparation actuelles. - Dรฉcoupage 7 fichiers : structure correcte mais รฉchec sur la logique du modรจle โ non adoptรฉ.
- Tool-calling non fonctionnel.
- 3B Q8 : la cible 8 Go n'a pas รฉtรฉ validรฉe ; prรฉfรฉrer la 1,5B pour un hรดte ร 8 Go.
- Prompts en franรงais, templates spรฉcifiques au projet.
- Pas de garantie de gรฉnรฉralisation hors PHP/HTML/CSS/SQL/JS.
Licence et attribution
- Base : Qwen2.5-Coder (Alibaba), Apache-2.0.
- Adaptateurs, corpus et code du harnais : travail du projet WebCoder.
- Voir
LICENSEetTHIRD_PARTY_NOTICES.mddu dรฉpรดt.
- Downloads last month
- 83
8-bit