depiedencap-rag/docs/rag/README.md
grgmro 39cffbc1bb depiedencap-rag — export public initial
Plugin Discourse RAG (grain post, rerank cross-encoder, citations
whitelistées, gate déterministe, réécriture de requête multi-tour)
+ documentation du chantier (design, éval, sécurité, pipeline).

Export sanitisé depuis le monorepo privé via scripts/export_rag_public.py
(aucun endpoint interne, IP, compte démo ou chemin d'infrastructure).
WIP : agent en test sur groupe restreint, pas encore public sur le forum.
2026-09-17 09:26:45 +02:00

59 lines
3.3 KiB
Markdown

# Chantier RAG — granularité post, retrieval avancé, évaluation
> **Statut (15/09/2026)** : **déploiement prod en cours**, flags encore **OFF**
> (comportement live inchangé). Code v2 déployé, reranker en service, backfill
> natif posts en cours sur le VPS. Reprise / prochaine étape exacte :
> [`PLAN_RAG_PROD_VPS.md`](../PLAN_RAG_PROD_VPS.md) § « Reprise session » (tout en haut).
> Éval locale : config gagnante mesurée (posts+rerank, Hit@5 0.97), sécurité
> testée (red-team + gate + clause) — `EVAL.md` / `SAFETY.md`.
## Pourquoi ce chantier
Le RAG actuel indexe **un vecteur par topic** (~22 340). Sur les megathreads
(300+ messages), un seul vecteur = centroïde sémantique dilué **+** troncature
à 4096 tokens d'entrée → les passages précis en page 12 sont invisibles.
Objectif : retrieval au **grain post** avec citations `/t/slug/id/post_number`,
en gardant le principe produit — **le bot oriente vers les fils, il ne répond
pas à la place des membres**.
C'est aussi un chantier d'apprentissage : on teste les techniques standard de
l'industrie (voir `REFERENCES.md`), on mesure sur **notre** corpus, on documente.
## Documents
| Fichier | Contenu |
|---|---|
| `DESIGN.md` | Architecture, options à tester (matrice de configs), décisions |
| `REFERENCES.md` | Notes de littérature RAG — techniques éprouvées + sources |
| `EVAL.md` | Jeu d'éval, métriques, protocole, résultats retrieval + génération |
| `SAFETY.md` | Red-team, gate d'entrée, clause de refus, injection-evidence |
| `PIPELINE.md` | Architecture bout-en-bout question→réponse + latences mesurées |
| `LOCAL_DEV.md` | Recette : redéployer le forum en local sur n'importe quelle machine |
| `prod_snapshots/` | État prod sauvegardé avant déploiement (prompt, settings, rollback) |
| `../PLAN_RAG_PROD_VPS.md` | **Plan de déploiement + reprise de session** — à lire en premier pour continuer |
## Workflow dev (nouveau)
```
Machine de dev (laptop / PC fixe) Mini PC IA (prod)
┌────────────────────────────┐ ┌──────────────────────┐
│ Discourse local = réplique │ │ k3s rag-depiedencap │
│ exacte du VPS (.tar.gz) │ │ Ollama :32134 │
│ + pgvector locale │──Tailscale──►│ qwen3:30b (chat) │
│ + bge-m3 LOCAL (CPU) │ │ bge-m3 (embeddings │
│ pour les tests │ │ prod) │
└────────────────────────────┘ └──────────────────────┘
```
- Vecteurs dev → pgvector **locale** (zéro risque prod).
- LLM chat dev → mini PC (le laptop ne porte pas un 30B).
- Embeddings dev → bge-m3 **local CPU** (ne pas encombrer la file prod).
- Une fois la solution validée : le bge-m3 **du mini PC** génère les vecteurs
prod (même modèle = vecteurs compatibles).
## Règles
- Jamais de test de retrieval/embedding contre la base prod.
- Le forum local **n'envoie aucun e-mail** (`disable_emails`, voir `LOCAL_DEV.md`).
- Toute décision de design → ADR dans `DESIGN.md` § Décisions.
- Résultats de benchs → `EVAL.md` (pas de feeling, des chiffres).