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 template webcoder_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 LICENSE et THIRD_PARTY_NOTICES.md du dรฉpรดt.
Downloads last month
83
GGUF
Model size
3B params
Architecture
qwen2
Hardware compatibility
Log In to add your hardware

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for kanaton/webcoder-3b

Base model

Qwen/Qwen2.5-3B
Adapter
(99)
this model