mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-09 20:34:43 +02:00
docs: passe de cohérence documentaire (STT, Ghostfolio, embeddings, Qdrant) (#15)
Aligne la documentation sur l'état réel du cluster au 2026-06-18 : - Qdrant : crash-loop résolu le 17/06 (statut « HS / EN COURS » corrigé dans CLAUDE.md, README, admin/ia/rag.md, admin/incidents.md, admin/ia/stt.md). Précision : collection funk-docs supprimée lors de la réparation → re-ingest RAG encore à faire (pas de surévaluation du statut). - STT (assistant vocal « Jarvis ») : ajouté partout (était déployé mais non documenté). - Ghostfolio : ajouté partout (était déployé mais non documenté). - Embeddings dédiés nomic-embed-text :1238 : marqués opérationnels (roadmap README disait encore « TODO »). - llama-server : ×3 → ×4 (instance embeddings) ; gap IaC précisé (embeddings géré par le rôle, seules les 2 instances CPU restent manuelles). - Structure k8s/ corrigée dans CLAUDE.md : ajout stt/ + ghostfolio/, suppression des sous-dossiers traefik/ + metallb/ inexistants (installés via helm au bootstrap). - Namespaces et liste des secrets Vault (vault_pg_ghostfolio_password) complétés. - admin/README.md : index complété (~10 docs manquants : email, n8n, open-webui, ghostfolio, k9s, stt, rag, hermes-voice/souls/auto-improve, alertmanager-webhook). - Funk/ (conception d'origine : LM Studio + agents Goose, obsolète) déplacé sous archive/ avec bandeau « obsolète » + archive/README.md (historique git préservé). Claude-Session: https://claude.ai/code/session_017Qjq5jHiqNepnobJpHYpCa Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
parent
e1ec26d546
commit
c023ab0e58
17 changed files with 102 additions and 31 deletions
|
|
@ -8,6 +8,8 @@
|
|||
| Déployer quelque chose sur k8s | [k8s/argocd.md](k8s/argocd.md) |
|
||||
| Débugger l'inférence LLM | [ia/llama_server.md](ia/llama_server.md) · [ia/rocm.md](ia/rocm.md) |
|
||||
| Débugger Hermes / ask-agent | [ia/hermes.md](ia/hermes.md) |
|
||||
| Assistant vocal (STT / « Jarvis ») | [ia/stt.md](ia/stt.md) · [ia/hermes-voice.md](ia/hermes-voice.md) |
|
||||
| RAG / recherche dans la doc | [ia/rag.md](ia/rag.md) |
|
||||
| Voir les métriques / alertes | [k8s/monitoring.md](k8s/monitoring.md) |
|
||||
| Problème réseau / nftables | [infra/reseau.md](infra/reseau.md) |
|
||||
| Problème NFS / stockage | [infra/nfs.md](infra/nfs.md) |
|
||||
|
|
@ -43,6 +45,7 @@
|
|||
| [infra/nfs.md](infra/nfs.md) | NFS + RAID5 — exports, montages, automount, ajout de partages |
|
||||
| [infra/dnsmasq.md](infra/dnsmasq.md) | DNS local `lab.local` — résolution, logs, ajout d'entrées |
|
||||
| [infra/ssh.md](infra/ssh.md) | Connexions SSH — alias, jump host, transfert de fichiers |
|
||||
| [infra/email.md](infra/email.md) | Postfix relay — SMTP sortant via Gmail (App Password) |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -53,6 +56,10 @@
|
|||
| [k8s/talos.md](k8s/talos.md) | Talos Linux — talhelper, nœuds, upgrades, backup etcd |
|
||||
| [k8s/argocd.md](k8s/argocd.md) | ArgoCD GitOps — App of Apps, déploiement, dépannage |
|
||||
| [k8s/monitoring.md](k8s/monitoring.md) | Grafana · Prometheus · AlertManager — métriques, dashboards, alertes |
|
||||
| [k8s/n8n.md](k8s/n8n.md) | n8n — automatisation, workflows actifs, credentials |
|
||||
| [k8s/open-webui.md](k8s/open-webui.md) | Open WebUI — chat web, backend LiteLLM |
|
||||
| [k8s/ghostfolio.md](k8s/ghostfolio.md) | Ghostfolio — suivi de portefeuille (PostgreSQL s01 + Redis) |
|
||||
| [k8s/k9s.md](k8s/k9s.md) | k9s — TUI de gestion du cluster |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -60,10 +67,16 @@
|
|||
|
||||
| Fichier | Contenu |
|
||||
|---|---|
|
||||
| [ia/llama_server.md](ia/llama_server.md) | llama-server — 3 instances (GPU+CPU), métriques, build, modèles |
|
||||
| [ia/llama_server.md](ia/llama_server.md) | llama-server — 4 instances (GPU + 2× CPU + embeddings :1238), métriques, build, modèles |
|
||||
| [ia/rocm.md](ia/rocm.md) | GPU RX 6700XT — ROCm, `HSA_OVERRIDE_GFX_VERSION`, debug |
|
||||
| [ia/litellm.md](ia/litellm.md) | LiteLLM Proxy — routage Qwen local + Claude API, config, validation |
|
||||
| [ia/hermes.md](ia/hermes.md) | Hermes Agent + ask-agent — profils, skills, SOUL.md, délégation |
|
||||
| [ia/hermes-souls.md](ia/hermes-souls.md) | Prompts système (souls) par profil Hermes |
|
||||
| [ia/hermes-auto-improve.md](ia/hermes-auto-improve.md) | Worker d'analyse quotidienne de la doc par Hermes (trigger :9095) |
|
||||
| [ia/hermes-voice.md](ia/hermes-voice.md) | Client vocal Hermes (CLI : faster-whisper + Piper + wake word) |
|
||||
| [ia/stt.md](ia/stt.md) | STT — assistant vocal « Jarvis » (client `stt` + STT-server in-cluster + mémoire) |
|
||||
| [ia/rag.md](ia/rag.md) | RAG — `rag-query`/`rag-ingest`, Qdrant `funk-docs`, embeddings |
|
||||
| [ia/alertmanager-webhook.md](ia/alertmanager-webhook.md) | Pont AlertManager → ask-agent (analyse LLM des alertes) |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -207,12 +207,12 @@ sudo systemctl restart llama-server
|
|||
|
||||
## ⚠️ Gap IaC — instances CPU non couvertes par Ansible
|
||||
|
||||
Le rôle `ansible/roles/llama_server/` ne déploie que l'instance **GPU** (`llama-server.service` sur :1234).
|
||||
Le rôle `ansible/roles/llama_server/` déploie l'instance **GPU** (`llama-server.service` :1234) et l'instance **embeddings** (`llama-embed` :1238, activée par `llama_embed_enabled`).
|
||||
Les instances CPU (`llama-server-system` :1236 et `llama-server-monitor` :1237) ont été créées **manuellement** et ne sont pas encore dans le code Ansible.
|
||||
|
||||
Conséquence : un `make apply-gpu` complet sur un hôte vierge ne déploierait PAS les instances CPU.
|
||||
|
||||
**Axe d'amélioration** : étendre le rôle `llama_server` pour déployer les 3 instances via une boucle (`with_items` ou `loop` Ansible), avec des variables dédiées dans `host_vars/gpu-01/vars.yml`.
|
||||
**Axe d'amélioration** : étendre le rôle `llama_server` pour déployer aussi les 2 instances CPU via une boucle (`with_items` ou `loop` Ansible), avec des variables dédiées dans `host_vars/gpu-01/vars.yml`.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
# RAG — Documentation Funk
|
||||
|
||||
> ⚠️ **HS depuis 2026-06-05** — Qdrant en crash-loop (segment `funk-docs` corrompu).
|
||||
> Procédure de réparation dans `admin/incidents.md` (entrée 2026-06-05).
|
||||
> ⚠️ **À re-ingérer** — Qdrant a été réparé le **2026-06-17** (fin du crash-loop), mais la
|
||||
> réparation a **supprimé la collection `funk-docs`** : `rag-query` ne retourne rien tant que
|
||||
> `rag-ingest` n'a pas reconstruit l'index (reconstructible depuis `admin/`).
|
||||
> Détails de l'incident : `admin/incidents.md` (entrée 2026-06-05).
|
||||
|
||||
Le RAG (Retrieval-Augmented Generation) permet à Hermes de répondre en s'appuyant
|
||||
sur la documentation du repo (`admin/`) plutôt que sur sa seule mémoire de modèle.
|
||||
|
|
@ -38,7 +40,7 @@ Hermes formule sa réponse en citant les sources
|
|||
| `rag-query` | `/usr/local/bin/rag-query` | Interroge Qdrant depuis la ligne de commande |
|
||||
| Skill `rag-docs` | Profil `funk-ai` Hermes | Enseigne à Hermes comment utiliser `rag-query` |
|
||||
| Docs indexées | `/srv/data/rag/docs/` (NVMe) | Copie locale du dossier `admin/` |
|
||||
| Collection Qdrant | `funk-docs` | 339 chunks — dimension 4096 (Cosine) |
|
||||
| Collection Qdrant | `funk-docs` | supprimée le 2026-06-17 → **à re-ingérer** (≈339 chunks, dim 4096 Cosine) |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ Objectif ultérieur : « agir sur le homelab » via les outils de Hermes (phase
|
|||
| Agir sur le homelab | Hermes Agent (`:8080`, profils funk-ai/system/monitor/brain) | ✅ opérationnel |
|
||||
| Voix (STT + TTS + wake word) | `tools/hermes-voice/` — faster-whisper + Piper + webrtcvad | ✅ existe (CLI only) |
|
||||
| Démarrage auto au boot | pattern `systemd --user` (`tools/hermes-voice/install-service.sh`) | ✅ éprouvé |
|
||||
| Mémoire sémantique | Qdrant `:6333` + RAG (`rag-query`/`rag-ingest`) sur s01 | ⚠️ **HS depuis 05/06** |
|
||||
| Mémoire sémantique | Qdrant `:6333` + RAG (`rag-query`/`rag-ingest`) sur s01 | ✅ Qdrant réparé 17/06 (RAG `funk-docs` à re-ingérer) |
|
||||
|
||||
Maillon réellement manquant : **l'interface graphique HUD** + le packaging + la mémoire perso.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Incidents — Historique et résolutions
|
||||
|
||||
## 2026-06-05 — Qdrant en crash-loop : segment funk-docs corrompu (EN COURS)
|
||||
## 2026-06-05 — Qdrant en crash-loop : segment funk-docs corrompu (RÉSOLU 2026-06-17)
|
||||
|
||||
### Symptômes
|
||||
|
||||
|
|
@ -20,7 +20,7 @@ error: unexpected character 'D' while parsing minor version number
|
|||
|
||||
Le fichier `version.info` du segment contient `0.D\0` au lieu d'un numéro de version — corruption de données (première occurrence le 2026-06-05 à 21h10).
|
||||
|
||||
### Résolution (à appliquer)
|
||||
### Résolution (crash-loop résolu le 2026-06-17 ; re-ingest encore à faire)
|
||||
|
||||
La collection `funk-docs` est entièrement reconstructible depuis `admin/` :
|
||||
|
||||
|
|
@ -32,6 +32,12 @@ curl -s http://127.0.0.1:6333/collections # doit répondre
|
|||
/usr/local/bin/rag-ingest # ré-indexe /srv/data/rag/docs
|
||||
```
|
||||
|
||||
> **État au 2026-06-17** : les 3 premières étapes (stop + drop `funk-docs` + start) ont été
|
||||
> appliquées sur s01 pour sortir Qdrant du crash-loop (cf. `admin/ia/stt.md`, jalon 5c). Le
|
||||
> service Qdrant et la mémoire STT (`stt-memory`) sont donc opérationnels, **mais** `rag-ingest`
|
||||
> n'a pas encore été relancé : la collection `funk-docs` est vide → `rag-query` reste muet
|
||||
> tant que l'index n'est pas reconstruit.
|
||||
|
||||
### Prévention
|
||||
|
||||
- Ajouter une alerte Prometheus sur les unités systemd en `activating` prolongé (`node_systemd_unit_state`) — un crash-loop n'apparaît ni dans `failed` ni dans les alertes actuelles
|
||||
|
|
@ -42,7 +48,7 @@ curl -s http://127.0.0.1:6333/collections # doit répondre
|
|||
|
||||
| Date | Composant | Résumé | Sévérité |
|
||||
|---|---|---|---|
|
||||
| 2026-06-05 | Qdrant | **EN COURS** — crash-loop : segment `funk-docs` corrompu, RAG HS | Important |
|
||||
| 2026-06-05 | Qdrant | **Résolu 2026-06-17** — crash-loop corrigé (drop `funk-docs`) ; RAG à re-ingérer | Important |
|
||||
| 2026-05-29 | RAID5 / sdb + storage-01 | sdb ATA bus errors sous I/O — migration /srv/data du RAID vers NVMe | Important |
|
||||
| 2026-05-27 | RAID5 / sdd | Disque sdd défaillant (44 secteurs morts) — corruptions multiples en cascade | Critique |
|
||||
| 2026-05-14 | Grafana | OOMKilled — limite 256Mi trop serrée pour Grafana 13 | Warning |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue