1. Le chemin d'une question
- Recherche hybride (
store.py) sur l'index local :- par mots : index plein texte SQLite FTS5 (BM25, accents ignorés) — retrouve un code exact comme
PEL-8826-NG; - par sens : cosinus entre le vecteur de la question et ceux des morceaux — retrouve « travailler depuis chez soi » dans un texte qui dit « télétravail » ;
- les deux classements sont fusionnés par rang (RRF), 20 candidats gardés.
- par mots : index plein texte SQLite FTS5 (BM25, accents ignorés) — retrouve un code exact comme
- Second tri (Voyage
rerank-2.5, si une clé Voyage est fournie) : 8 extraits gardés. - Claude (
llm.py) reçoit les 8 extraits (titre, lien, texte) et la question, avec la consigne de ne répondre qu'avec eux et de citer chaque information[titre](lien). Réponse affichée au fil de l'eau.
Un seul appel à Claude par question (pas d'agent qui boucle) : le plus simple, le plus rapide, le moins cher. La conversation garde les 10 derniers échanges pour les questions de suivi.
2. Ce qui sort de votre ordinateur
| Donnée | Où elle va |
|---|---|
| Fichiers, index, vecteurs, jetons Google | Restent dans data/ (jetons : fichier lisible par vous seul, droits 600) |
| La question + les 8 extraits utilisés | API Claude (Anthropic), pour rédiger la réponse |
| Le texte des morceaux, à l'indexation | Voyage AI seulement si EMBEDDINGS=voyage ; en local, rien ne sort |
| Contenu Google Drive | Lu depuis Google avec votre compte (lecture seule) |
Le serveur n'écoute que sur 127.0.0.1 : il n'est pas joignable depuis le réseau.
3. Local ou Voyage ?
local (défaut sans clé) | voyage | |
|---|---|---|
| Coût | 0 € | ≈ 0,06 / M |
| Confidentialité | Rien ne sort à l'indexation | Le texte des documents part chez Voyage |
| Qualité | Bonne en français (modèle multilingue ; 5 questions reformulées sur 5 au test) | Meilleure, surtout sur de gros corpus, + second tri |
| Vitesse | CPU de votre machine (≈ quelques centaines de morceaux / s) | Réseau |
Prix Voyage relevés sur des sources tierces (octobre 2026) : vérifiez sur le site de Voyage.
4. Coût de Claude
Par question : ≈ 3 000 à 5 000 jetons en entrée (consigne + 8 extraits + question) et quelques centaines en
sortie. Avec claude-opus-5-5 (4 / M en sortie) : ≈ 2 à 3 centimes par question ;
claude-sonnet-5-5 divise par deux, claude-haiku-5-5 par plus de 30.
5. Limites
| Limite | Valeur | Au-delà |
|---|---|---|
| Taille de l'index | ~100 000 morceaux (recherche vectorielle en mémoire) | Index ANN (sqlite-vec, Qdrant) |
| PDF scannés (images) | Pas de reconnaissance de caractères | OCR (Document AI, Tesseract) avant dépôt |
| Droits par utilisateur | Non : application personnelle, une seule personne | Kit 1 / Gemini Enterprise |