Chaque foundation model possède une longueur de contexte maximale, qui correspond au nombre maximal de jetons autorisés dans l'entrée plus la sortie générée pour une invite. Si vous rencontrez fréquemment cette limite lorsque vous utilisez un foundation model pour effectuer une tâche, essayez l’une de ces solutions de contournement.
La longueur maximale du contexte varie de 4 096 à 131 072 jetons, selon le foundation model . La limite de longueur du contexte peut être un problème, en particulier lorsque vous utilisez un foundation model pour des tâches de génération, de résumé ou de conversation augmentées par récupération.
Les techniques suivantes peuvent vous aider à donner à un foundation model le contexte dont il a besoin pour accomplir une tâche sans dépasser la limite de la fenêtre de contexte du modèle.
- Envoyer moins de jetons avec des entrées RAG
- Diviser et conquérir des tâches complexes
- Récapituler le contexte de la boîte de dialogue
- Réduction du nombre de jetons avec des invites de suppression de jeton
Envoi de moins de jetons avec des entrées RAG
La génération augmentée par récupération (RAG) est une technique dans laquelle un foundation model est augmenté de connaissances provenant de sources externes pour générer du texte. Dans l'étape d'extraction, les documents pertinents d'une source externe sont identifiés à partir de la requête de l'utilisateur. Lors de l’étape de génération, des parties de ces documents sont incluses dans l’invite foundation model pour générer une réponse basée sur les documents récupérés.
Si vous envoyez une invite contenant trop d'informations de base, l'entrée risque de dépasser la limite de la fenêtre de contexte du foundation model . Essayez certaines des techniques suivantes pour contourner cette limitation.
- Classifier le contenu par pertinence
- Récapituler des documents longs
- Générer des incorporations de texte à partir du contenu
Pour plus d'informations sur RAG, voir Retrieval-augmentée generation (RAG).
Classer le contenu par pertinence
Utilisez un foundation model capable de classer efficacement le contenu pour déterminer d’abord si un document peut répondre efficacement à une question avant de l’inclure dans une invite.
Par exemple, vous pouvez utiliser une invite telle que For each question and sample document, check whether the document contains the information that is required to answer the question. If the sample document appears to contain information that is useful for answering the question, respond 'Yes'. Otherwise, respond 'No'.
Si vous définissez le paramètre Max tokens sur 1, le modèle est plus susceptible de renvoyer une réponse Oui ou Non.
Utilisez cette méthode de classification pour rechercher et supprimer les documents ou les phrases non pertinents qui sont extraits par la recherche. Ensuite, recombinez le contenu pertinent à envoyer avec la question dans l’invite foundation model .
Récapituler les documents longs
Pour les documents longs, utilisez un foundation model pour résumer les sections du document. Vous pouvez ensuite soumettre un résumé de ces résumés au lieu de transmettre l'intégralité du document au foundation model .
Par exemple, pour générer un récapitulatif utile à partir d'une longue retranscription de réunion, vous pouvez fractionner la retranscription en plusieurs blocs plus petits et récapituler chacun séparément. Vous pouvez également rechercher et extraire des segments avec des contributions de différents orateurs. Ensuite, vous pouvez enchaîner les résumés ensemble pour servir de contexte à l'invite que vous soumettez au foundation model .
Générer des incorporations de texte à partir du contenu
Une incorporation de texte est une représentation numérique d'une unité d'information, telle qu'un mot ou une phrase, en tant que vecteur de nombres à valeurs réelles.
Pour optimiser les incorporations de texte dans un cas d'utilisation RAG, procédez comme suit:
Utilisez un gestionnaire de fractionnement de texte pour fractionner le contenu en segments significatifs.
Par exemple, vous pouvez utiliser un séparateur de caractères récursif pour diviser le document en segments qui répondent aux exigences de syntaxe et de limite de caractères définies par le foundation model . Voir LangChain: Divisé récursivement par caractère .
Utilisez un modèle d'intégration pour convertir les blocs de document en vecteurs qui capturent la signification du segment de document.
Stockez les vecteurs qui représentent vos segments de document dans une base de données vectorielle.
Au moment de l'exécution, recherchez le magasin de vecteurs à l'aide de mots-clés ou d'une requête de recherche pour récupérer les segments de document les plus pertinents à alimenter au foundation model .
La conversion de texte en incorporations réduit la taille de l'invite de votre foundation model sans supprimer les informations de base qui aident le modèle à répondre avec des réponses factuelles.
Pour plus d'informations sur l'utilisation des modèles d'intégration IBM pour la conversion de texte, voir Utilisation de texte vectorisé avec des tâches de génération étendues d'extraction.
Diviser et conquérir des tâches complexes
Pour les cas d'utilisation complexes où différents types d'entrée sont attendus et doivent être traités de différentes manières, appliquez une approche à invites multiples.
Créez plusieurs invites ciblées, chacune conçue pour une efficacité optimale avec un seul type d'entrée.
Par exemple, vous pouvez classer les questions client dans les types suivants: problème de support, requête de vente ou demande de détail de produit.
Utilisez un foundation model pour classer l’entrée entrante comme l’un des types d’entrée prédéfinis.
Acheminez l'entrée vers l'invite ciblée appropriée en fonction du type d'entrée.
Par exemple, pour l'interrogation des détails du produit, vous pouvez rechercher votre site Web ou un autre contenu marketing et inclure un récapitulatif dans l'invite. Pour les problèmes de support, vous pouvez effectuer une recherche dans votre base de connaissances de traitement des incidents et inclure une procédure de contournement dans l'invite. Et pour les demandes de vente, vous pouvez connecter le client avec un vendeur.
Récapitulatif du contexte de boîte de dialogue
Pour les tâches conversationnelles, utilisez un foundation model pour résumer le contexte des échanges de dialogue précédents au lieu de conserver et de soumettre à nouveau l'historique de discussion à chaque entrée. L’utilisation du résumé réduit le nombre de jetons soumis au foundation model lors des tours suivants de la conversation.
Réduisez le nombre de jetons d'invite en ajusant le modèle à l'invite
Libérez les jetons qui pourraient autrement être utilisés par des instructions et des exemples complexes que vous incluez dans votre invite en ajustant le foundation model .
Lorsque vous ajustez un foundation model , vous montrez au modèle ce qu'il doit renvoyer en sortie pour les types d'entrée que vous soumettez. Vous pouvez soumettre des invites zéro-shot à un modèle optimisé tout en continuant à obtenir la sortie attendue.
L'optimisation d'un modèle est utile pour les tâches de classification, de synthèse ou d'extraction. Le réglage n’est pas la meilleure solution à utiliser lorsque vous avez besoin que la sortie foundation model inclue des informations factuelles.
Pour plus d'informations, voir Réglage d'un foundation model .
En savoir plus
Rubrique parent: Conseils d'invite