Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

API RAG (Discuter avec des fichiers)

API de génération augmentée par récupération (RAG) pour l'indexation et la récupération de documents utilisant Langchain et FastAPI. Cette API s'intègre à LibreChat pour fournir des réponses contextuelles basées sur les fichiers téléchargés par l'utilisateur.

L'API RAG (Retrieval-Augmented Generation) est un outil puissant qui s'intègre à LibreChat pour fournir des réponses contextuelles basées sur les fichiers téléchargés par l'utilisateur.

Il exploite LangChain, PostgresQL + PGVector et Python FastAPI pour indexer et récupérer des documents pertinents, améliorant ainsi l'expérience conversationnelle.

Pour plus de détails, veuillez consulter le guide de configuration fourni ici : RAG API Configuration

image


Actuellement, cette fonctionnalité est disponible via les Agents, ainsi que via les Custom Endpoints, OpenAI, Azure OpenAI, Anthropic et Google.

Les Assistants OpenAI possèdent leur propre implémentation de RAG via la fonctionnalité « Retrieval ». Apprenez-en plus à ce sujet ici.

Il sera toujours utile d'implémenter l'utilisation de l'API RAG avec l'Assistants API, étant donné qu'OpenAI facture à la fois le stockage de fichiers et l'utilisation de « Retrieval », et cela sera introduit dans une future mise à jour.

Toujours confus au sujet du RAG ? Lisez la section que j'ai rédigée ci-dessous expliquant le concept général plus en détail avec un lien vers une vidéo utile.

Qu'est-ce que le RAG ?

Le RAG, ou Retrieval-Augmented Generation (génération augmentée par récupération), est un framework d'IA conçu pour améliorer la qualité et la précision des réponses générées par les grands modèles de langage (LLM). Il y parvient en ancrant le LLM sur des sources de connaissances externes, complétant ainsi la représentation interne des informations du modèle.

Fonctionnalités

  • Indexation de documents : L'API RAG indexe les fichiers téléchargés par l'utilisateur, créant des embeddings pour une récupération efficace.
  • Recherche sémantique : Elle effectue une recherche sémantique sur les documents indexés afin de trouver les informations les plus pertinentes en fonction de la saisie de l'utilisateur.
  • Réponses sensibles au contexte : En augmentant la requête de l'utilisateur avec des informations récupérées, l'API permet à LibreChat de générer des réponses plus précises et contextuellement pertinentes.
  • Traitement asynchrone : L'API prend en charge les opérations asynchrones pour une performance et une évolutivité améliorées.
  • Configuration flexible : Elle permet la personnalisation de divers paramètres tels que la taille des segments (chunk size), le chevauchement (overlap) et les modèles d'embedding.

Principaux avantages de RAG

  1. Accès à des faits fiables et à jour : Le RAG garantit que le LLM a accès aux informations les plus récentes et les plus fiables en récupérant des faits pertinents à partir d'une base de connaissances externe.
  2. Transparence et confiance : Les utilisateurs peuvent accéder aux sources du modèle, ce qui leur permet de vérifier l'exactitude des réponses générées et d'établir une relation de confiance avec le système.
  3. Réduction des fuites de données et des hallucinations : En ancrant le LLM sur un ensemble de faits externes vérifiables, le RAG réduit les risques que le modèle ne divulgue des données sensibles ou ne génère des informations incorrectes ou trompeuses.
  4. Coûts computationnels et financiers réduits : Le RAG réduit le besoin d'entraînement continu et de mise à jour des paramètres du modèle, ce qui permet potentiellement de diminuer les coûts computationnels et financiers liés à l'exécution de chatbots basés sur des LLM dans un environnement d'entreprise.

Comment fonctionne le RAG

Le RAG se compose de deux phases principales : la récupération et la génération de contenu.

  1. Phase de récupération : Des algorithmes recherchent et extraient des extraits d'informations pertinents par rapport à la requête ou à la question de l'utilisateur à partir d'une base de connaissances externe. Dans un contexte grand public en domaine ouvert, ces faits peuvent provenir de documents indexés sur Internet. Dans un contexte d'entreprise en domaine fermé, un ensemble de sources plus restreint est généralement utilisé pour une sécurité et une fiabilité accrues.
  2. Phase générative : Les connaissances externes récupérées sont ajoutées à l'invite de l'utilisateur et transmises au LLM. Le LLM s'appuie ensuite sur l'invite augmentée et sa représentation interne de ses données d'entraînement pour synthétiser une réponse personnalisée et attrayante pour l'utilisateur. La réponse peut être transmise à un chatbot avec des liens vers ses sources.

Défis et recherches en cours

Bien que le RAG soit actuellement l'un des outils les plus connus pour ancrer les LLM sur des informations récentes et vérifiables, et pour réduire les coûts liés à un réentraînement et une mise à jour constants, il n'est pas parfait. Voici quelques défis :

  1. Reconnaissance des questions sans réponse : Les LLM doivent être explicitement entraînés à reconnaître les questions auxquelles ils ne peuvent pas répondre sur la base des informations disponibles. Cela peut nécessiter un réglage fin (fine-tuning) sur des milliers d'exemples de questions avec et sans réponse.
  2. Amélioration de la récupération et de la génération : La recherche actuelle se concentre sur l'innovation aux deux extrémités du processus RAG : améliorer la récupération des informations les plus pertinentes possibles pour alimenter le LLM, et optimiser la structure de ces informations afin d'obtenir les réponses les plus riches de la part du LLM.

En résumé, le RAG est un framework puissant qui améliore les capacités des LLM en les ancrant sur des connaissances externes et vérifiables. Il permet de garantir des réponses plus précises, à jour et dignes de confiance, tout en réduisant les coûts associés au réentraînement continu des modèles. À mesure que la recherche dans ce domaine progresse, nous pouvons nous attendre à de nouvelles améliorations de la qualité et de l'efficacité des systèmes d'IA conversationnelle basés sur les LLM.

Pour une explication plus détaillée du RAG, vous pouvez regarder cette vidéo informative d'IBM sur Youtube :

Conclusion

L'API RAG est un ajout puissant à LibreChat, permettant des réponses tenant compte du contexte basées sur les fichiers téléchargés par l'utilisateur. En tirant parti de Langchain et FastAPI, elle offre des capacités efficaces d'indexation, de récupération et de génération de documents. Grâce à ses options de configuration flexibles et à son intégration transparente, l'API RAG améliore l'expérience conversationnelle dans LibreChat.

Pour des informations plus détaillées sur l'API RAG, y compris les endpoint de l'API, les formats de requête/réponse et la configuration avancée, veuillez vous référer à la documentation officielle de l'API RAG.

Que pensez-vous de ce guide ?