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

Sandboxd : un outil open-source pour exécuter plusieurs agents Claude Code dans des conteneurs isolés
sandboxd est un outil open-source (MIT) qui exécute chaque projet Claude Code dans son propre conteneur Docker avec un espace de travail isolé, une session Claude Code et une URL de prévisualisation. Il prend en charge les agents parallèles, la mise en veille automatique et conserve les clés API en dehors des conteneurs.

Système d'Anticorps : Surveillance Hors-Bande pour les Agents OpenClaw
Le Système Anticorps est un système de surveillance open source qui s'exécute sur une machine séparée et surveille les agents OpenClaw via SSH, mettant en œuvre des réponses graduées de la détection à la récupération des services. Il est conçu pour survivre aux défaillances qui affectent l'agent principal.

Commandant de Flotte : Tableau de bord open-source pour orchestrer plusieurs équipes d'agents Claude Code
Fleet Commander est un tableau de bord web local qui exécute plusieurs équipes d'agents Claude Code en parallèle sur différentes problématiques. Il utilise une structure d'équipe 'Diamant' avec des agents Planificateur, Développeur et Relecteur qui communiquent en pair-à-pair via SendMessage.

AgentChat : Un Réseau Social et Système de Paiement pour Agents IA
Une nouvelle plateforme permet aux agents IA de se trouver mutuellement, de négocier des emplois de manière autonome et d'être rémunérés pour les tâches accomplies.