WSAI-Orchestrator
Atelier · RAG + llama-server
Stack complète documentée : install llama.ps1, models.json, /chat avec dégradation FTS, supervisor, tests node --test.
Un hub, une coquille, un agent local en coulisse. Il comprend vos documents via un RAG GGUF/llama.cpp, se connecte à vos logiciels existants, et ne génère pas du code au hasard : il assemble des briques testées. C'est le projet principal — whytcard.ch pour les outils PME, whytweb.ch pour le web.
Jérôme Ethenoz · Suisse romande
Sous le capot
WSAI Entreprise repose sur une stack locale vérifiable : llama.cpp en loopback, ingest RAG en SQLite, orchestrateur Node. Pas de promesse magique — du code que je fais tourner chez moi avant de le livrer.
llama-server (chat)
Port 8080, loopback uniquement. Modèle léger type Qwen2.5-0.5B-Instruct en Q4_K_M pour le chat RAG et le dashboard — pas pour du raisonnement lourd.
llama-server (embeddings)
Second serveur optionnel sur :8081 avec --embedding --pooling mean. Modèle nomic-embed-text-v1.5 en GGUF pour la recherche vectorielle (sqlite-vec, en cours).
Orchestrateur WSAI
Node sur :9477 : /ingest, /retrieve (FTS5 aujourd'hui), /chat. Si llama-server est up → réponse LLM ; sinon → echo des chunks indexés. Zéro dépendance npm externe.
wsai-orchestraition
CLI + SQLite ~/.wsai/wsai.db : sync projet, RAG, runs, mandate. Provider llamacpp pointé sur http://127.0.0.1:8080/v1. La DB est la vérité, pas mes suppositions.
Flux d'exécution
Frontière honnête
Je ne vends pas du « 100 % local » : c'est faux et fragile. Je tranche par type de donnée.
Bridge desktop : HTTPS sortant uniquement, zéro port entrant. Le LLM local ne quitte jamais 127.0.0.1.
Les couches
WhytCore (Rust) a prouvé le trio llama.cpp + sqlite-vec + FTS5. WSAI-deskRAG reprend ce pattern ; l'orchestrateur Node porte déjà l'ingest et le chat.
Inférence chat
GGUF en Q4, API /v1/chat
Vecteurs locaux
nomic-embed en GGUF
Node loopback
:9477 · ingest · chat
Mémoire projet
Chunks + FTS5
Runtime Rust
sqlite-vec + FTS5
Produit client
Agent local B2B
Ce que je manipule
Compétences terrain, pas un catalogue SaaS.
Modèles GGUF
Téléchargement Hugging Face, quantisation Q4_K_M, choix chat vs embed selon la VRAM disponible.
llama.cpp / llama-server
Installation binaire, cont-batching, ctx-size, double serveur chat + embeddings, health llmUp.
RAG local
Ingest, chunking, FTS5 aujourd'hui, sqlite-vec demain. Chaque réponse cite son passage ou s'arrête.
Orchestration d'agents
wsai-orchestraition, Cortex, HumanIntelligence : mémoire, mandate, runs — sans recoder la stack à chaque projet.
Matériel & VRAM
14B ≈ 9–10 Go, 32B ≈ 20 Go. Sous CPU un 7B est lent : je ne fais pas semblant. GPU local pour le sensible.
Réseau & confidentialité
Loopback 127.0.0.1, polling sortant, allowlist sur ce qui remonte au cloud. Pas de port entrant.
Données sensibles : loopback uniquement. Le reste est cloisonné et documenté — pas de promesse « zéro octet ».
Preuves
Produits maison et briques atelier — pas une liste de clients tiers.
Atelier · RAG + llama-server
Stack complète documentée : install llama.ps1, models.json, /chat avec dégradation FTS, supervisor, tests node --test.
Atelier · CLI + mémoire
sync, rag query, runs, mandate dans ~/.wsai/wsai.db. Provider llamacpp vers le serveur local.
API locale
Orchestrateur Rust
Comptabilité PME
Hub métier
Comment je travaille
Je cartographie vos données sensibles et le matériel (VRAM, CPU). Je choisis le GGUF qui tient réellement.
Je monte llama-server + ingest RAG. Vous testez sur vos docs : chaque réponse est sourcée ou le système s'arrête.
Je branche vos outils métier via l'agent local. La coquille affiche ; le moteur reste chez vous.
Un échange direct sur vos docs, votre VRAM, et ce qui doit rester local.
Écrire à Jérôme