La recherche hybride avec RRF améliore le système de mémoire de l'IA par rapport à la recherche vectorielle pure.

Un système de mémoire open-source pour assistants IA a été développé, utilisant PostgreSQL avec pgvector dans une configuration locale et auto-hébergée. Le système stocke des informations pour que les assistants IA puissent s'en souvenir entre les sessions et les rend consultables.
Pourquoi la recherche vectorielle pure ne suffisait pas
Le développeur a commencé avec une recherche vectorielle pure : intégration des requêtes, utilisation de la similarité cosinus et renvoi des k meilleurs résultats. Bien que cela fonctionnait pour des questions vagues, cela échouait systématiquement sur les correspondances exactes. Par exemple, rechercher "RRF merging" renvoyait des extraits sur "combining ranked lists" datant de plusieurs mois au lieu du document qui dit littéralement "RRF merging".
Solution de recherche hybride
La solution a impliqué l'ajout d'un deuxième bras de recherche : la recherche en texte intégral utilisant tsvector de PostgreSQL avec un index GIN. Cette correspondance par mots-clés capture ce que la recherche vectorielle manque. Cependant, cela a créé deux listes classées qui devaient être fusionnées.
Fusion de Rangs Réciproque (RRF)
La Fusion de Rangs Réciproque s'est avérée être la solution pour fusionner les deux listes classées. La formule est simple : score = 1 / (k + rang), où k=60 (la valeur standard). Les résultats qui apparaissent dans les deux listes obtiennent les deux scores additionnés. Cette approche ne nécessite aucun réglage de poids et aucune normalisation de score entre la similarité cosinus et ts_rank—elle utilise uniquement les positions de rang.
Technique d'enrichissement des requêtes
Avant la recherche, le système passe les requêtes dans le tokenizer WordPiece du modèle d'intégration pour extraire les termes clés (jetons multi-sous-mots qui sont probablement techniques ou spécifiques au domaine). Cela génère jusqu'à 3 variations de requête, intègre toutes et recherche en parallèle. Cela capture les résultats qu'une formulation pourrait manquer.
Stack technique
- PostgreSQL 16 + pgvector (index HNSW pour les vecteurs, index GIN pour le texte intégral)
- all-MiniLM-L6-v2 pour les intégrations (384 dimensions, fonctionne sur CPU)
- Python avec psycopg 3 asynchrone
- 3 adaptateurs d'ingestion : markdown, texte brut et JSON de conversation Claude
L'ensemble du système fonctionne localement sans appels API pour les intégrations et sans dépendances cloud. Le code a été récemment livré, et le développeur a écrit un article de blog détaillé sur l'approche complète.
📖 Read the full source: r/LocalLLaMA
👀 See Also

Le développeur d'OpenClaw construit un système de mémoire unifié pour les agents d'IA.
Un développeur a créé un système de mémoire unifié à 15 outils pour les agents d'IA OpenClaw qui combine des faits structurés, une recherche vectorielle, des graphes d'entités, des chronologies d'épisodes, une compression hiérarchique et une coordination pilotée par événements. Le système fonctionne localement sans dépendances cloud ni frais mensuels.

Calibre : L'outil CLI local génère des configurations d'assistant de codage IA à partir de votre dépôt.
Caliber est un outil CLI local-first qui analyse les dépôts dans des langages comme TypeScript, Python, Go et Rust, puis génère des fichiers de prompt et de configuration pour les assistants de codage IA, notamment Claude Code, Cursor et Codex. Il s'exécute entièrement sur votre machine avec vos propres clés, compte 13k installations sur npm, et est open source sous licence MIT.

Académie d'Apprentissage RAG Construite à l'Intérieur de Claude Code avec 20 Agents Spécialisés
Un développeur a créé une académie d'apprentissage RAG interactive dans Claude Code, comprenant 20 agents spécialisés, 17 commandes slash et un programme de 9 modules qui évalue le niveau de connaissances et utilise par défaut des outils open source.

Les crochets de code Claude empêchent les interférences entre les onglets Chrome lors de sessions multiples.
Un développeur a créé trois hooks (session-start, capture-tab-id, enforce-tab-id) qui épinglent chaque session Claude Code à son propre onglet Chrome, empêchant les sessions d'accéder accidentellement aux onglets d'autres sessions lors des exécutions de tests et des remplissages de formulaires.