Skip to main content

Filtrage par métadonnées dans RAG (Metadata Filtering)

POUR AGENT IAChatGPTClaude

Technique de recherche combinée dans les bases de données vectorielles (Self-Querying Retriever). Permet de combiner la recherche sémantique avec des filtres stricts de base de données basés sur les métadonnées : date de publication, auteur du document, niveau d'accès, langue ou département de l'entreprise.

1. Vue d'ensemble du concept et de sa finalité

Imaginez une immense bibliothèque où tous les livres sont empilés en un tas géant au milieu de la salle. Vous vous approchez et dites : « Trouve-moi les règles de sécurité au travail ». Le bibliothécaire trouve une brochure... mais il s'avère qu'il s'agit d'une édition de 1978 ! Certes, le contenu correspond parfaitement au thème « sécurité au travail », mais ses règles ont cinquante ans de retard.

La recherche vectorielle pure souffre précisément de cette cécité : elle évalue uniquement la similarité sémantique des termes, ignorant totalement la date, l'auteur ou le statut du document.

Pour corriger ce défaut, on utilise le Filtrage par métadonnées (Metadata Filtering).

Analogie pratique : comme les filtres sur un site e-commerce : vous cherchez des « baskets » (recherche sémantique), mais vous cochez « taille 42 uniquement », « couleur noire » et « réduction de plus de 20 % » (métadonnées).

2. Fonctionnement de la recherche biphasée avec filtrage

┌─────────────────────────────────────────────────────────────┐
│                 SCHÉMA DE FILTRAGE MÉTADONNÉES              │
├─────────────────────────────────────────────────────────────┤
│ 👤 REQUÊTE HUMAINE :                                        │
│    « Quelles sont les nouvelles instructions pour les       │
│      coursiers publiées en 2026 ? »                         │
├─────────────────────────────────────────────────────────────┤
│ 🧠 LE LLM DIVISE AUTOMATIQUEMENT LA REQUÊTE EN DEUX PARTIES:│
│    1. Vecteur sémantique : « instructions obligations        │
│       livraison »                                           │
│    2. Filtre SQL strict :                                   │
│       `WHERE year == 2026 AND category == 'logistics'`      │
├─────────────────────────────────────────────────────────────┤
│ 🗄️ BASE DE DONNÉES VECTORIELLE (Qdrant / Pinecone) :        │
│    - Élimine instantanément 95 % des anciens documents       │
│      d'autres années                                        │
│    - Recherche parmi les 5 % restants les vecteurs           │
│      sémantiques les plus proches                           │
├─────────────────────────────────────────────────────────────┤
│ 🎯 RÉSULTAT : Uniquement les instructions actuelles de 2026!│
└─────────────────────────────────────────────────────────────┘

3. Les 4 champs de métadonnées qui sauveront votre projet

  1. Date de création / mise à jour (updated_at) : privilégiez toujours les réglementations récentes aux archives.
  2. Niveau de droits d'accès (role_allowed) : protection contre le fait qu'un stagiaire voie dans les réponses du bot des fichiers marqués strictly_confidential.
  3. Statut de version (status: 'active' | 'archived') : exclusion des brouillons et des projets obsolètes.
  4. Langue du document (lang: 'uk' | 'en') : éviter le mélange incohérent de réponses multilingues.

4. Conclusion pratique

Les vecteurs sans métadonnées ne représentent que la moitié du succès. Accompagnez systématiquement chaque chunk stocké en base d'un riche passeport de métadonnées — cela transformera un générateur de citations aléatoire en un système métier rigoureux et juridiquement fiable.

/ Questions fréquentesSchema.org FAQPage

FAQ: Filtrage par métadonnées dans RAG (Metadata Filtering)

Ce sont les données descriptives du fichier qui définissent ses propriétés et non son contenu : par exemple, `author: 'Chef comptable'`, `year: 2026`, `department: 'Finance'`, `access_level: 'confidential'`.
/ Liens internes
Tous les termes