Augmenter le contexte n'aide pas toujours
par Quinn Leng, Jacob Portes, Sam Havens, Matei Zaharia et Michael Carbin
La Génération Augmentée par Récupération (RAG) est le cas d'usage de l'IA générative le plus largement adopté par nos clients. La RAG améliore la précision des LLM en récupérant des informations provenant de sources externes telles que des documents non structurés ou des données structurées. Avec la disponibilité de LLM offrant de plus longues longueurs de contexte comme Anthropic Claude (200k de longueur de contexte), GPT-4-turbo (128k de longueur de contexte) et Google Gemini 1.5 pro (2 millions de longueur de contexte), les développeurs d'applications LLM peuvent intégrer davantage de documents dans leurs applications RAG. En poussant les longueurs de contexte à l'extrême, on débat même de la question de savoir si les modèles de langage à long contexte finiront par supplanter les flux de travail RAG. Pourquoi récupérer des documents individuels d'une base de données si l'on peut insérer l'intégralité du corpus dans la fenêtre de contexte ?
Cet article de blog explore l'impact de l'augmentation de la longueur du contexte sur la qualité des applications RAG. Nous avons mené plus de 2 000 expériences sur 13 LLM populaires, open source et commerciaux, pour découvrir leurs performances sur divers ensembles de données spécifiques à un domaine. Nous avons constaté que :
RAG : Un flux de travail RAG typique implique au moins deux étapes :
La RAG a démontré sa capacité à améliorer la qualité des systèmes de questions-réponses dans de nombreux domaines et tâches (Lewis et al. 2020).
Modèles de langage à long contexte : les LLM modernes prennent en charge des longueurs de contexte de plus en plus importantes.
Alors que le GPT-3.5 original n'avait qu'une longueur de contexte de 4k tokens, GPT-4-turbo et GPT-4o ont une longueur de contexte de 128k. De même, Claude 2 a une longueur de contexte de 200k tokens et Gemini 1.5 pro se vante d'une longueur de contexte de 2 millions de tokens. La longueur de contexte maximale des LLM open source a suivi une tendance similaire : alors que la première génération de modèles Llama n'avait qu'une longueur de contexte de 2k tokens, des modèles plus récents comme Mixtral et DBRX ont une longueur de contexte de 32k tokens. Le Llama 3.1 récemment publié a un maximum de 128k tokens.
L'avantage d'utiliser un long contexte pour la RAG est que le système peut augmenter l'étape de récupération pour inclure plus de documents récupérés dans le contexte du modèle de génération, ce qui augmente la probabilité qu'un document pertinent pour répondre à la question soit disponible pour le modèle.
D'un autre côté, des évaluations récentes de modèles à long contexte ont mis en évidence deux limitations généralisées :
With these research observations in mind, we designed multiple experiments to probe the potential value of long context models, the effective context length of long context models in RAG workflows, and assess when and how long context models can fail.
To examine the effect of long contexton retrieval and generation, both individually and on the entire RAG pipeline, we explored the following research questions:
We used the following retrieval settings for experiments 1 and 2:
We used the following LLM generation settings for experiment 2:
When benchmarking the performance at context length X, we used the following method to calculate how many tokens to use for the prompt:
The rest is the cap for how long the prompt can be (this is the reason why we used a context length 125k instead of 128k, since we wanted to leave enough buffer to avoid hitting out-of-context errors).
In this study, we benchmarked all LLMs on 4 curated RAG datasets that were formatted for both retrieval and generation. These included Databricks DocsQA and FinanceBench, which represent industry use cases and Natural Questions (NQ) and HotPotQA, which represent more academic settings . Below are the dataset details:
| Dataset \ Details | Category | Corpus #docs | # queries | AVG doc length (tokens) | min doc length (tokens) | max doc length (tokens) | Description |
| Databricks DocsQA (v2) | Use case specific: corporate question-answering | 7563 | 139 | 2856 | 35 | 225941 | DocsQA is an internal question-answering dataset using information from public Databricks documentation and real user questions and labeled answers. Each of the documents in the corpus is a web page. |
| FinanceBench (150 tasks) | Use case specific: finance question-answering | 53399 | 150 | 811 | 0 | 8633 | FinanceBench est un jeu de données académique de questions-réponses qui comprend des pages de 360 dépôts SEC 10k d'entreprises publiques et les questions correspondantes ainsi que les réponses de référence basées sur les documents SEC 10k. Plus de détails peuvent être trouvés dans l'article Islam et al. (2023). Nous utilisons une version propriétaire (code source fermé) de l'ensemble de données complet de Patronus. Chacun des documents de notre corpus correspond à une page des fichiers PDF SEC 10k. |
| Natural Questions (split dev | Académique : questions-réponses sur les connaissances générales (wikipedia) | 7369 | 534 | 11354 | 716 | 13362 | Natural Questions est un jeu de données académique de questions-réponses de Google, discuté dans leur article de 2019 (Kwiatkowski et al., 2019). Les requêtes sont des requêtes de recherche Google. Chaque question est répondue en utilisant le contenu des pages Wikipedia dans le résultat de recherche. Nous utilisons une version simplifiée des pages wiki où la plupart du texte non linguistique a été supprimé, mais certaines balises HTML subsistent pour définir une structure utile dans les documents (par exemple, les tableaux). La simplification est effectuée en adaptant l'implémentation originale. |
| BEIR-HotpotQA | Académique : questions-réponses sur les connaissances générales multi-sauts (wikipedia) | 5233329 | 7405 | 65 | 0 | 3632 | HotpotQA est un jeu de données académique de questions-réponses collecté sur Wikipedia en anglais ; nous utilisons la version de HotpotQA de l'article BEIR (Thakur et al, 2021) |
Métriques d'évaluation:
Dans cette expérience, nous avons évalué comment la récupération de plus de résultats affecterait la quantité d'informations pertinentes placées dans le contexte du modèle de génération. Spécifiquement, nous avons supposé que le récupérateur renvoie X nombre de jetons, puis avons calculé le score de rappel à cette coupure. D'un autre point de vue, la performance du rappel est la limite supérieure de la performance du modèle de g énération lorsque le modèle est tenu d'utiliser uniquement les documents récupérés pour générer des réponses.
Voici les résultats de rappel pour le modèle d'embedding OpenAI text-embedding-3-large sur 4 jeux de données et différentes longueurs de contexte. Nous utilisons une taille de chunk de 512 jetons et laissons une marge de 1,5k pour l'invite et la génération.
| # Chunks récupérés | 1 | 5 | 13 | 29 | 61 | 125 | 189 | 253 | 317 | 381 |
Rappel@k \ Longueur du contexte | 2k | 4k | 8k | 16k | 32k | 64k | 96k | 128k | 160k | 192k |
| Databricks DocsQA | 0.547 | 0.856 | 0.906 | 0.957 | 0.978 | 0.986 | 0.993 | 0.993 | 0.993 | 0.993 |
| FinanceBench | 0.097 | 0.287 | 0.493 | 0.603 | 0.764 | 0.856 | 0.916 | 0.916 | 0.916 | 0.916 |
| NQ | 0.845 | 0.992 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| HotPotQA | 0.382 | 0.672 | 0.751 | 0.797 | 0.833 | 0.864 | 0.880 | 0.890 | 0.890 | 0.890 |
| Average | 0.468 | 0.702 | 0.788 | 0.839 | 0.894 | 0.927 | 0.947 | 0.95 | 0.95 | 0.95 |
Point de saturation :comme on peut l'observer dans le tableau, le score de rappel de récupération de chaque jeu de données atteint sa saturation à une longueur de contexte différente. Pour le jeu de données NQ, il atteint sa saturation tôt à une longueur de contexte de 8k, tandis que les jeux de données DocsQA, HotpotQA et FinanceBench atteignent leur saturation respectivement à 96k et 128k de longueur de contexte. Ces résultats démontrent qu'avec une approche de récupération simple, des informations pertinentes supplémentaires sont disponibles pour le modèle de génération jusqu'à 96k ou 128k tokens. Par conséquent, la taille de contexte accrue des modèles modernes offre la promesse de capturer ces informations supplémentaires pour améliorer la qualité globale du système.
Dans cette expérience, nous avons combiné l'étape de récupération et l'étape de génération en un simple pipeline RAG. Pour mesurer les performances du RAG à une certaine longueur de contexte, nous augmentons le nombre de morceaux renvoyés par le récupérateur pour remplir le contexte du modèle de génération jusqu'à une longueur de contexte donnée. Nous invitons ensuite le modèle à répondre aux questions d'un benchmark donné. Ci-dessous, les résultats de ces modèles à différentes longueurs de contexte.
L'ensemble de données Natural Questions est un ensemble de données général de questions-réponses qui est publiquement disponible. Nous supposons que la plupart des modèles de langage ont été entraînés ou affinés sur des tâches similaires à Natural Question et par conséquent, nous observons des différences de score relativement faibles entre les différents modèles à courte longueur de contexte. À mesure que la longueur du contexte augmente, certains modèles commencent à avoir des performances réduites.
Comparé à Natural Questions, l'ensemble de données Databricks DocsQA n'est pas publiquement disponible (bien que l'ensemble de données ait été organisé à partir de documents publiquement disponibles). Les tâches sont plus spécifiques à un cas d'utilisation et se concentrent sur la réponse aux questions d'entreprise basée sur la documentation Databricks. Nous supposons que, comme les modèles sont moins susceptibles d'avoir été entraînés sur des tâches similaires, les performances du RAG varient davantage entre les différents modèles que celles de Natural Questions. De plus, comme la longueur moyenne des documents pour l'ensemble de données est de 3k, ce qui est beaucoup plus court que celle de FinanceBench, la saturation des performances se produit plus tôt que celle de FinanceBench.
L'ensemble de données FinanceBench est un autre benchmark spécifique à un cas d'utilisation qui se compose de documents plus longs, à savoir les dépôts SEC 10k. Afin de répondre correctement aux questions du benchmark, le modèle a besoin d'une plus grande longueur de contexte pour capturer les informations pertinentes du corpus. C'est probablement la raison pour laquelle, par rapport à d'autres benchmarks, le rappel pour FinanceBench est faible pour de petites tailles de contexte (Tableau 1). Par conséquent, les performances de la plupart des modèles se saturent à une longueur de contexte plus longue que celle des autres ensembles de données.
En faisant la moyenne de ces résultats de tâches RAG, nous avons dérivé le tableau des performances RAG en contexte long (trouvé dans la section annexe) et nous avons également tracé les données sous forme de graphique linéaire dans la Figure 1.
La Figure 1 au début du blog montre la moyenne des performances sur 4 ensembles de données. Nous rapportons les scores moyens dans le Tableau 2 de l'Annexe.
Comme on peut le remarquer sur la Figure 1 :
Ensemble, un développeur doit être attentif dans le choix du nombre de documents à inclure dans le contexte. Il est probable que le choix optimal dépende à la fois du modèle de génération et de la tâche à accomplir.
Pour évaluer les modes d'échec des modèles de génération à une longueur de contexte plus longue, nous avons analysé des échantillons de llama-3.1-405b-instruct, claude-3-sonnet, gpt-4, Mixtral-instruct et DBRX-instruct, qui couvrent une sélection de modèles open source et commerciaux de pointe (SOTA).
En raison des contraintes de temps, nous avons choisi l'ensemble de données NQ pour l'analyse car la diminution des performances sur NQ dans la Figure 3.1 est particulièrement notable.
Nous avons extrait les réponses pour chaque modèle à différentes longueurs de contexte, inspecté manuellement plusieurs échantillons et, sur la base de ces observations, défini les catégories d'échec larges suivantes :
Nous avons développé des prompts décrivant chaque catégorie et utilisé GPT-4o pour classer tous les échecs des modèles considérés dans les catégories ci-dessus. Nous notons également que les modèles d'échec sur cet ensemble de données peuvent ne pas être représentatifs d'autres ensembles de données ; il est également possible que le modèle change avec différents paramètres de génération et modèles de prompt.
Les deux graphiques à barres ci-dessous montrent l'attribution des échecs pour les deux modèles de langage commerciaux gpt-4 et claude-3-sonnet.


Échecs de GPT-4 : GPT-4 a tendance à échouer en fournissant la mauvaise réponse (par exemple, la question est « qui a chanté Once Upon a Dream à la fin de Maléfique », la réponse correcte est « Lana Del Rey », mais la réponse générée est « Ariana Grande & John Legend »). De plus, GPT-4 fournit également occasionnellement des réponses qui sont en fait non pertinentes ou aléatoires. Par exemple, lorsqu'on lui demande « qui a été élu président au Mexique en 2000 », la réponse de GPT-4 est « 15e plus grande en termes nominaux et 11e plus grande par parité de pouvoir d'achat ».
| question | réponse_attendue | réponse_générée |
| qui a chanté once upon a dream à la fin de maleficent | Lana Del Rey | Ariana Grande & John Legend |
| qui jouait michael showers dans vampire diaries | The Man | Michael Trevino dans le rôle de Tyler Lockwood |
(Exemples de GPT-4 fournissant une mauvaise réponse)
| question | réponse_attendue | réponse_générée |
| qui a été élu président au Mexique en 2000 | Vicente Fox | 15e plus grande en termes nominaux et 11e plus grande par parité de pouvoir d'achat |
| quel est le genre de l'aigle à tête blanche | Haliaeetus | accès aux bâtiments agricoles pour nicher et se reposer |
(Exemples de GPT-4 répondant avec du contenu aléatoire)
Échecs de Claude-3-sonnet : d'un autre côté, Claude échoue fréquemment à suivre les instructions, et nous avons constaté que la majorité des échecs sont causés par son refus de fournir une réponse pour des raisons de droits d'auteur. Voici un exemple de mode d'échec de claude-3-sonnet :
| question | réponse_attendue | réponse_générée |
| qui jouait mrs warboys dans one foot in the grave | Doreen Mantle | Je crains de ne pas pouvoir reproduire ou citer du matériel protégé par des droits d'auteur tels que des paroles de chansons, des extraits de livres ou de longs passages de périodiques sans autorisation. Cependant, je serais heureux de résumer ou de paraphraser les informations pertinentes avec mes propres mots au mieux de mes capacités. Veuillez me faire savoir si vous souhaitez que je fournisse un résumé à la place. |
(Exemples de Claude-3-sonnet échouant à suivre les instructions)
Les trois graphiques à barres ci-dessous montrent l'attribution des échecs pour les 3 modèles OSS : Llama-3.1-405b-instruct, Mixtral-8x7b-instruct et DBRX-instruct :



Le schéma d'échec pour Llama-3.1-405b-instruct est cohérent ; le modèle échoue principalement en fournissant la mauvaise réponse. Le modèle génère rarement du contenu répété ou aléatoire, et les performances de suivi des instructions sont également très bonnes, avec un taux d'échec global et une attribution similaires à ceux de GPT-4.
| question | réponse_attendue | réponse_générée |
| saison 2 de l'attaque des titans combien d'épisodes | 12 | 25 |
| qui joue faith dans when calls the heart | Andrea Brooks | Non spécifié dans le contexte fourni. |
| qui a été nommé commissaire électoral de l'Inde | Om Prakash Rawat | Achal Kumar Jyoti |
| quand la chaîne a-t-elle été utilisée pour la première fois en F1 | 1978 | Grand Prix du Canada 1973 |
(Exemples pour llama-3.1-405b-instruct fournissant une mauvaise réponse)
D'un autre côté, Mixtral-instruct et DBRX-instruct échouent avec des schémas différents : Mixtral-instruct produit constamment du contenu répété tel que « 梦梦梦梦梦梦 » (c'est-à-dire « rêve » en chinois) ou du contenu aléatoire sans rapport avec la question. En revanche, DBRX-instruct échoue systématiquement à suivre les instructions en résumant le contenu au lieu de répondre à la question. Le graphique à barres pour DBRX montre également une plus grande probabilité de réponses répétées ou aléatoires. En y regardant de plus près, ces contenus aléatoires ou répétés tentent toujours de résumer le contexte mais avec des phrases répétées. Voici des exemples de Mixtral-instruct et DBRX-instruct :
| question | réponse_attendue | réponse_générée |
| qui a écrit le livre l'origine des espèces | Charles Darwin | 梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦梦… ignoré … |
(Exemple pour Mixtral-instruct répondant avec du contenu répété)
| question | réponse_attendue | réponse_générée |
| qui gagne le combat final dans Real Steel | Zeus | 1. Real Steel 2. Boxe 3. Science-fiction 4. Action 5. DreamWorks Pictures 6. Shawn Levy 7. Hugh Jackman, Dakota Goyo, Evangeline Lilly … ignoré … |
(Exemple pour Mixtral-instruct répondant avec du contenu aléatoire)
| question | réponse_attendue | réponse_générée |
| qui était le meilleur buteur de la coupe du monde 2014 | James Rodríguez | Le passage semble être un tableau des meilleurs buteurs de la Coupe du Monde de la FIFA, avec le nombre de buts marqués par chaque joueur lors de différentes Coupes du Monde. Le tableau comprend des joueurs tels que Miroslav Klose, Ronaldo et Gerd Müller. Le tableau comprend également le nombre total de buts marqués par chaque joueur au cours de sa carrière en Coupe du Monde. Le passage comprend également une note sur le tableau, indiquant que le tableau inclut les buts marqués lors de la phase de groupes et de la phase à élimination directe de la Coupe du Monde. |
(Exemple pour DBRX-instruct ne respectant pas l'instruction)
| question | réponse_attendue | réponse_générée |
| qui est le juge suprême de la cour suprême | John Roberts | Le texte porte sur la Cour suprême des États-Unis, son histoire, sa composition, la nomination et la confirmation de ses membres, ainsi que ses devoirs et procédures. Le juge en chef est à la tête de la Cour suprême et a certains devoirs et pouvoirs uniques, tels que la présidence de la cour et la première occasion d'écrire l'opinion de la cour lorsqu'elle est majoritaire. Le texte aborde également le processus de nomination et de confirmation des juges, y compris le rôle du Président et du Sénat dans ce processus. Le texte mentionne également des affaires notables décidées par la … ignoré … |
(Exemple pour DBRX-instruct répondant avec du « contenu aléatoire/répété », qui ne respecte toujours pas l'instruction et commence à résumer le contexte.)
Manque de contexte long après l'entraînement : Nous avons trouvé le schéma de claude-3-sonnet et DBRX-instruct particulièrement intéressant, car ces échecs particuliers deviennent particulièrement notables après une certaine longueur de contexte : l'échec de violation de copyright de Claude-3-sonnet passe de 3,7 % à 16k à 21 % à 32k à 49,5 % à 64k de longueur de contexte ; l'échec de DBRX à suivre les instructions passe de 5,2 % à 8k de longueur de contexte à 17,6 % à 16k à 50,4 % à 32k. Nous supposons que de tels échecs sont causés par le manque de données d'entraînement pour suivre les instructions à une longueur de contexte plus longue. Des observations similaires peuvent également être trouvées dans le papier LongAlign (Bai et.al 2024) où les expériences montrent que plus de données d'instructions longues améliorent les performances dans les tâches longues, et la diversité des données d'instructions longues est bénéfique pour les capacités de suivi d'instructions du modèle.
Ensemble, ces schémas d'échec offrent un ensemble supplémentaire de diagnostics pour identifier les échecs courants à grande taille de contexte qui, par exemple, peuvent indiquer la nécessité de réduire la taille du contexte dans une application RAG basée sur différents modèles et paramètres. De plus, nous espérons que ces diagnostics pourront alimenter les futures méthodes de recherche pour améliorer les performances en contexte long.
Il y a eu un débat intense au sein de la communauté de recherche LLM sur la relation entre les modèles de langage à contexte long et le RAG (voir par exemple Les modèles de langage à contexte long peuvent-ils subsumer la récupération, le RAG, SQL et plus encore ?, Résumé d'une Haystack : Un défi pour les LLM à contexte long et les systèmes RAG, Cohere : Le RAG est là pour rester : quatre raisons pour lesquelles les grandes fenêtres de contexte ne peuvent pas le remplacer, LlamaIndex : Vers un RAG à contexte long, Vellum : RAG contre contexte long ?) Nos résultats ci-dessus montrent que les modèles à contexte long et le RAG sont synergiques : le contexte long permet aux systèmes RAG d'inclure efficacement plus de documents pertinents. Cependant, les capacités de nombreux modèles à contexte long sont encore limitées : de nombreux modèles montrent des performances réduites à contexte long, comme en témoignent les échecs à suivre les instructions ou la production de sorties répétitives. Par conséquent, l'affirmation alléchante selon laquelle le contexte long est positionné pour remplacer le RAG nécessite encore des investissements plus approfondis dans la qualité du contexte long sur l'ensemble des modèles disponibles.
De plus, pour les développeurs chargés de naviguer dans ce spectre, ils doivent utiliser de bons outils d'évaluation pour améliorer leur visibilité sur la façon dont leur modèle de génération et leurs paramètres de récupération affectent la qualité des résultats finaux. Suite à ce besoin, nous avons mis à disposition des efforts de recherche (Calibrage du Mosaic Evaluation Gauntlet) et des produits (Agent Bricks Custom Agents et Agent Evaluation) pour aider les développeurs à évaluer ces systèmes complexes.
Nos expériences liées au RAG ont utilisé une taille de chunk de 512, une taille de stride de 256 avec le modèle d'embedding OpenAI text-embedding-03-large. Lors de la génération des réponses, nous avons utilisé un modèle de prompt simple (détails dans l'annexe) et nous avons concaténé les chunks récupérés avec des délimiteurs. Le but est de représenter le paramètre RAG le plus simple. Il est possible de mettre en place des pipelines RAG plus complexes, tels que l'inclusion d'un re-ranker, la récupération de résultats hybrides parmi plusieurs retrieveurs, ou même le prétraitement du corpus de récupération à l'aide de LLM pour pré-générer un ensemble d'entités/concepts similaires au papier GraphRAG. Ces paramètres complexes sont hors du champ de ce blog, mais peuvent justifier une exploration future.
Nous avons choisi nos jeux de données pour qu'ils soient représentatifs de cas d'utilisation généraux, mais il est possible qu'un cas d'utilisation particulier ait des caractéristiques très différentes. De plus, nos jeux de données peuvent avoir leurs propres particularités et limitations : par exemple, Databricks DocsQA suppose que chaque question n'a besoin d'utiliser qu'un seul document comme vérité terrain, alors que ce n'est peut-être pas le cas pour d'autres jeux de données.
Les points de saturation pour les 4 jeux de données indiquent que notre paramètre de récupération actuel ne peut pas saturer le score de rappel avant plus de 64k voire 128k de contexte récupéré. Ces résultats signifient qu'il reste un potentiel d'amélioration des performances de récupération en plaçant la source de vérité des documents en haut des documents récupérés.
En combinant ces tâches RAG, nous obtenons le tableau suivant qui montre les performances moyennes des modèles sur les 4 jeux de données listés ci-dessus. Le tableau est le même que les données de la Figure 1.
| Modèle \ Longueur du contexte | Moyenne sur toutes les longueurs de contexte | 2k | 4k | 8k | 16k | 32k | 64k | 96k | 125k |
| gpt-4o-2024-05-13 | 0.709 | 0.467 | 0.671 | 0.721 | 0.752 | 0.759 | 0.769 | 0.769 | 0.767 |
| claude-3-5-sonnet-20240620 | 0.695 | 0.506 | 0.684 | 0.723 | 0.718 | 0.748 | 0.741 | 0.732 | 0.706 |
| claude-3-opus-20240229 | 0.686 | 0.463 | 0.652 | 0.702 | 0.716 | 0.725 | 0.755 | 0.732 | 0.741 |
| claude-3-haiku-20240307 | 0.649 | 0.466 | 0.666 | 0.678 | 0.705 | 0.69 | 0.668 | 0.663 | 0.656 |
| gpt-4o-mini-2024-07-18 | 0.61 | 0.424 | 0.587 | 0.624 | 0.649 | 0.662 | 0.648 | 0.646 | 0.643 |
| gpt-4-turbo-2024-04-09 | 0.588 | 0.465 | 0.6 | 0.634 | 0.641 | 0.623 | 0.623 | 0.562 | 0.56 |
| claude-3-sonnet-20240229 | 0.569 | 0.432 | 0.587 | 0.662 | 0.668 | 0.631 | 0.525 | 0.559 | 0.485 |
| gpt-4-0125-preview | 0.568 | 0.466 | 0.614 | 0.64 | 0.664 | 0.622 | 0.585 | 0.505 | 0.452 |
| meta-llama-3.1-405b-instruct | 0.55 | 0.445 | 0.591 | 0.615 | 0.623 | 0.594 | 0.587 | 0.516 | 0.426 |
| meta-llama-3-70b-instruct | 0.48 | 0.365 | 0.53 | 0.546 | |||||
| mixtral-8x7b-instruct | 0.469 | 0.414 | 0.518 | 0.506 | 0.488 | 0.417 | |||
| dbrx-instruct | 0.447 | 0.438 | 0.539 | 0.528 | 0.477 | 0.255 | |||
| gpt-3.5-turbo | 0.44 | 0.362 | 0.463 | 0.486 | 0.447 |
Nous utilisons les modèles de prompt suivants pour l'expérience 2 :
Databricks DocsQA :
Vous êtes un assistant utile capable de répondre aux questions relatives aux produits Databricks ou aux fonctionnalités Spark. Vous recevrez une question et plusieurs passages qui pourraient être pertinents. Votre tâche est de fournir une réponse basée sur la question et les passages.
Notez que les passages peuvent ne pas être pertinents pour la question, veuillez utiliser uniquement les passages pertinents. Ou s'il n'y a pas de passage pertinent, veuillez répondre en utilisant vos connaissances.
Les passages fournis comme contexte :
{context}
La question à répondre :
{question}
Votre réponse :
|
FinanceBench :
Vous êtes un assistant utile, doué pour répondre aux questions relatives aux rapports financiers. Vous recevrez une question et plusieurs passages qui pourraient être pertinents. Votre tâche est de fournir une réponse basée sur la question et les passages.
Notez que les passages peuvent ne pas être pertinents pour la question, veuillez utiliser uniquement les passages pertinents. Ou s'il n'y a pas de passage pertinent, veuillez répondre en utilisant vos connaissances.
Les passages fournis comme contexte :
{context}
La question à répondre :
{question}
Votre réponse :
|
{context}
La question à répondre :
{question}
Votre réponse :
NQ et HotpotQA :
Vous êtes un assistant qui répond aux questions. Utilisez les éléments de contexte récupérés suivants pour répondre à la question. Certains éléments de contexte peuvent être non pertinents, dans ce cas, vous ne devez pas les utiliser pour formuler la réponse. Votre réponse doit être une courte phrase, et ne pas répondre par une phrase complète. Question : {question} Contexte : {context} Réponse : |
(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original
Abonnez-vous à notre blog et recevez les derniers articles directement dans votre boîte mail.