Qu’est-ce qu’une fenêtre de contexte en IA ? Guide pratique
Découvrez ce qu’est une fenêtre de contexte en IA, comment les tokens structurent les conversations avec les chatbots et comment gérer de longs documents pour obtenir de meilleures réponses des LLM.
Points clés à retenir
- Une fenêtre de contexte limite la quantité d’informations qu’un modèle d’IA peut utiliser pour produire une réponse.
- Elle se mesure en tokens, et non en pages ou en messages, et doit généralement laisser de la place à la fois pour l’entrée et la sortie.
- Une fenêtre plus grande facilite les tâches longues, mais la pertinence des informations et la clarté des consignes restent plus importantes que le volume seul.
Une fenêtre de contexte est la quantité maximale d’informations qu’un modèle d’IA peut traiter comme contexte lorsqu’il génère une réponse. Imaginez-la comme un espace de travail temporaire contenant des consignes, votre question, l’historique pertinent de la conversation et les documents fournis, avec généralement de la place à prévoir aussi pour la réponse.
Comment ça marche
Un grand modèle de langage, ou LLM, génère des réponses à partir des informations disponibles dans son contexte actuel. Dans un chatbot, ce contexte peut inclure davantage que les messages que vous voyez.
Il peut contenir :
- Des instructions système qui orientent le comportement de l’assistant.
- Votre dernier message et l’historique de conversation inclus.
- Du texte extrait de fichiers importés.
- Des informations récupérées à partir d’une recherche ou d’une bibliothèque documentaire.
- Des résultats renvoyés par des outils connectés.
Le contexte se mesure en tokens
Les modèles traitent le texte sous forme de tokens : des fragments pouvant représenter un mot, une partie de mot, un signe de ponctuation ou une autre séquence de caractères.
Il n’existe pas de conversion fiable d’un token en un mot. Le nombre de tokens varie selon la langue, la mise en forme, le code et le système de tokenisation du modèle. Les images, l’audio et les autres types d’entrées pris en charge peuvent également consommer de la capacité, selon le modèle.
Pour de nombreux modèles, l’entrée et la sortie générée partagent un budget global de contexte. Une longueur maximale de sortie distincte peut également s’appliquer.
Par exemple, imaginons un modèle doté d’une fenêtre hypothétique de 32 000 tokens. Si les consignes, l’historique de conversation et les documents utilisent 28 000 tokens, il reste environ 4 000 tokens pour la génération dans une configuration à budget partagé. Cela ne garantit pas une réponse de 4 000 tokens : d’autres limites peuvent s’appliquer.
Que se passe-t-il lorsque la fenêtre est pleine ?
Le résultat dépend de l’application. Elle peut rejeter une requête trop volumineuse, supprimer les anciens messages, résumer les échanges précédents ou sélectionner uniquement certains passages des documents.
C’est pourquoi un chatbot peut sembler « oublier » quelque chose que vous avez dit auparavant. Ce détail peut ne plus figurer dans le contexte envoyé au modèle.
Le contexte n’est pas la même chose que l’entraînement ou la mémoire persistante. L’entraînement façonne les capacités acquises par le modèle. Le contexte fournit les informations nécessaires à la réponse actuelle. La fonction de mémoire d’un produit, lorsqu’elle existe, est un mécanisme distinct qui peut réintroduire certaines informations dans des conversations ultérieures.
Exemples concrets
Examiner un long document
Supposons que vous demandiez à ChatGPT de résumer un rapport importé et de comparer ses recommandations à une note de cadrage de projet.
La tâche donne de meilleurs résultats lorsque les éléments pertinents sont accessibles au modèle. Selon le produit et la taille du fichier, l’application peut inclure directement le texte extrait ou récupérer certains passages plutôt que de placer l’intégralité du document dans le contexte.
Si une annexe importante a été omise, posez une question précise à son sujet et indiquez la section concernée. Importer un fichier ne garantit pas que chaque détail influence chaque réponse.
Répondre aux questions des clients
Un chatbot de service client créé avec Chatbase peut utiliser le contenu d’un site web et des documents pour répondre aux questions concernant une entreprise.
Une approche courante pour les assistants documentaires est la génération augmentée par récupération, ou RAG. Au lieu d’envoyer toute la base de connaissances avec chaque question, le système récupère les passages pertinents et les inclut dans le contexte du modèle.
Cela permet d’exploiter de vastes collections sans que toutes les pages doivent tenir simultanément dans la fenêtre. Toutefois, la réponse peut rester incomplète si la récupération sélectionne les mauvais éléments.
Avancer sur un projet de longue durée
Imaginez un chatbot qui vous aide à rédiger une proposition au fil de nombreux messages. Au début, vous précisez le public visé, les contraintes budgétaires et le ton souhaité. Plus tard, vous demandez une réécriture finale.
Si ces exigences initiales ne sont plus présentes, la réponse risque de s’en écarter. Une courte note de cadrage à jour peut être plus utile que de compter sur une longue conversation pour conserver toutes les consignes.
Avantages et limites
Une fenêtre de contexte plus grande peut aider un LLM à :
- Comparer plusieurs documents dans une même tâche.
- Suivre une conversation plus longue.
- Examiner davantage de code et de documentation associée en même temps.
- Utiliser des consignes détaillées en parallèle des documents sources.
Mais une fenêtre plus grande ne produit pas automatiquement une meilleure réponse.
Premièrement, la capacité ne garantit pas une attention fiable. Un modèle peut négliger un détail même si celui-ci tient dans la fenêtre, notamment lorsque le contenu est répétitif, distrayant ou contradictoire.
Deuxièmement, davantage de contexte peut augmenter le temps de traitement, les besoins en calcul et les coûts d’utilisation, selon le modèle et le service. Remplir inutilement la fenêtre peut rendre une tâche simple moins efficace.
Troisièmement, la capacité du contexte et la longueur de la réponse sont deux limites distinctes. Un modèle qui accepte un long document peut malgré tout avoir une longueur maximale de réponse bien plus courte.
Enfin, une grande fenêtre ne garantit ni l’exactitude factuelle ni l’accès automatique à des informations récentes. L’assistant a toujours besoin de sources adaptées, et les affirmations importantes doivent être vérifiées à partir de celles-ci.
Comment commencer
1. Vérifiez les limites du modèle et de l’application
Renseignez-vous sur la fenêtre de contexte et la longueur maximale de sortie du modèle précis que vous utilisez. Les limites peuvent varier selon les versions du modèle et les paramètres de l’application.
Si vous exécutez des modèles localement avec Ollama, vérifiez à la fois la longueur de contexte prise en charge par le modèle et vos paramètres de configuration. Des contextes plus grands peuvent nécessiter davantage de mémoire ; le maximum annoncé n’est pas forcément exploitable sur votre ordinateur.
2. Fournissez un bref cadrage de la tâche
Indiquez l’objectif, le public visé, les contraintes et le résultat souhaité avant d’ajouter les éléments de contexte.
Par exemple :
Comparez ces deux documents de politique interne. Concentrez-vous sur les différences de critères d’éligibilité et de délais. Citez la section pertinente pour chaque constat. Si un détail manque, signalez-le.
Des priorités claires aident le modèle à utiliser efficacement l’espace de travail dont il dispose.
3. Divisez les tâches volumineuses en étapes
Pour un long rapport, résumez d’abord chaque section, puis combinez les résumés. Conservez les références aux sections d’origine afin de pouvoir vérifier les détails importants.
Gardez à l’esprit que les résumés éliminent des informations. Revenez au texte source lorsque la précision est essentielle.
4. Utilisez la récupération pour les grandes collections
Si vous créez un assistant qui exploite de nombreux documents, envisagez la récupération plutôt que d’inclure tout le contenu dans chaque requête.
Des frameworks de développement comme LlamaIndex et LangChain peuvent aider à connecter les données et à organiser les flux de travail des LLM. La récupération nécessite néanmoins une configuration et une évaluation rigoureuses.
5. Rappelez les exigences essentielles
Lors des longues conversations, reformulez les contraintes essentielles ou démarrez une nouvelle conversation avec une note de cadrage actualisée. Demandez à l’assistant d’énumérer ses hypothèses de travail avant de fournir une réponse finale importante.
FAQ
Une fenêtre de contexte est-elle la même chose que la mémoire d’une IA ?
Non. Une fenêtre de contexte correspond aux informations disponibles pour la réponse actuelle. La mémoire persistante, lorsqu’elle est prise en charge, est une fonctionnalité distincte du produit qui peut fournir certaines informations d’une conversation à l’autre.
Une fenêtre de contexte plus grande rend-elle un chatbot plus intelligent ?
Pas à elle seule. Elle permet au chatbot de travailler sur davantage de contenu à la fois, mais les capacités de raisonnement, la qualité des sources, la récupération et le respect des consignes influencent aussi les résultats.
Comment savoir si mon prompt est trop long ?
Utilisez le système de tokenisation du modèle ou le compteur de tokens de votre application, s’ils sont disponibles. Laissez de la place pour les consignes et la sortie. Si vous atteignez une limite, supprimez les répétitions, restreignez la tâche ou divisez le contenu en sections plus petites.