Prompt Enrichment
L’enrichissement des prompts ajoute des données utilisateur, des documents récupérés, des résultats d’outils ou des exemples à une requête avant qu’elle ne parvienne à un modèle d’IA, afin que les réponses soient adaptées à l’utilisateur.
L'enrichissement des invites consiste à ajouter automatiquement des informations à la requête d'un utilisateur avant qu'elle ne parvienne à un modèle d'IA. Le code de l'application s'intercale entre l'utilisateur et le modèle et complète ce que l'utilisateur n'a pas saisi : les détails de son compte, les documents qui répondent à la question, les données en direct provenant d'outils, des exemples résolus ou une version plus détaillée de sa requête. Un client qui demande « Pourquoi ma caméra n'est-elle plus détectée ? » saisit sept mots, tandis que le grand modèle de langage (LLM) reçoit ces sept mots, ainsi que le dispositif du client, la version logicielle et l'article d'aide portant précisément sur ce problème. Ce terme regroupe plusieurs techniques, dont la plus connue est la génération augmentée par récupération (RAG).
Ce que l'enrichissement ajoute#
- Données utilisateur et de session : champs de profil, forfait, langue, emplacement, date du jour ou page consultée, extraits des propres enregistrements de l'application.
- Connaissances récupérées : passages trouvés en recherchant dans une collection de documents ou un graphe de connaissances des textes liés à la requête.
- Résultats d'outils : valeurs récupérées pour cette requête, comme le statut d'une commande provenant d'une API, une ligne de base de données ou la sortie d'un autre modèle.
- Exemples sélectionnés : exemples few-shot choisis pour chaque requête parce qu'ils ressemblent à l'entrée, plutôt qu'un ensemble fixe pour toutes les requêtes.
- Requêtes reformulées : un modèle développe une requête succincte avant son utilisation. Avec HyDE, Luyu Gao et ses collègues demandent à un LLM de rédiger une réponse hypothétique, puis utilisent le plongement de ce document pour récupérer de vrais documents ; cette méthode a surpassé le même système de récupération non supervisé alimenté uniquement par la question.
L'exemple suivant enrichit une question de support avec les données du compte et l'article d'aide le plus pertinent, récupéré par similarité TF-IDF avec scikit-learn :
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
# Context the user never typed: their account record and the help center's articles
account = {"plan": "Pro", "device": "USB webcam", "app_version": "2.3"}
articles = [
"Version 2.4 fixes USB webcams that are not detected after a system update.",
"Pro plans include ten concurrent video streams per workspace.",
"Invoices are available on the billing page as soon as a payment succeeds.",
]
question = "Why is my camera not detected anymore?"
# Retrieve the article most similar to the question
vectorizer = TfidfVectorizer().fit([*articles, question])
scores = cosine_similarity(vectorizer.transform([question]), vectorizer.transform(articles))[0]
best = articles[scores.argmax()]
# Assemble the enriched prompt the model actually receives
profile = ", ".join(f"{key}: {value}" for key, value in account.items())
prompt = f"Customer profile: {profile}\nRelevant article: {best}\nQuestion: {question}"
print(prompt)Il affiche :
Customer profile: plan: Pro, device: USB webcam, app_version: 2.3
Relevant article: Version 2.4 fixes USB webcams that are not detected after a system update.
Question: Why is my camera not detected anymore?La question de l'utilisateur ne mentionne jamais de webcam, de version ni de mise à jour, pourtant l'invite enrichie contient tout ce qu'il faut pour répondre « mise à jour de 2.3 vers 2.4 ». Les systèmes de production récupèrent généralement les documents à l'aide de plongements denses dans une base de données vectorielle ou par recherche hybride, mais l'étape d'assemblage reste la même.
L'enrichissement en pratique#
En 2023, GitHub a expliqué comment la technique des onglets voisins de Copilot recherche, dans les fichiers ouverts par le développeur, des extraits similaires au code autour du curseur et les ajoute à l'invite ; cela a entraîné une hausse relative de 5 % du taux d'acceptation des suggestions de Copilot. Les chatbots de support client enrichissent chaque tour avec les données du compte et des commandes, tandis que les agents IA enrichissent chaque étape avec les résultats de leurs appels d'outils précédents.
Les pipelines de vision enrichissent les invites avec les éléments détectés. Dans Ultralytics Platform Agents, un bloc LLM envoie au modèle vision-langage sélectionné chaque image, accompagnée des résultats des blocs qui la précèdent, comme les détections de YOLO26 ; une invite rédigée une seule fois est ainsi enrichie de résultats récents de détection d'objets pour chaque image traitée par le flux de travail.
L'enrichissement a un coût. Chaque passage ajouté utilise des jetons, ce qui augmente le prix et la latence d'inférence, et un contexte non pertinent ou excessif réduit la précision ; cet effet est appelé dégradation du contexte. Les pages Web et les documents récupérés peuvent également contenir des attaques par injection d'invite, et toute donnée personnelle ajoutée à une invite soulève des enjeux de protection des données, puisqu'elle est envoyée à la personne qui exécute le modèle.
Enrichissement des invites et notions connexes#
- Génération augmentée par récupération (RAG) : forme d'enrichissement qui recherche dans une collection externe de documents. L'enrichissement couvre aussi les données qui ne nécessitent aucune recherche, comme le forfait d'un utilisateur ou la date du jour.
- Ingénierie des invites : une personne conçoit le modèle d'invite. L'enrichissement complète ce modèle avec des données propres à la requête au moment de l'exécution.
- Ingénierie du contexte : gère tout ce qui se trouve dans le contexte d'un modèle au sein d'une application, notamment ce qu'il faut ajouter, compresser ou supprimer à chaque étape. L'enrichissement correspond à la partie ajout.
- Ancrage : relier la sortie d'un modèle à des sources vérifiables. L'enrichissement fournit ces sources dans l'invite.
- Compression d'invite : raccourcit une invite en supprimant les jetons peu informatifs, et s'applique souvent après l'enrichissement lorsque le contexte ajouté est long.










