Recherche sémantique locale pour conversations IA avec fastembed et LanceDB

✍️ OpenClawRadar📅 Publié: March 20, 2026🔗 Source
Recherche sémantique locale pour conversations IA avec fastembed et LanceDB
Ad

Un développeur a mis en œuvre un système de recherche sémantique local pour l'historique des conversations IA, traitant 368 000 messages sans dépendances cloud ni clés API. Le projet utilise fastembed avec le modèle BAAI/bge-small-en-v1.5 pour les embeddings basés sur CPU et LanceDB comme base de données vectorielle qui fonctionne comme un simple répertoire sans processus serveur.

Stack technique

  • Embeddings : fastembed avec le modèle BAAI/bge-small-en-v1.5 (384 dimensions)
  • Base de données vectorielle : LanceDB - répertoire unique, pas de processus serveur, compatible avec l'ajout
  • Ingestion : Récupère depuis des transcriptions de session JSONL (Claude Code, toute exportation de chat)
  • Performance des embeddings : ~500 documents/sec sur CPU M4
Ad

Détails clés de l'implémentation

Le développeur a tiré plusieurs leçons pratiques pendant les 4 mois d'itération :

  • Embedding sélectif : Les premières versions embarquaient chaque message, ce qui réduisait le rapport signal/bruit. L'implémentation actuelle n'embarque que les messages utilisateur et les messages assistant avec du contenu substantiel (en ignorant les réponses comme "bien sûr, voici ce code"), réduisant le nombre de vecteurs de 60 % tout en améliorant la qualité de recherche.
  • Stratégie de segmentation : Passer de segments de taille fixe à des segments par tour de conversation a fait une énorme différence dans la pertinence de la récupération. Le choix du modèle (essayé nomic-embed-text, bge-large, all-MiniLM) a montré des différences marginales par rapport à l'approche de segmentation.
  • Avantages de LanceDB : Le développeur a trouvé LanceDB "stupidement sous-estimé pour l'échelle personnelle" - pas de serveur, pas de Docker, juste un répertoire avec ajout instantané de nouveaux vecteurs, remplaçant une configuration pgvector surdimensionnée.
  • Workflow de ré-embedding : Le modèle bge-small-en-v1.5 à 384 dimensions est suffisamment rapide pour ré-embarquer toutes les heures via une tâche cron. Une ré-indexation complète de 117 000 vecteurs prend environ 4 minutes sur du matériel M2.

Métriques de performance

  • Messages ingérés au total : 407 000
  • Vecteurs indexés : 87 000
  • Latence de recherche (p50) : 12 ms sur 117 000 vecteurs
  • Temps de ré-indexation complet : ~4 minutes (M2)
  • Stockage : ~180 Mo sur disque
  • Clés API nécessaires : 0

Le projet est open source sous licence MIT et disponible sur github.com/mordechaipotash/brain-mcp. L'installation se fait via pipx install brain-mcp && brain-mcp setup.

📖 Read the full source: r/LocalLLaMA

Ad

👀 See Also

Open Swarm : Système Open-Source pour Exécuter des Milliers d'Agents IA en Parallèle
Tools

Open Swarm : Système Open-Source pour Exécuter des Milliers d'Agents IA en Parallèle

Open Swarm est un système open-source qui déploie des milliers d'agents IA parallèles avec un accès complet à plus de 150 outils internet, incluant email, réseaux sociaux, Google Workspace, recherche web, exécution de code et planification cron.

OpenClawRadar
Pilote : Un outil d'automatisation de navigateur entièrement construit avec du code Claude
Tools

Pilote : Un outil d'automatisation de navigateur entièrement construit avec du code Claude

Un non-développeur a utilisé Claude Code pour créer Pilot, un outil d'automatisation Chrome qui permet à l'IA de contrôler les navigateurs via la navigation dans l'arbre d'accessibilité. L'outil attribue des numéros aux éléments cliquables pour que Claude puisse donner des commandes comme 'cliquer 5' au lieu de deviner les positions à l'écran.

OpenClawRadar
Claudigotchi : Un appareil Tamagotchi physique qui se nourrit de l'activité de code Claude
Tools

Claudigotchi : Un appareil Tamagotchi physique qui se nourrit de l'activité de code Claude

Claudigotchi est une créature physique de bureau fonctionnant sur un ESP32 avec un écran LCD qui se connecte à Claude Code via un plugin. Le système de faim de l'appareil réagit à l'activité de codage, avec des états visuels et des effets sonores qui s'intensifient lorsque Claude est laissé inactif.

OpenClawRadar
CRMy : CRM Open Source et Moteur de Contexte Client pour OpenClaw
Tools

CRMy : CRM Open Source et Moteur de Contexte Client pour OpenClaw

CRMy est un CRM open source et un moteur de contexte client conçu spécifiquement pour les agents OpenClaw. Il inclut une interface CLI complète, un plugin OpenClaw avec 12 outils CRM, un backend PostgreSQL, et un déploiement auto-hébergé avec deux commandes.

OpenClawRadar