Metadonnees et champs personnalises
Enrichir vos documents avec des metadonnees
Les collections ne se limitent pas a stocker des fichiers. Le systeme de metadonnees vous permet d’associer des informations structurees a chaque document : auteur, date, categorie, version. Ces metadonnees ameliorent la precision des recherches et permettent le filtrage.
Champs personnalises (fields)
Lors de l’ajout d’un document a une collection, vous pouvez definir des champs personnalises via le parametre fields :
await client.collections.upload_document(
collection_id=collection_id,
name="rapport-technique-q1",
data=pdf_content,
fields={
"author": "Marie Dupont",
"year": "2026",
"department": "R&D",
"document_type": "rapport",
"confidentiality": "interne"
}
)
Ces champs sont des paires cle-valeur libres. Vous definissez vos propres noms de champs selon les besoins de votre organisation.
Definitions de champs (field_definitions)
Au niveau de la collection, vous pouvez definir des field_definitions pour structurer les metadonnees attendues. Cela permet de :
- Rendre un champ obligatoire (
required: true) : chaque document doit avoir cette metadonnee - Imposer l’unicite (
unique: true) : deux documents ne peuvent pas avoir la meme valeur pour ce champ - Injecter dans les chunks (
inject_into_chunk: true) : la metadonnee est ajoutee au contenu indexe pour ameliorer la pertinence des recherches
Exemple de definitions
{
"field_definitions": [
{
"name": "author",
"required": true,
"inject_into_chunk": true
},
{
"name": "document_id",
"required": true,
"unique": true
},
{
"name": "year",
"required": false,
"inject_into_chunk": true
}
]
}
L’option inject_into_chunk
Cette option merite une attention particuliere. Quand inject_into_chunk est active, la valeur du champ est ajoutee a chaque fragment (chunk) du document lors de l’indexation.
Concretement, si un document a le champ author: "Marie Dupont" avec inject_into_chunk: true, chaque chunk indexe contiendra cette information. Resultat : une recherche portant sur les documents de Marie Dupont sera plus pertinente car le nom apparait dans le contenu indexe.
Quand activer inject_into_chunk
- Activez-le pour les champs qui apportent du contexte de recherche : auteur, departement, annee, categorie
- Desactivez-le pour les champs purement administratifs : identifiant interne, date d’upload, statut de validation
Cas d’usage concrets
Base documentaire technique
{
"fields": {
"product": "Grok API",
"version": "v3",
"type": "reference",
"language": "fr"
}
}
Base de connaissances RH
{
"fields": {
"category": "politique-rh",
"effective_date": "2026-01-01",
"department": "all",
"status": "active"
}
}
Base juridique
{
"fields": {
"contract_type": "fournisseur",
"party": "Acme Corp",
"expiration": "2027-06-30",
"jurisdiction": "france"
}
}
Bonnes pratiques
- Standardisez vos noms de champs : utilisez des conventions coherentes (snake_case, anglais ou francais, mais pas un melange)
- Limitez le nombre de champs : 5 a 10 champs suffisent pour la plupart des cas. Trop de champs complexifient la gestion sans apporter de valeur
- Utilisez inject_into_chunk avec discernement : chaque champ injecte augmente la taille des chunks et donc le cout de stockage
- Documentez vos schemas : notez quelque part les champs attendus pour chaque collection, surtout si plusieurs personnes y contribuent
Points cles a retenir
- Les
fieldsassocient des metadonnees cle-valeur a chaque document - Les
field_definitionsau niveau collection definissent les regles : required, unique, inject_into_chunk - L’option
inject_into_chunkameliore la pertinence des recherches en ajoutant la metadonnee au contenu indexe - Standardisez vos schemas de metadonnees pour maintenir la coherence de vos collections