docs(cluster): aligne la doc sur l'état réel + re-ingest RAG + fix ubatch embed (#44)

* fix(rag): ubatch=2048 pour llama-embed + retry rag-ingest + nettoie defaults rag

L'instance llama-embed (:1238) tournait avec l'ubatch llama.cpp par défaut (512).
En mode --embeddings + pooling, toute l'entrée doit tenir dans un seul ubatch →
tout chunk > 512 tokens échouait en HTTP 500 « input too large to process.
increase the physical batch size ». ~46 chunks du RAG (CHUNK_MAX=2000 chars ≈
700 tokens) n'étaient pas indexés.

- llama_server : ajoute llama_embed_ubatch_size (2048 = ctx) + flags
  --batch-size/--ubatch-size dans le template llama-embed.service.
- rag-ingest : retry (5×, backoff) sur erreurs transitoires 5xx/réseau de l'embed.
- rag/defaults : aligne embed_url/embed_model sur nomic :1238 (étaient des vars
  mortes pointant encore qwen3-8b :1234 — trompeuses).

Résultat : ré-ingestion 436/436 chunks, 0 erreur.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(cluster): aligne la doc sur l'état réel (relevé 2026-06-21) + snapshot

Passe de vérification terrain (SSH s01/g01 + kubectl) pour corriger les écarts
doc↔réalité, et ajout d'un document de référence vérifié.

- admin/ops/etat-cluster.md (nouveau) : snapshot daté — machines, services+ports
  par hôte, workloads k8s, namespaces, IngressRoute, bases PG, modèles LiteLLM,
  RAG/Qdrant, + procédure pour régénérer le relevé.
- OS AlmaLinux 9.7 → 9.8 (s01/g01) ; précise k8s v1.33.1 (CLAUDE/README/install/talos).
- RAG funk-docs : retire le warning périmé « supprimée 2026-06-17 / à re-ingérer » →
  reconstruite (436 chunks, nomic-embed-text :1238 dim 768, CPU). Maj rag.md,
  incidents.md, stt.md.
- Namespace sacrifice (hors-repo, hors ArgoCD) + bases PG grafana/sacrifice +
  services ai via IngressRoute + registry in-cluster (CLAUDE.md, k9s.md).
- Services de résilience (llm-heartbeat, llama-watchdog/embed) et instances CPU
  manuelles :1236/:1237 (souvent éteintes) documentés.
- Journal progress/2026-06-21.md : section relevé + RAG.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ALI YESILKAYA 2026-06-21 23:29:05 +02:00 committed by GitHub
parent f0e33c1121
commit af98b47018
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 292 additions and 82 deletions

View file

@ -85,6 +85,29 @@ Bascule du client sur `asr_engine = "onnx"` (NVIDIA Parakeet `nemo-parakeet-tdt-
---
## Relevé d'état réel + RAG re-ingéré (soir)
Passe de **vérification terrain** (SSH s01/g01 + `kubectl`) pour aligner la doc sur la réalité, et
**re-ingestion du RAG**. Nouveau doc de référence : **`admin/ops/etat-cluster.md`** (snapshot daté).
Écarts doc↔réalité corrigés (CLAUDE.md, README, install, k8s, incidents, rag, stt) :
- OS **AlmaLinux 9.8** (et non 9.7) sur s01/g01 ; **k8s v1.33.1** sur les compute nodes.
- RAG `funk-docs` **n'était pas vide** : le warning « supprimée 2026-06-17, re-ingest requis » était
périmé. Embeddings basculés sur **nomic-embed-text** (`:1238`, dim 768, **CPU**) — plus qwen3-8b.
- Namespace **`sacrifice`** (jeu FPS, hors-repo & hors ArgoCD) + base PG `sacrifice` + `grafana`
non documentés ; services `ai` exposés via **IngressRoute** Traefik ; registry in-cluster.
- Services de résilience non mentionnés : `llm-heartbeat` (s01), `llama-watchdog`/`llama-embed(-heartbeat)` (g01).
- Instances llama CPU `:1236`/`:1237` (profils `system`/`monitor`) **manuelles et éteintes** au relevé.
🐛 **Bug RAG trouvé & corrigé** : ~46 chunks rataient l'embedding (HTTP 500 *input too large… increase
physical batch size: 512*). `llama-embed` tournait avec l'**ubatch llama.cpp par défaut (512)** ; en
mode `--embeddings`+pooling l'entrée doit tenir dans un seul ubatch → chunks > 512 tokens KO. **Fix** :
`--batch-size`/`--ubatch-size = 2048` (rôle `llama_server`, var `llama_embed_ubatch_size` ; appliqué
en live via drop-in systemd g01). `rag-ingest` gagne un retry 5xx. Drift IaC nettoyé (`rag/defaults`
pointait encore qwen3-8b `:1234`). **Résultat : ré-ingestion 436/436, 0 erreur, collection 🟢.**
---
## Versions
- Client `stt` : `0.7.0 → 0.13.0` (portail, contrôles, santé, contextes, intents, version, unification).
@ -94,7 +117,10 @@ Bascule du client sur `asr_engine = "onnx"` (NVIDIA Parakeet `nemo-parakeet-tdt-
## Prochaines étapes
- **Merger #43** → activer les actions ; faire le 1er test vocal avec confirmation (HUD → 🤖 Agent).
- ✅ **#43 mergé** (actions activées) et **RAG re-ingéré** (436 chunks) — faits.
- **Appliquer `make apply-gpu`** pour réconcilier le drop-in `llama-embed` (ubatch) dans l'IaC, puis
supprimer `/etc/systemd/system/llama-embed.service.d/batch.conf` sur g01.
- 1er test vocal d'action avec confirmation (HUD → 🤖 Agent).
- Optionnel : ajouter le jeton Ghostfolio en config client si l'intent « combien » est souhaité hors contexte.
- Streaming ASR (transcription partielle live dans le HUD).
- Corriger le wake word (« Asa » vs « Hermès ») si désiré.