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

@ -83,7 +83,7 @@ L'ensemble est géré en Infrastructure-as-Code : **Ansible** pour les hôtes Al
| Composant | Rôle | Hôte |
|---|---|---|
| **llama-server** (×4) | Inférence GPU (:1234) + 2× CPU isolés (:1236/:1237) + embeddings dédiés nomic-embed-text (:1238) — ROCm 7.x | gpu-01 |
| **llama-server** | Inférence GPU (:1234, qwen3-8b — ROCm 7.x) + embeddings dédiés nomic-embed-text (:1238, CPU) + watchdog/heartbeat. Instances CPU :1236/:1237 (profils `system`/`monitor`) **manuelles, souvent éteintes** | gpu-01 |
| **LiteLLM** | Proxy API — routing local/cloud transparent | storage-01 |
| **Hermes Agent** | Agent IA multi-profils avec mémoire vectorielle | storage-01 |
| **ask-agent** | Délégation inter-agents (system / monitor / brain) | storage-01 |
@ -108,11 +108,11 @@ L'ensemble est géré en Infrastructure-as-Code : **Ansible** pour les hôtes Al
| Machine | IP | OS | RAM | Rôle |
|---|---|---|---|---|
| storage-01 | 192.168.10.1 | AlmaLinux 9.7 | 32 GB | Gateway · NFS · Services IA |
| gpu-01 | 192.168.10.20 | AlmaLinux 9.7 | 32 GB | Inférence LLM (RX 6700XT) |
| compute-01 | 192.168.10.11 | Talos v1.13 | 16 GB | k8s control-plane |
| compute-02 | 192.168.10.12 | Talos v1.13 | 8 GB | k8s worker |
| compute-03 | 192.168.10.13 | Talos v1.13 | 8 GB | k8s worker |
| storage-01 | 192.168.10.1 | AlmaLinux 9.8 | 32 GB | Gateway · NFS · Services IA |
| gpu-01 | 192.168.10.20 | AlmaLinux 9.8 | 32 GB | Inférence LLM (RX 6700XT) |
| compute-01 | 192.168.10.11 | Talos v1.13 (k8s v1.33.1) | 16 GB | k8s control-plane |
| compute-02 | 192.168.10.12 | Talos v1.13 (k8s v1.33.1) | 8 GB | k8s worker |
| compute-03 | 192.168.10.13 | Talos v1.13 (k8s v1.33.1) | 8 GB | k8s worker |
### Stockage
@ -248,7 +248,7 @@ Elle est gérée automatiquement par le rôle Ansible `llama_server`.
- [x] Ansible — gpu-01 (ROCm, llama-server : GPU :1234 + embeddings :1238 via le rôle ; 2× CPU manuels)
- [x] Stack IA opérationnelle (Hermes multi-profils + Qwen3 + Claude API)
- [x] Délégation inter-agents (`ask-agent` + skill `agent-delegation`)
- [x] RAG opérationnel — Qdrant 339 chunks, `rag-query` / `rag-ingest`
- [x] RAG opérationnel — Qdrant ~436 chunks (embeddings nomic-embed-text `:1238`, dim 768), `rag-query` / `rag-ingest`
- [x] User `hermes` avec SSH partagé entre storage-01 et gpu-01
- [x] Cluster Kubernetes opérationnel (Talos v1.13 + talhelper)
- [x] MetalLB + Traefik + wildcard DNS `lab.local`
@ -259,8 +259,8 @@ Elle est gérée automatiquement par le rôle Ansible `llama_server`.
- [x] hermes-auto-improve — analyse quotidienne de la doc par Hermes (n8n 22h → PR `hermes/daily-work`)
- [x] Ghostfolio — suivi de portefeuille (`ghostfolio.lab.local`, PostgreSQL s01 + Redis)
- [x] STT — assistant vocal « Jarvis » (client `stt` + STT-server in-cluster, mémoire Qdrant `stt-memory`)
- [x] Modèle d'embedding dédié — nomic-embed-text sur gpu-01 `:1238` (utilisé par la mémoire STT)
- [x] Réparer Qdrant — crash-loop résolu 2026-06-17 (collection `funk-docs` supprimée → à re-ingérer)
- [ ] Re-ingérer le RAG (`rag-ingest`) et le basculer sur l'embedding dédié `:1238`
- [x] Modèle d'embedding dédié — nomic-embed-text sur gpu-01 `:1238` (utilisé par la mémoire STT **et le RAG**)
- [x] Réparer Qdrant — crash-loop résolu 2026-06-17 ; collection `funk-docs` **reconstruite** depuis (436 chunks)
- [x] Re-ingérer le RAG (`rag-ingest`) **basculé sur l'embedding dédié `:1238`** (dim 768)
- [ ] WOL compute nodes (configuration BIOS)
- [ ] Route statique Freebox