Guide
Métadonnées des documents pour un RAG : le schéma utile
Identifiant, source, version, statut, dates, propriétaire, droits, empreinte, page : les métadonnées à poser sur chaque document et chaque morceau indexé.
Mis à jour le
Les métadonnées sont ce qui permet à une IA de filtrer (seulement les documents en vigueur, seulement ceux que l'utilisateur a le droit de voir), de citer (tel document, telle page) et de mettre à jour (remplacer la bonne version). Un texte bien converti mais sans métadonnées donne des réponses invérifiables et un index impossible à entretenir. Voici un schéma de départ, à deux niveaux : le document et le morceau indexé.
Niveau document
| Champ | Exemple | Sert à |
|---|---|---|
doc_id |
identifiant fourni par la source | suivre le document malgré renommages et déplacements |
source |
sharepoint, drive, dossier-local |
savoir où relire |
titre |
« Conditions générales de vente » | citer, et donner du contexte au modèle |
type |
procédure, contrat, tarif, fiche produit | filtrer par nature |
version |
3 |
distinguer les versions |
statut |
en_vigueur, remplace, brouillon |
n'indexer que ce qui est valide |
date_maj |
date de dernière modification à la source | détecter les changements, afficher la fraîcheur |
proprietaire |
service ou personne responsable | savoir qui valide une correction |
droits |
groupes autorisés | filtrer à la recherche |
empreinte |
hachage du contenu | repérer les doublons exacts |
url |
lien d'ouverture | renvoyer l'utilisateur au document |
langue |
fr |
choisir les réglages de traitement |
Niveau morceau
Chaque morceau indexé reprend le doc_id et ajoute sa position : titres de section au-dessus de lui, page de début et de fin, rang dans le document. Le découpeur HybridChunker de Docling, par exemple, attache aux morceaux les titres et légendes du document, et sa méthode contextualize() les ajoute au texte avant le calcul du vecteur (documentation Docling). Avec ces champs, une réponse peut dire « Procédure achats, version 3, section 4.2, page 7 ».
{
"doc_id": "01ABCDEF...",
"section": ["4. Commandes", "4.2 Seuils de validation"],
"page_debut": 7,
"page_fin": 7,
"rang": 18,
"texte": "..."
}
Ce que fournissent déjà SharePoint et Google Drive
Une bonne partie de ces champs existe à la source ; il suffit de la lire au lieu de la ressaisir.
Google Drive (ressource File) :
modifiedTime: dernière modification, par n'importe qui ;version: numéro qui augmente à chaque changement sur le serveur, même invisible pour l'utilisateur ;owners(non rempli dans les drives partagés) etlastModifyingUser;md5Checksumetsha256Checksum, seulement pour les fichiers binaires stockés dans Drive, pas pour les documents Google ;webViewLink, pour ouvrir le fichier ;propertiesetappProperties, des paires clé-valeur libres :appPropertiesest privé à votre application, un bon endroit pour noter un statut ou une version validée.
SharePoint et OneDrive (Microsoft Graph) : chaque élément a un identifiant, et la documentation de la requête delta insiste pour qu'on suive les éléments par identifiant, car le chemin n'est pas renvoyé. Pour l'empreinte, la ressource hashes précise que quickXorHash est la seule valeur garantie disponible à la fois sur OneDrive professionnel et personnel ; sha256Hash n'est pas pris en charge. Pour le choix entre dossiers et colonnes de métadonnées dans SharePoint lui-même, voyez la page qui compare métadonnées et dossiers.
Donner les métadonnées au modèle
Les métadonnées ne servent pas qu'au filtrage. Le bloc document de l'interface de programmation (API) de Claude accepte par exemple un title et un context à côté du fichier (Files API) : y mettre « Version 3, en vigueur depuis le 01/09/2026 » aide le modèle à dater sa réponse. Dans un RAG (génération augmentée par récupération), la même information peut précéder le texte de chaque morceau.
Les droits d'accès, une métadonnée à part
Le champ droits est le plus sensible : s'il est faux ou périmé, l'IA montre un document à quelqu'un qui ne devait pas le voir. Il doit être relu à chaque synchronisation, pas seulement à la création. Le filtrage à la recherche est traité sur la page consacrée aux droits d'accès dans une IA documentaire.
Méthode en cinq étapes
- Listez les champs que vos utilisateurs citeront dans leurs questions (« le tarif en vigueur », « la procédure du service achats »).
- Récupérez à la source ce qui existe déjà (dates, propriétaire, identifiant, empreinte).
- Ajoutez à la main, une fois, ce qui manque : statut et type, le plus souvent.
- Rejetez à l'indexation tout document sans
doc_id,statutoudroits. - Relisez les métadonnées à chaque synchronisation : voir SharePoint et Google Drive.
Questions fréquentes
Quelles métadonnées mettre sur un document indexé ?
Au minimum : un identifiant stable fourni par la source, le titre, la version et son statut (en vigueur ou non), la date de mise à jour, le propriétaire, les droits d'accès, une empreinte du contenu et l'adresse d'origine. Sur chaque morceau : l'identifiant du document, la section et la page.
Faut-il suivre les documents par leur chemin de dossier ?
Non. La documentation de Microsoft Graph indique que la requête delta ne renvoie pas le chemin dans parentReference, car renommer un dossier ne renvoie pas ses descendants, et demande de toujours suivre les éléments par leur identifiant.
Sources
Pages consultées pour écrire cet article :
- https://developers.google.com/workspace/drive/api/reference/rest/v3/files
- https://learn.microsoft.com/en-us/graph/api/driveitem-delta?view=graph-rest-1.0
- https://learn.microsoft.com/en-us/graph/api/resources/hashes?view=graph-rest-1.0
- https://platform.claude.com/docs/en/build-with-claude/files
- https://docling-project.github.io/docling/concepts/chunking/