Aller au contenu principal

QMD : rechercher des notes Markdown en local

QMD (Query Markup Documents, soit « interroger des documents balisés ») est un moteur de recherche exécuté sur votre appareil pour les notes Markdown, comptes rendus de réunion, documentations et bases de connaissances. Il sert notamment à retrouver un sujet dont vous avez oublié le nom du fichier ou les termes exacts. Une bibliothèque de recherche n'est qu'un usage possible : QMD n'impose ni arborescence ni classement des notes.

Choisir le mode de recherche​

QMD propose trois modes de recherche documentaire :

  • search utilise BM25, une méthode de classement des résultats textuels fondée sur les termes de la requête. Elle convient aux expressions connues, comme « exécution FIFO », et ne nécessite pas de modèle de langage.
  • vsearch compare des plongements vectoriels, des représentations numériques servant à estimer la proximité de sens. Ce mode est utile lorsque votre formulation diffère de celle du document.
  • query combine recherche par mots-clés et recherche vectorielle avec expansion de requête et reclassement par modèle. L'expansion fournit d'autres formulations de recherche ; le reclassement réordonne les candidats trouvés.

Ces modèles fonctionnent localement. Leurs fichiers sont téléchargés à la première utilisation : la préparation initiale peut donc nécessiter une connexion réseau. La recherche sémantique demande aussi de produire les vecteurs des documents. Temps d'exécution et pertinence dépendent du corpus, des modèles, du matériel et de la requête ; un score élevé ne valide pas les faits.

Créer une collection et retrouver une note​

Après avoir installé QMD depuis le paquet npm officiel, remplacez ./notes par un répertoire Markdown existant. Ici, notes est un nom de collection que vous choisissez, pas une bibliothèque intégrée.

qmd collection add ./notes --name notes
qmd embed
qmd query "quantitative research production isolation" -c notes
qmd search "FIFO execution" -c notes

La recherche par mots-clés fonctionne sans l'étape de création des vecteurs. Pour comparer avec une recherche uniquement sémantique :

qmd vsearch "how to keep research separate from production" -c notes

Ouvrez un chemin ou un identifiant de document renvoyé par la recherche. Le chemin suivant est illustratif : le fichier doit exister dans votre collection.

qmd get qmd://notes/quant/portfolio-lifecycle.md

get affiche les numéros de ligne par défaut. Lisez l'explication environnante et ses références, pas seulement l'extrait correspondant. Après modification des notes sources, actualisez l'index et produisez les vecteurs manquants :

qmd update
qmd embed

Pour une collection configurée par vos soins, ces commandes actualisent la copie interrogeable. Avant d'utiliser la configuration d'une autre personne, examinez les commandes de mise à jour de ses collections : QMD peut exécuter des commandes shell configurées pendant update.

Examiner les résultats comme des sources​

Une recherche sur la séparation entre recherche et production peut retrouver une ancienne note d'architecture. Vérifiez sa date, ses hypothèses et ses références avant d'en reprendre la conception. QMD retrouve ce qui a été indexé ; il ne prouve ni l'actualité ni l'exactitude de la note. Une recherche sans résultat ne prouve pas non plus l'absence de document pertinent.

QMD expose également la recherche et la lecture de documents par MCP, un protocole qui relie les clients IA aux outils. Un assistant peut ainsi accéder à la recherche, mais le texte retrouvé ne devient pas une instruction et n'autorise pas les actions qu'il mentionne.

Outils associés​

Basic Memory permet de lire et d'écrire des notes Markdown liées entre elles d'une session à l'autre. QMD est utile lorsque le besoin immédiat est de rechercher dans une collection existante. zvec-grep recherche dans le code et les documents d'un espace de travail en indiquant leur emplacement. Leurs capacités se recoupent ; rien n'oblige à déployer les trois. Mémoire et recherche d'information pour les agents explique comment choisir le contexte pertinent sans faire de la mémoire une autorité.

Explorer les liensOuvrir le réseau