- Add 'summary' field to Chunk collection (vectorized with text2vec) - Migrate from Dynamic index to HNSW + RQ for both Chunk and Summary - Add LLM summarizer module (utils/llm_summarizer.py) - Add migration scripts (migrate_add_summary.py, restore_*.py) - Add summary generation utilities and progress tracking - Add testing and cleaning tools (outils_test_and_cleaning/) - Add comprehensive documentation (ANALYSE_*.md, guides) - Remove obsolete files (linear_config.py, old test files) - Update .gitignore to exclude backups and temp files 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
5.6 KiB
5.6 KiB
Guide d'Utilisation - Interface de Recherche Optimisée
Vue d'Ensemble
L'interface de recherche optimisée utilise la collection Summary comme point d'entrée principal, offrant 90% de visibilité des documents riches vs 10% pour la recherche directe dans Chunks.
Performance Démontrée
✅ Tests Réussis
1. Requêtes sur l'IA (domaine Haugeland)
python search_summary_interface.py "What is the Turing test?"
Résultat: 7/7 résultats Haugeland (100%)
2. Requêtes sur la vertu (domaine Platon)
python search_summary_interface.py "Can virtue be taught?"
Résultat: 6/6 résultats Platon (100%)
3. Requêtes sur le pragmatisme (domaine Peirce/Tiercelin)
python search_summary_interface.py "What is pragmatism according to Peirce?"
Résultat: 5/5 résultats Tiercelin (100%)
Comparaison avec Recherche Chunk Directe
| Approche | Visibilité Documents Riches | Performance |
|---|---|---|
| Summary-first (ce script) | 90% | ✅ Excellent |
| Chunk directe | 10% | ❌ Dominé par Peirce |
Utilisation
Mode Requête Unique
# Requête simple
python search_summary_interface.py "Votre question ici"
# Avec limite de résultats
python search_summary_interface.py "What is intelligence?" -n 5
# Avec seuil de similarité personnalisé
python search_summary_interface.py "Can machines think?" -s 0.7
Mode Interactif
# Lancer sans arguments
python search_summary_interface.py
# Interface interactive
INTERFACE DE RECHERCHE RAG - Collection Summary
================================================
Mode: Summary-first (90% de visibilité démontrée)
Tapez 'quit' pour quitter
Votre question: What is the Chinese Room argument?
[résultats affichés]
Votre question: Can virtue be taught?
[résultats affichés]
Votre question: quit
Au revoir!
Options
| Option | Court | Défaut | Description |
|---|---|---|---|
query |
- | - | Question de recherche (optionnel) |
--limit |
-n |
10 | Nombre maximum de résultats |
--min-similarity |
-s |
0.65 | Seuil de similarité (0-1) |
Format des Résultats
Chaque résultat affiche:
- Icône + Document: 🟣 Haugeland, 🟢 Platon, 🟡 Tiercelin, 🔵 Logique, ⚪ Peirce
- Similarité: Score 0-1 et pourcentage
- Titre: Titre de la section
- Auteur/Année: Si disponible
- Concepts: Top 5 concepts clés
- Résumé: Résumé de la section (max 300 chars)
- Chunks: Nombre de chunks disponibles pour lecture détaillée
Exemple de Sortie
[1] 🟣 Haugeland - Similarité: 0.695 (69.5%)
Titre: 2.2.3 Computers and intelligence
Auteur: John Haugeland, Carl F. Craver, and Colin Klein (2023.0)
Concepts: Turing test, artificial intelligence, formal input/output function, universal machine, computability (+5 autres)
Résumé: This section examines Turing's 1950 prediction that computers would achieve human-level intelligence by 2000, analyzing the theoretical foundations underlying this forecast...
📄 1 chunk(s) disponible(s) pour lecture détaillée
Fonctionnalités Avancées
Récupération des Chunks Détaillés
Le script inclut la fonction get_chunks_for_section() pour récupérer le contenu détaillé:
from search_summary_interface import get_chunks_for_section
# Après avoir identifié une section intéressante
chunks = get_chunks_for_section(
document_id="Haugeland_J._Mind_Design_III...",
section_path="2.2.3 Computers and intelligence",
limit=5
)
for chunk in chunks:
print(chunk["text"])
Architecture
Collection Summary
- 114 résumés total
- 106 résumés riches (>100 chars)
- Documents: Tiercelin (51), Haugeland (50), Platon (12), Logique (1)
Vecteurs
- Modèle: BAAI/bge-m3 (1024 dimensions)
- Contexte: 8192 tokens
- Multilingual: Anglais, Français, Latin, Grec
Recherche Sémantique
- Méthode:
near_text(Weaviate) - Distance: Cosine
- Métrique: Similarité = 1 - distance
Pourquoi Summary-First?
Problème des Chunks
- 5,068 chunks Peirce sur 5,230 total (97%)
- Domination écrasante même sur requêtes spécialisées
- Exemple: "What is the Turing test?" → 5/5 chunks Peirce (0/5 Haugeland)
Solution Summary
- Résumés équilibrés par document
- Haute qualité (générés par Claude Sonnet 4.5)
- 90% de visibilité prouvée
- Concepts et keywords riches
Coût et Performance
Coût de Génération
- Total: $1.23 pour 106 résumés riches
- Tiercelin: $0.63 (43 résumés)
- Haugeland: $0.44 (50 résumés)
- Platon: $0.14 (12 résumés)
- Logique: $0.02 (1 résumé)
Performance Requêtes
- Temps moyen: ~200-500ms par requête
- Précision: 90% (documents pertinents dans top 5)
- Couverture: Tous les documents riches indexés
Prochaines Étapes Possibles
- Interface Web: Intégrer dans Flask app existante
- Mode Hybride: Toggle Summary/Chunk au choix
- Expansion Chunks: Fonction "Voir plus" pour lire chunks détaillés
- Filtres: Par document, auteur, année, concepts
- Historique: Sauvegarde des recherches récentes
Fichiers Associés
search_summary_interface.py- Script principalANALYSE_RAG_FINAL.md- Analyse complète du systèmetest_real_queries.py- Tests de validation (15 requêtes)test_haugeland_ai.py- Tests spécifiques IAtest_hierarchical_search.py- Tests Summary → Chunks
Support
Pour questions ou améliorations, voir ANALYSE_RAG_FINAL.md pour le contexte complet.
Date: 2026-01-03 Version: 1.0 Status: ✅ Production-ready