The Rise of Foundation Models in Time Series

By
Ghait Boukachab, December 12 2024
Retrospective
Time series
Deep learning

Dans le domaine de l’intelligence artificielle et du traitement du langage naturel, les solutions de génération augmentée par récupération (RAG) end-to-end captent de plus en plus l’attention. Ces solutions RAG permettent de générer des réponses alignées avec les informations contenues dans des documents spécifiques fournis en entrée. Le moteur de génération des réponses est un modèle de langage de grande taille (LLM).

*L’objectif d’un système RAG est de fournir au LLM les documents pertinents en lien avec la requête de l’utilisateur.

Des frameworks Python comme Langchain ou LlamaIndex facilitent la création rapide de systèmes RAG. Une solution RAG end-to-end intègre la mise en place d’un système RAG avec une interface graphique conviviale, simplifiant ainsi son utilisation.

La mise en œuvre d’une solution RAG complète peut s’avérer très chronophage. En effet, relier l’interface graphique à l’algorithme de RAG nécessite de nombreuses compétences et un investissement considérable en temps. C’est pourquoi l’utilisation d’une solution préconçue peut s’avérer extrêmement pertinente.

Cet article a pour objectif de présenter les diverses solutions RAG end-to-end disponibles sur le marché. Nous explorerons les fonctionnalités clés de ces technologies et les comparerons selon des critères prédéfinis.

Que vous soyez chercheur en IA, développeur ou professionnel intéressé par les technologies de pointe en génération de contenu, cet article vous offrira une vue d’ensemble des différentes solutions RAG end-to-end. Découvrez les avantages et inconvénients de chaque solution afin de choisir celle qui répond le mieux à vos besoins.

Pour notre comparatif, nous nous sommes appuyés sur 4 solutions différentes:

Open-webui
Ragflow
DocsGPT
AnythingLLM

Toutes ces solutions sont Open source et donc permettent d’être adaptées à des besoins spécifiques.



Aspect RAG
(Tableau) 

Pour résumer

Open-webui
: RAG implémenté de manière très basique et offrant peu de possibilités. Cependant, il ne semble pas très difficile d’ajouter des fonctionnalités supplémentaires, notamment avec les pipes et les filtres.

RagFlow: Fonctionnalités RAG très complètes. Permet une grande flexibilité dans la création d’un RAG personnalisé grâce à l’outil de graph. Semble difficile de rajouter des fonctionnalités RAG car le code est assez complexe

.DocsGPT: Fonctionnalités RAG très basiques, avec très peu de possibilités de paramétrisation. Solution peu complète pour une solution entièrement dédiée au RAG.

AnythingLLM: RAG pas très perfectionné (pas de reranker ou de techniques avancées comme dans RAGFlow), mais beaucoup de paramètres sont personnalisables et il y a de nombreux choix, notamment les vectorDB. Le fait de pouvoir utiliser des agents avec des capacités diverses est aussi un gros plus comparé aux autres solutions.


Aspect logiciel
(Tableau)


Pour résumer

Les solutions retenues peuvent être déployées à l’aide de Docker et fonctionnent localement. Elles permettent aussi d’accéder à des modèles locaux déployés à l’aide de différentes architectures comme Ollama.

Dans l’ensemble, les solutions sont toutes assez standard au niveau du software, mais nécessitent certaines connaissances plus avancées pour être modifiées. On remarque aussi que les différentes interfaces sont assez simples d’utilisation et intuitives. De plus, chacun des produits offre un support technique, que ce soit à travers une communauté, de la documentation ou une équipe dédiée.

Finalement, on remarque aussi que les modèles sont tous accessibles par API, sont disponibles sous plusieurs standards et permettent l’intégration d’API comme OpenAI.

Bonus: Pour une solution la plus simple possible et sans paramétrisation possible dans l’interface, Langchain propose un code open source de . Cette solution semble pertinente pour des applications ne demandant aucune gestion des utilisateurs et des workspaces.

Récapitulatif

Dans l’ensemble, deux solutions sortent du lot. En effet, pour des documents complexes ou pour des solutions RAG plus perfectionnées, RAGFlow semble être la solution la plus adaptée. Grâce à sa capacité à utiliser des techniques de RAG avancées comme l’indexation RAPTOR ou l’utilisation de self-RAG, cette solution semble convenir aux cas d’utilisation avec des requêtes ou des documents complexes.

Pour une utilisation plus simple, AnythingLLM semble être bien adapté. Son interface est simple d’utilisation et un large choix de personnalisations est disponible. Les solutions open source sont finalement très proches des solutions commerciales, offrant ainsi la flexibilité de choisir l’hébergement et de personnaliser les paramètres selon leurs besoins. Chez Videns, nous privilégions cette approche car elle nous permet de nous adapter à la réalité de nos partenaires.