RAG 100 % local
Library Brain
Ce que c'est
Réponses uniquement sourcées depuis les livres (zéro hallucination). 24 799 livres, 1,68 million de chunks, base de 21 Go, reranking cross-encodeur, cross-lingue.
La décision d'architecte
Ce qui a mal tourné
Le classement par nombre brut d'occurrences. Il faisait gagner les romans-fleuves sur les manuels : un ouvrage de 900 pages contient mécaniquement plus d'occurrences de n'importe quel terme qu'une référence dense de 120 pages, sans être plus pertinent. Le tri se fait désormais par couverture de termes distincts. Même corpus, même requête, résultats sans rapport avec les précédents.
Des tests instables, et la tentation de les désactiver. Plusieurs suites échouaient par intermittence. La cause n'était pas le hasard mais des fuites de ressources — index vectoriel et plein-texte non refermés entre deux cas. Un test instable qu'on marque « à ignorer » est un bug qu'on décide de ne plus voir.
Une migration qui aurait coûté des jours pour rien. Avant de rebasculer 1,7 million de vecteurs vers un autre backend d'embeddings, j'ai mesuré la similarité cosinus entre l'ancien et le nouveau sur le corpus réel : cos = 1.0000. Zéro ré-encodage nécessaire. Sans cette mesure, c'était plusieurs jours de calcul dépensés par précaution.
Les chiffres
Le code
Dépôt privé — visite commentée en visio
Compétences mobilisées
Projets liés
- Brain Distiller — Distillation biblio
- TabICL local — Foundation model tabulaire
- Klody Core — Plan de contrôle
Vos données ne peuvent pas sortir ?
C'est exactement le problème que je résous. Un appel de 30 minutes suffit à cadrer un audit.