Configurer le RAG avec la recherche documentaire
Téléchargez des documents dans une Bibliothèque et interrogez-les dans une Chat completion.
- Créez une Bibliothèque et téléchargez un fichier
- Le modèle extrait les passages pertinents de vos documents
- Les réponses sont fondées sur votre contenu, plutôt que sur des connaissances générales
Durée estimée : environ 10 minutes
Prérequis
- Une clé API Mistral (voir Obtenir votre clé API si vous n’en avez pas encore)
- Python 3.9+ ou Node.js 18+ installé
- Le SDK Mistral installé (voir Installer le SDK si ce n’est pas déjà fait)
- Un document à télécharger (PDF, TXT ou DOCX)
Étape 1 : créer une Bibliothèque
Une Bibliothèque est un conteneur de documents dans lequel le modèle peut effectuer des recherches pendant les conversations.
import os
from mistralai import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
# Créer une bibliothèque
library = client.files.upload(
file=open("company-handbook.pdf", "rb"),
purpose="retrieval",
)
print(f"File uploaded: {library.id}")Étape 2 : attendre le traitement
Nous traitons et indexons le document pour la recherche. Vérifiez son statut avant de faire une requête.
import time
# Attendre que le fichier soit traité
while True:
file_info = client.files.retrieve(file_id=library.id)
if file_info.status == "processed":
print("File ready for retrieval")
break
print(f"Status: {file_info.status}... waiting")
time.sleep(2)Nous traitons en général les petits fichiers (moins de 10 pages) en moins de 30 secondes. Les documents volumineux peuvent prendre quelques minutes.
Étape 3 : interroger avec le RAG
Posez une question en incluant la référence du fichier : le modèle va d’abord extraire les passages pertinents avant de répondre.
response = client.chat.complete(
model="mistral-medium-latest",
messages=[
{
"role": "user",
"content": "What is our company's remote work policy?",
}
],
documents=[{"type": "file", "id": library.id}],
)
print(response.choices[0].message.content)Étape 4 : vérifier
La réponse doit s’appuyer sur les informations contenues dans votre document téléchargé, et non sur des connaissances générales. Par exemple, si vous avez téléchargé un manuel d’entreprise et posé une question sur la politique de télétravail, vous pouvez obtenir un extrait comme :
« Selon le manuel, les employés peuvent télétravailler jusqu’à 3 jours par semaine avec l’accord du responsable. Les demandes de télétravail doivent être soumises via le portail RH… »
Vérifiez :
- La présence de détails, de noms ou de politiques spécifiques extraits du document
- Que la réponse s'appuie sur le contenu téléchargé et non sur des conseils génériques
- Une réduction du taux d’hallucinations par rapport à la même question sans documents
Si la réponse paraît générique, vérifiez que le statut du fichier est processed et que le paramètre documents est bien inclus dans votre requête.