Instructions to use apartejs/aparte-souffleurs with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers.js
How to use apartejs/aparte-souffleurs with Transformers.js:
// npm i @huggingface/transformers import { pipeline } from '@huggingface/transformers'; // Allocate pipeline const pipe = await pipeline('text-generation', 'apartejs/aparte-souffleurs'); - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use apartejs/aparte-souffleurs 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 apartejs/aparte-souffleurs:Q4_K_M # Run inference directly in the terminal: llama cli -hf apartejs/aparte-souffleurs:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf apartejs/aparte-souffleurs:Q4_K_M # Run inference directly in the terminal: llama cli -hf apartejs/aparte-souffleurs: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 apartejs/aparte-souffleurs:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama cli -hf apartejs/aparte-souffleurs:Q4_K_M
Use Docker
docker model run hf.co/apartejs/aparte-souffleurs:Q4_K_M
- Llama new
- LM Studio
- Jan
- vLLM
How to use apartejs/aparte-souffleurs with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "apartejs/aparte-souffleurs" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "apartejs/aparte-souffleurs", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/apartejs/aparte-souffleurs:Q4_K_M
- Ollama
How to use apartejs/aparte-souffleurs with Ollama:
ollama run hf.co/apartejs/aparte-souffleurs:Q4_K_M
- Unsloth Desktop
- Pi
How to use apartejs/aparte-souffleurs with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf apartejs/aparte-souffleurs: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": "apartejs/aparte-souffleurs:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use apartejs/aparte-souffleurs with Docker Model Runner:
docker model run hf.co/apartejs/aparte-souffleurs:Q4_K_M
- Lemonade
How to use apartejs/aparte-souffleurs with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull apartejs/aparte-souffleurs:Q4_K_M
Run and chat with the model
lemonade run user.aparte-souffleurs-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use apartejs/aparte-souffleurs with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf apartejs/aparte-souffleurs: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 apartejs/aparte-souffleurs:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use apartejs/aparte-souffleurs with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf apartejs/aparte-souffleurs: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 "apartejs/aparte-souffleurs: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"
apartรฉ โ souffleurs (dรฉploiement navigateur, ONNX q4 + LoRA int8 hot-swap)
Format prรชt ร servir dans le navigateur (transformers.js / WebGPU) de l'architecture
ยซ souffleurs ยป : UN seul modรจle de base ONNX q4 partagรฉ + des adaptateurs LoRA
รฉchangeables ร chaud (.data), tous au mรชme rang โ un seul base sert tous les rรดles.
Mรฉtaphore : le souffleur de thรฉรขtre. Le caller (
souffleur-chat) dรฉcide et route ; les exรฉcuteurs (souffleur-pdf,-xlsx-docx,-sandbox) produisent l'artefact. Le hot-swap = le mรชme acteur (base) change de souffleur selon la scรจne.
Versioning (dรฉtection de mise ร jour)
Les souffleurs ont des noms de fichiers versionnรฉs immuables (souffleur-<role>-<version>.data).
La source de vรฉritรฉ des versions courantes = manifest.json (ร la racine). Un client fetch ce
petit fichier en no-store, compare les version ร son cache, et ne re-tรฉlรฉcharge que le .data
changรฉ. Dรฉtails d'intรฉgration : voir HANDOFF-versioning-souffleurs.md dans le repo de lab.
Version actuelle : chat 0.2.0 (le caller redonne du code + route write_file(pdf)), exรฉcuteurs 0.1.0.
Contenu du repo
| Fichier | Rรดle | Taille |
|---|---|---|
onnx/model_q4.onnx |
graphe base r128 (slots LoRA int8, DequantizeLinear inline) |
~0.36 MB |
onnx/model_q4.onnx_data |
poids base q4 (externes, partagรฉs par tous les souffleurs) | ~795 MB |
config.json, generation_config.json, tokenizer*.json |
tokenizer + config (chat_template inclus) | ~4.7 MB |
adapters/souffleur-chat.data |
caller โ routage + tool-calls | 86 MB |
adapters/souffleur-pdf.data |
exรฉcuteur PDF (jsPDF) | 86 MB |
adapters/souffleur-xlsx-docx.data |
exรฉcuteur tableur / doc | 86 MB |
adapters/souffleur-sandbox.data |
exรฉcuteur sandbox JS | 86 MB |
Ajouter un rรดle = dรฉposer un .data de 86 MB de plus. Rien d'autre ne bouge.
Pourquoi 86 MB par souffleur (et pas 340)
- Adaptateurs entraรฎnรฉs en LoRA r128 (les exรฉcuteurs),
souffleur-chatentraรฎnรฉ en r64 puis padรฉ r128 (lignes de rang nulles) pour partager le mรชme base. - Stockage
.dataen int8 symรฉtrique par canal (quant +DequantizeLinear, compute FP32 restaurรฉ ร l'exรฉcution) โ รท4 vs fp32 : 340 MB โ 86 MB, sans perte de qualitรฉ mesurรฉe (voir plus bas). - Le gros poids (795 MB base) est partagรฉ une seule fois entre tous les rรดles.
Chargement (transformers.js 4.2.0, WebGPU)
Le graphe rรฉfรฉrence deux fichiers externes : les poids base (model_q4.onnx_data) et un
placeholder adapter.data remappรฉ vers le souffleur voulu. Hot-swap = mรชme graphe,
autre .data.
import { pipeline } from '@huggingface/transformers'; // 4.2.0
async function load(souffleur) {
return pipeline('text-generation', 'onnx/base', {
device: 'webgpu', dtype: 'q4', model_file_name: 'model',
session_options: { externalData: [
{ path: 'model_q4.onnx_data', data: 'onnx/model_q4.onnx_data' },
{ path: 'adapter.data', data: `adapters/${souffleur}.data` },
] },
});
}
// caller -> dรฉcide ; puis hot-swap vers l'exรฉcuteur choisi
let pipe = await load('souffleur-chat'); // routage
pipe = await load('souffleur-pdf'); // exรฉcution (swap ~3.8 s, base en cache)
Validation hot-swap (navigateur, WebGPU, q4 int8)
Chaรฎne caller โ hot-swap โ exรฉcuteur testรฉe de bout en bout :
souffleur-chatsurยซ Crรฉe une facture PDF โฆ 450 EUR HT ยปโ รฉmetwrite_file(kind="pdf", task="Crรฉer une facture professionnelle โฆ Total TTC : 450 EUR โฆ paiement ร 30 jours.")(tool-call pythonic complet, ~17 tok/s).- hot-swap โ
souffleur-pdfen ~3.8 s (base en cache, on ne recharge que le.data). souffleur-pdfsur l'intent โ code jsPDF valide (new jsPDF(), en-tรชtesetFillColor/rect,Nยฐ FAC-2024-089,doc.output('blob')), ~13 tok/s.
La quantif int8 ne dรฉgrade pas la sortie (identique/plus riche que le fp32 sur le mรชme prompt).
Contrat & prompt systรจme
Format tool-call pythonic : <|tool_call_start|>[name(args)]<|tool_call_end|> (parsรฉ AST).
Le prompt systรจme du caller = coeur sp-chat + List of tools: [JSON] + (si fichiers)
Files available: [{id,name,type}]. Deux rรจgles apprises et critiques :
- Recopier
file_idร l'identique, ne jamais l'inventer. - Toujours appeler l'outil
computepour tout calcul (jamais de calcul mental).
Base & entraรฎnement
- Base : LFM2.5-VL-1.6B strippรฉ, TEXT-ONLY (pas de
vision_config),model_type: lfm2. La vision se rebranche par hot-swap d'encodeur (hors de ce repo). - Entraรฎnement : Unsloth SFT sur AMD Strix Halo (Radeon 8060S, gfx1151, ROCm, WSL).
- Cibles LoRA :
in_proj,k_proj,out_proj,q_proj,v_proj,w1,w2,w3; scaling = 1.0 (alpha=r). - Le caller v6 score 94 % sur l'รฉval interne (routage + tool-calls).
Format ยซ source ยป (bf16)
Les adaptateurs bf16 d'origine (safetensors + adapter_config.json + chat_template) sont
dans le dossier souffleurs/<nom>/v0.1/ du repo de lab โ utile pour re-quantifier ou
rรฉ-entraรฎner. Ce repo-ci est le format de service (le plus lรฉger).
- Downloads last month
- 194
4-bit
8-bit
16-bit