mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 06:24:42 +02:00
docs: mise à jour README principal — état cluster + stack IA complète
- Stack IA : diagramme multi-agents (funk-ai/system/monitor/brain), tableau profils Hermes, ask-agent délégation inter-agents - Organisation repo : hermes_user, hermes-skills/, talos/, k8s/ - Gestion cluster : funk-start/stop --k8s, lien admin/cluster.md - Roadmap : cluster k8s ✅, MetalLB+Traefik ✅, ask-agent ✅, hermes_user ✅, WOL et ArgoCD restants Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
9f027cb833
commit
bd7181b8db
1 changed files with 54 additions and 18 deletions
72
README.md
72
README.md
|
|
@ -48,20 +48,43 @@ L'ensemble est géré en Infrastructure-as-Code : **Ansible** pour les hôtes Al
|
||||||
## Stack IA
|
## Stack IA
|
||||||
|
|
||||||
```
|
```
|
||||||
Hermes Agent → LiteLLM :4000 → Qwen3-8B (local, gpu-01)
|
┌─────────────────────────────────────┐
|
||||||
→ Claude Sonnet / Opus (API Anthropic)
|
│ Hermes Agent (storage-01) │
|
||||||
|
│ │
|
||||||
Hermes ←→ Qdrant :6333 (mémoire vectorielle sémantique)
|
│ profil funk-ai (Qwen3-8B GPU) │
|
||||||
|
│ │ ask-agent system/monitor │
|
||||||
|
│ ▼ │
|
||||||
|
│ profil system (Qwen3-1.7B CPU) │
|
||||||
|
│ profil monitor (Qwen3-1.7B CPU) │
|
||||||
|
│ profil brain (Claude Sonnet API) │
|
||||||
|
└──────────────┬──────────────────────┘
|
||||||
|
│
|
||||||
|
LiteLLM Proxy :4000
|
||||||
|
│
|
||||||
|
┌────────────────────┼────────────────────┐
|
||||||
|
│ │ │
|
||||||
|
qwen3-8b GPU qwen3-1.7b CPU Claude API
|
||||||
|
gpu-01 :1234 :1236 system / :1237 monitor Anthropic
|
||||||
```
|
```
|
||||||
|
|
||||||
| Composant | Rôle | Hôte |
|
| Composant | Rôle | Hôte |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **llama-server** | Inférence LLM + embeddings (ROCm 7.x) | gpu-01 |
|
| **llama-server** (×3) | Inférence GPU + 2× CPU isolés (ROCm 7.x) | gpu-01 |
|
||||||
| **LiteLLM** | Proxy API — switch local/cloud transparent | storage-01 |
|
| **LiteLLM** | Proxy API — routing local/cloud transparent | storage-01 |
|
||||||
| **Hermes Agent** | Agent IA autonome avec mémoire vectorielle | 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 |
|
||||||
| **Qdrant** | Base vectorielle pour la mémoire sémantique | storage-01 |
|
| **Qdrant** | Base vectorielle pour la mémoire sémantique | storage-01 |
|
||||||
| **PostgreSQL 16** | Persistance Hermes + LiteLLM | storage-01 |
|
| **PostgreSQL 16** | Persistance Hermes + LiteLLM | storage-01 |
|
||||||
|
|
||||||
|
### Profils Hermes
|
||||||
|
|
||||||
|
| Profil | Modèle | Usage |
|
||||||
|
|---|---|---|
|
||||||
|
| `funk-ai` | Qwen3-8B GPU (~35 tok/s) | Agent principal — par défaut |
|
||||||
|
| `system` | Qwen3-1.7B CPU (~21 tok/s) | Calculs rapides, formatage, résumés |
|
||||||
|
| `monitor` | Qwen3-1.7B CPU (~21 tok/s) | Analyse logs, métriques, santé système |
|
||||||
|
| `brain` | Claude Sonnet 4.6 (API) | Raisonnement complexe, architecture |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Infrastructure
|
## Infrastructure
|
||||||
|
|
@ -101,12 +124,18 @@ Hermes ←→ Qdrant :6333 (mémoire vectorielle sémantique)
|
||||||
│ ├── nfs_client # Montages NFS sur gpu-01
|
│ ├── nfs_client # Montages NFS sur gpu-01
|
||||||
│ ├── rocm # Stack GPU AMD (ROCm 7.x)
|
│ ├── rocm # Stack GPU AMD (ROCm 7.x)
|
||||||
│ ├── llama_server # Inférence LLM + embeddings
|
│ ├── llama_server # Inférence LLM + embeddings
|
||||||
│ ├── litellm # Proxy LLM multi-modèles
|
│ ├── litellm # Proxy LLM + script ask-agent
|
||||||
│ ├── hermes_agent # Agent IA autonome
|
│ ├── hermes_agent # Agent IA autonome
|
||||||
|
│ ├── hermes_user # User hermes + SSH partagé entre hosts
|
||||||
│ ├── postgresql # Base de données
|
│ ├── postgresql # Base de données
|
||||||
│ └── qdrant # Base vectorielle
|
│ └── qdrant # Base vectorielle
|
||||||
├── talos/ # Cluster Kubernetes (talhelper) [à venir]
|
├── hermes-skills/ # Skills Hermes versionnés
|
||||||
└── k8s/ # Workloads ArgoCD [à venir]
|
│ └── funk/
|
||||||
|
│ └── agent-delegation/ # Délégation ask-agent (system/monitor/brain)
|
||||||
|
├── talos/ # Cluster Kubernetes (talhelper)
|
||||||
|
└── k8s/ # Workloads ArgoCD
|
||||||
|
├── infra/ # MetalLB, Traefik, cert-manager
|
||||||
|
└── apps/ # Open WebUI, n8n, monitoring
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -143,11 +172,15 @@ ansible-playbook -i inventory.yml playbooks/gpu-01.yml --tags llama_server
|
||||||
### Gestion du cluster
|
### Gestion du cluster
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
funk-start # Allume gpu-01 (WOL) + démarre tous les services
|
funk-start # Allume gpu-01 (WOL) + démarre tous les services
|
||||||
funk-stop # Arrêt propre
|
funk-start --k8s # Idem + démarre les nœuds k8s
|
||||||
funk-status # État de tous les services (13 checks)
|
funk-stop # Arrêt propre
|
||||||
|
funk-stop --k8s # Arrêt propre + éteint k8s avant
|
||||||
|
funk-status # État de tous les services (13 checks)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> Détail complet des procédures : [admin/cluster.md](admin/cluster.md)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Secrets
|
## Secrets
|
||||||
|
|
@ -181,10 +214,13 @@ Elle est gérée automatiquement par le rôle Ansible `llama_server`.
|
||||||
## Roadmap
|
## Roadmap
|
||||||
|
|
||||||
- [x] Ansible — storage-01 (gateway, NFS, PostgreSQL, Qdrant, LiteLLM, Hermes)
|
- [x] Ansible — storage-01 (gateway, NFS, PostgreSQL, Qdrant, LiteLLM, Hermes)
|
||||||
- [x] Ansible — gpu-01 (ROCm, llama-server, embeddings)
|
- [x] Ansible — gpu-01 (ROCm, llama-server ×3 — GPU + 2× CPU)
|
||||||
- [x] Stack IA opérationnelle (Hermes + Qwen3-8B + mémoire vectorielle)
|
- [x] Stack IA opérationnelle (Hermes multi-profils + Qwen3 + Claude API)
|
||||||
|
- [x] Délégation inter-agents (`ask-agent` + skill `agent-delegation`)
|
||||||
|
- [x] User `hermes` avec SSH partagé entre storage-01 et gpu-01
|
||||||
|
- [x] Cluster Kubernetes opérationnel (Talos + talhelper)
|
||||||
|
- [x] MetalLB + Traefik + wildcard DNS `lab.local`
|
||||||
|
- [ ] WOL compute nodes (configuration BIOS)
|
||||||
- [ ] Route statique Freebox
|
- [ ] Route statique Freebox
|
||||||
- [ ] Bootstrap cluster Kubernetes (Talos + talhelper)
|
- [ ] ArgoCD bootstrap + workloads IA (Open WebUI, n8n, monitoring)
|
||||||
- [ ] ArgoCD + MetalLB + Traefik
|
|
||||||
- [ ] Workloads IA en k8s (Open WebUI, n8n, monitoring)
|
|
||||||
- [ ] Rôle MinIO
|
- [ ] Rôle MinIO
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue