RAG d’OpenAI vs votre RAG personnalisé : lequel est le meilleur ?
Cet article a été initialement publié sur The New Stack et est republié ici avec autorisation.
L’introduction récente de la fonctionnalité de récupération d’OpenAI Assistants a suscité d’importantes discussions au sein de la communauté de l’IA. Cette fonctionnalité intégrée incorpore les capacités de Retrieval Augmented Generation (RAG) pour les questions-réponses, permettant aux modèles de langage GPT de puiser dans des connaissances supplémentaires afin de générer des réponses plus exactes et pertinentes. Dans un article précédent, nous avons exploré les contraintes de la récupération RAG intégrée d’OpenAI et discuté des situations où la création d’une solution de récupération personnalisée pourrait être bénéfique.
Dans cet article, nous approfondirons ce sujet en comparant les performances du RAG d’OpenAI avec celles d’un RAG personnalisé construit sur une base de données vectorielle comme Milvus. Nous évaluerons les forces, les faiblesses et les nuances de chaque approche, pour finalement répondre à la question cruciale : laquelle est la meilleure ?
Qu’est-ce que la Retrieval Augmented Generation (RAG) ?
Avant d’évaluer les systèmes RAG intégrés d’OpenAI vs. les systèmes RAG personnalisés, commençons par comprendre ce qu’est le RAG.
RAG, ou Retrieval Augmented Generation, est un cadre d’IA qui récupère des faits depuis une base de connaissances externe afin de garantir que les grands modèles de langage (LLMs) s’appuient sur les informations les plus exactes et les plus à jour. Un système RAG typique comprend un LLM, une base de données vectorielle comme Milvus, et quelques prompts sous forme de code.
Outil d’évaluation RAG : Ragas
Évaluer les performances du RAG est une tâche complexe. Nous avons besoin d’un outil d’évaluation RAG équitable et objectif pour évaluer plusieurs métriques sur un jeu de données approprié, garantissant des résultats reproductibles.
Ragas est un framework open source dédié à l’évaluation des performances des systèmes RAG. Il fournit une gamme de métriques de notation qui mesurent différents aspects d’un système RAG afin d’offrir une évaluation complète et sous plusieurs angles de la qualité des applications RAG.
Cet article utilisera la fidélité, la pertinence de la réponse, la précision du contexte, la similarité de la réponse et l’exactitude de la réponse comme principales métriques pour évaluer le RAG d’OpenAI et nos systèmes RAG personnalisés.
Fidélité : Évaluation de l’exactitude factuelle de la réponse générée dans le contexte donné.
Pertinence de la réponse : Évaluation de la pertinence de la réponse générée par rapport à la question.
Précision du contexte : Rapport signal/bruit dans le contexte récupéré.
Exactitude de la réponse : Évaluation de l’exactitude de la réponse générée par rapport à la vérité terrain.
Similarité de la réponse : Évaluation de la ressemblance sémantique entre la réponse générée et la vérité terrain.
Consultez la documentation Ragas pour des informations plus détaillées sur Ragas et toutes les métriques.
Jeu de données d’évaluation RAG : FiQA
Nous avons sélectionné le jeu de données Financial Opinion Mining and Question Answering (FiQA) pour notre évaluation. Ce jeu de données présente plusieurs caractéristiques qui le rendent idéal pour notre évaluation, notamment :
Il contient des connaissances financières hautement spécialisées peu susceptibles d’être présentes dans les données d’entraînement des modèles GPT.
Il a initialement été conçu pour évaluer les capacités de recherche d’information et fournit donc des extraits de connaissances bien annotés qui servent de réponses standard (vérité terrain).
Ragas et sa communauté ont largement reconnu FiQA comme un jeu de données de test introductif standard.
Configuration des systèmes RAG
Maintenant, construisons les deux systèmes RAG à comparer : un RAG OpenAI et un RAG personnalisé construit sur la base de données vectorielle Milvus.
Configuration du RAG OpenAI
Nous construirons un système RAG à l’aide d’OpenAI Assistants en suivant la documentation officielle d’OpenAI, notamment la construction des Assistants, le téléversement des connaissances externes, la récupération d’informations contextuelles et la génération de réponses. Tous les autres paramètres resteront par défaut.
Configuration d’un RAG personnalisé avec Milvus
Nous devons configurer manuellement le système RAG personnalisé en utilisant la base de données vectorielle Milvus pour stocker les connaissances externes. Nous utiliserons `BAAI/bge-base-en` de HuggingFace comme modèle d’embedding, avec divers composants LangChain pour l’importation de documents et la construction d’agents.
Pour des informations détaillées, consultez ce guide étape par étape.
Comparaison des configurations
Nous résumons les détails de configuration des deux systèmes RAG dans le tableau ci-dessous. Pour plus d’informations, consultez notre code d’implémentation.
| RAG OpenAI | RAG personnalisé | |
|---|---|---|
| Modèle LLM | gpt-4-1106-preview | gpt-4-1106-preview |
| Base de données vectorielle | Non divulgué | milvus |
| Modèle d’embedding | Non divulgué | BAAI/bge-base-en |
| Taille des chunks | Non divulgué | 1000 |
| Chevauchement des chunks | Non divulgué | 40 |
| topk | Non divulgué | 5 |
| Utiliser un agent | Oui | Oui |
Tableau : Comparaison des configurations du RAG OpenAI et du RAG personnalisé
Comme le montre le tableau ci-dessus, les deux systèmes RAG utilisent `gpt-4-1106-preview` comme modèle LLM. Le RAG personnalisé utilise Milvus comme base de données vectorielle. Cependant, le RAG OpenAI ne divulgue pas sa base de données vectorielle intégrée ni ses autres paramètres de configuration.
Résultats d’évaluation et analyse
À l’aide de Ragas, nous avons évalué les deux systèmes RAG selon plusieurs métriques, notamment la précision du contexte, la fidélité, la pertinence de la réponse, la similarité et l’exactitude. Le graphique ci-dessous montre les scores expérimentaux que nous avons obtenus avec Ragas.
Bien que le système RAG OpenAI ait légèrement surpassé le système RAG personnalisé alimenté par Milvus en matière de similarité des réponses, il a pris du retard sur d’autres métriques cruciales, notamment la précision du contexte, la fidélité, la pertinence des réponses et l’exactitude des réponses.
Ragas nous permet également de comparer deux systèmes RAG à l’aide des scores Ragas, une valeur moyenne générée en calculant la moyenne harmonique de diverses métriques. La moyenne harmonique est utilisée pour pénaliser les éléments ayant de faibles scores. Plus les scores Ragas sont élevés, meilleures sont les performances globales d’un système RAG. Le graphique ci-dessous montre les scores Ragas de deux systèmes RAG.
Comme le montre le graphique, le système RAG personnalisé alimenté par Milvus obtient des scores Ragas plus élevés que le système RAG OpenAI.
En conclusion, le système RAG personnalisé alimenté par Milvus a surpassé le système RAG OpenAI en ce qui concerne les scores Ragas et d’autres métriques cruciales, notamment la précision du contexte, la fidélité, la pertinence et l’exactitude des réponses.
Pourquoi le RAG personnalisé surpasse-t-il le RAG intégré d’OpenAI ?
À travers de nombreuses comparaisons individuelles, nous avons constaté que le pipeline RAG personnalisé basé sur une base de données vectorielle offre de meilleures performances que le système RAG basé sur OpenAI Assistants. Pourquoi ? Voici quelques-unes des raisons les plus importantes.
OpenAI Assistants s’appuie sur les connaissances internes de pré-entraînement plutôt que sur les connaissances externes.
En raison de leur configuration interne d’agents, les assistants OpenAI s’appuient davantage sur le pré-entraînement que sur les connaissances importées. Par exemple, lorsqu’on leur a posé une question sur les cours de finances personnelles au lycée, le système RAG d’OpenAI a fourni une réponse qui s’appuyait sur autre chose que la vérité terrain.
| Question | Les cours de finances personnelles/de gestion de l’argent sont-ils enseignés au lycée, quelque part ? |
|---|---|
| Réponse du système RAG d’OpenAI | Des cours de finances personnelles et de gestion de l’argent sont effectivement enseignés dans certains lycées, bien que la disponibilité et l’obligation de tels cours puissent varier considérablement selon le pays et même selon les régions d’un pays. Aux États-Unis, par exemple, le Council for Economic Education (CEE) mène des enquêtes et publie des rapports sur l’éducation financière dans les écoles K-12. Leurs conclusions suggèrent qu’à ma dernière mise à jour, un nombre croissant d’États ont intégré les finances personnelles dans leurs normes éducatives, et certains ont imposé aux élèves de suivre un cours de finances personnelles pour obtenir leur diplôme. Bien que je n’aie pas accès à une base de données en direct ni aux études les plus récentes, vous pouvez souvent trouver des informations sur l’éducation financière dans les écoles en : 1. Consultant les sites web gouvernementaux de l’éducation. 2. Consultant les rapports d’organisations et de conseils à but non lucratif spécialisés dans l’éducation financière. 3. Contactant les conseils scolaires locaux ou les départements de l’éducation. Si vous vous intéressez à des lieux précis ou avez un objectif particulier en tête, vous pourriez le préciser afin que je puisse fournir des informations plus directes, si elles sont disponibles. |
| Réponse du système RAG personnalisé | Des cours de finances personnelles et de gestion de l’argent sont effectivement enseignés dans certains lycées, mais la disponibilité et les exigences de ces cours peuvent varier considérablement. Par exemple, à Houston, au Texas, un lycée privé proposait un cours facultatif d’un demi-semestre en finances personnelles qui ne donnait pas de crédits pour l’obtention du diplôme. Le Staples High School de Westport, dans le Connecticut, a introduit un cours de gestion financière personnelle axé sur l’utilisation des mathématiques pour développer les compétences en littératie financière, couvrant des sujets tels que les revenus, les services bancaires, les cartes de crédit, les prêts, les impôts, les assurances, l’investissement, la budgétisation et l’achat de biens personnels. Les écoles publiques d’Ann Arbor, dans le Michigan, proposaient un cours de « civics » qui incluait des notions de base de gestion de l’argent. De plus, au Royaume-Uni, le cadre « Every Child Matters » inclut « achieving economic well-being » comme élément important, et certaines écoles utilisent un School Rewards System pour enseigner aux enfants la finance et l’économie. Bien que ces exemples montrent que de tels cours existent, ils ne sont pas universellement obligatoires ni standardisés, et la profondeur ainsi que l’orientation du programme peuvent varier. |
| Vérité terrain dans le jeu de données | À Houston, au Texas, aux États-Unis, où je suis allé dans un lycée privé, ils avaient un cours d’un demi-semestre en finances personnelles, mais il était facultatif et ne donnait aucun crédit pour l’obtention du diplôme. Vous avez raison cependant, cela devrait être un cours standard. Après tout, qui n’a pas besoin de ces informations dans sa vie d’adulte, et tout le monde ne va pas à l’université." ... Nous avions un cours de « civics » quand j’étais en première année de lycée. C’était dans les écoles publiques d’Ann Arbor, dans le Michigan. Il couvrait les notions de base (comment équilibrer votre chéquier, ce que sont les actions, comment fonctionnent les impôts sur le revenu, ce qu’est l’intérêt, etc.) de la gestion de l’argent, ainsi qu’un aperçu de la politique et du système juridique. C’était cependant un cours vraiment léger, et il n’allait pas en profondeur dans les finances personnelles et la gestion de l’argent. Je suis d’accord pour dire qu’un tel cours serait très utile, tout comme la cuisine, la nutrition et les bases de la réparation domestique et automobile. |
Bien que la réponse du système RAG d’OpenAI ne soit pas incorrecte, elle manque de précision et le fait qu’elle reconnaisse ne pas accéder aux dernières études suggère une utilisation incomplète des connaissances du document téléversé. En revanche, le système RAG personnalisé fournit une réponse plus exacte en intégrant de manière fluide des informations spécifiques issues de la vérité terrain. Cette comparaison met en évidence la capacité supérieure du RAG personnalisé à exploiter efficacement des données externes, ce qui le distingue comme une solution plus fiable et plus performante.
Le RAG personnalisé est meilleur en segmentation de documents et en récupération de données que le RAG d’OpenAI
La stratégie de segmentation des connaissances et de rappel d’OpenAI pourrait nécessiter une optimisation. Parfois, l’extrait récupéré est inadéquat, par exemple lorsqu’il fournit seulement « PROS: CONS » pour une question sur les investissements IRA. En revanche, le pipeline RAG personnalisé excelle dans le rappel d’extraits pertinents, offrant une réponse plus complète.
| Question | Avantages/inconvénients d’être plus impliqué dans les investissements IRA |
|---|---|
| Extrait récupéré par OpenAI RAG | ['PROS: CONS'] |
| Extrait récupéré par le RAG personnalisé | ['in the tax rate, there's also a significant difference in the amount being taxed. Thus, withdrawing from IRA is generally not a good idea, and you will never be better off with withdrawing from IRA than with cashing out taxable investments (from tax perspective). That's by design."' "Sounds like a bad idea. The IRA is built on the power of compounding. Removing contributions will hurt your retirement savings, and you will never be able to make that up. Instead, consider tax-free investments. State bonds, Federal bonds, municipal bonds, etc. For example, I invest in California muni bonds fund which gives me ~3-4% annual dividend income - completely tax free. In addition - there's capital appreciation of your fund holdings. There are risks, of course, for example rate changes will affect yields and capital appreciation, so consult with someone knowledgeable in this area (or ask another question here, for the basics). This will give you the same result as you're expecting from your Roth IRA trick, without damaging your retirement savings potential." "In addition to George Marian's excellent advice, I'll add that if you're hitting the limits on IRA contributions, then you'd go back to your 401(k). So, put enough into your 401(k) to get the match, then max out IRA contributions to give you access to more and better investment options, then go back to your 401(k) until you top that out as well, assuming you have that much available to invest for retirement." "While tax deferral is a nice feature, the 401k is not the Holy Grail. I've seen plenty of 401k's where the investment options are horrible: sub-par performance, high fees, limited options. That's great that you've maxed out your Roth IRA. I commend you for that. As long as the investment options in your 401k are good, then I would stick with it." "retirement plans which offer them good cheap index funds. These people probably don't need to worry quite as much. Finally, having two accounts is more complicated. Please contact someone who knows more about taxes than I am to figure out what limitations apply for contributing to both IRAs and 401(k)s in the same year."] |
OpenAI Assistants a récupéré un extrait erroné. En revanche, le RAG personnalisé a récupéré des extraits plus pertinents, offrant une réponse plus complète qui correspond aux nuances de la question.
Autres raisons
OpenAI Assistants ne permet pas aux utilisateurs d’ajuster les paramètres du pipeline RAG à des fins de personnalisation ou d’optimisation. Cependant, avec un RAG personnalisé, les utilisateurs peuvent bénéficier d’une flexibilité totale pour l’ajustement et l’optimisation.
OpenAI Assistants présente des limitations de stockage de fichiers, tandis que le RAG personnalisé propulsé par Milvus peut évoluer rapidement sans limite supérieure, ce qui en fait une meilleure option pour les utilisateurs qui nécessitent une capacité de stockage plus importante.
Conclusion
En conclusion, notre comparaison et analyse complètes à l’aide de l’outil d’évaluation Ragas mettent en évidence les forces et les faiblesses du RAG d’OpenAI et d’un RAG personnalisé basé sur une base de données vectorielle comme Milvus. Bien que le RAG d’OpenAI soit performant en matière de récupération, le RAG personnalisé excelle en qualité et pertinence des réponses, en performance de rappel, et dans de nombreux autres aspects. Les développeurs à la recherche d’applications RAG puissantes et efficaces trouveront la flexibilité et les capacités d’une solution RAG basée sur une base de données vectorielle préférables pour obtenir de meilleurs résultats.
Continuer à lire

The AWS Outage Was a Wake-Up Call for Vector Database Cross-Region Disaster Recovery
Zilliz Cloud Had the Answer Before the Crisis. Zilliz Cloud is the world's first vector database with native cross-region disaster recovery.

Introducing Zilliz Cloud Global Cluster: Region-Level Resilience for Mission-Critical AI
Zilliz Cloud Global Cluster delivers multi-region resilience, automatic failover, and fast global AI search with built-in security and compliance.

Context Engineering Strategies for AI Agents: A Developer’s Guide
Learn practical context engineering strategies for AI agents. Explore frameworks, tools, and techniques to improve reliability, efficiency, and cost.



