Maîtriser l'IA au travail : une analyse comparative des assistants personnels open source Librechat, Khoj, et OpenWebUI

Maîtriser l’IA au travail : une analyse comparative des assistants personnels open source Librechat, Khoj, et OpenWebUI

Les assistants IA transforment le travail en automatisant les tâches et en améliorant l’accès à l’information. Cela pose des défis de sécurité, notamment pour la gestion des données sensibles. Des solutions open source comme Librechat, Khoj et OpenWebUI offrent un contrôle local des données. L’article compare leurs atouts, limites et options de personnalisation.

Date: 12 juin 2025

Expertises:

Résilience et innovation en génie logiciel 

Science des données 

Domaine: Secteur numérique 

Thème d'innovation: Les Intelligences Artificielles 

A propos du projet: ARIAC 

1. Introduction

À l’heure actuelle, les assistants personnels IA transforment le paysage des lieux de travail en capitalisant sur des bases de connaissances internes variées, telles que des documents textuels, des bases de données, des calendriers et bien plus. Ces technologies avancées permettent aux entreprises de rationaliser leurs processus, d’améliorer la prise de décision et de booster l’efficacité opérationnelle en fournissant un accès rapide et intelligent à des informations cruciales. En exploitant l’intelligence artificielle, les organisations peuvent automatiser des tâches routinières et concentrer leurs ressources humaines sur des activités à plus forte valeur ajoutée.

Cependant, avec l’adoption croissante de ces outils, la question de la sécurité et de la confidentialité des données se pose avec acuité. Les entreprises doivent s’assurer que les informations sensibles restent protégées tout en étant accessibles par des systèmes d’IA. Cela nécessite des solutions qui non seulement gèrent efficacement les données mais aussi respectent des normes strictes de confidentialité et de sécurité pour éviter les fuites de données et garantir la conformité réglementaire.

Dans cet esprit, cet article se penchera sur trois solutions open source prometteuses : Librechat, Khoj, et OpenWebUI. Chacune de ces plateformes offre la possibilité d’être déployée localement, permettant aux entreprises de garder un contrôle total sur leurs données tout en bénéficiant des avantages de l’IA. Nous explorerons leurs capacités, leurs avantages distincts, leurs potentielles limitations, ainsi que la facilité de personnalisation qu’elles proposent pour aider les professionnels à choisir l’outil le plus adapté à leurs besoins spécifiques dans un environnement de travail en constante évolution.

2. Comparaison des solutions existantes

2.1. Présentation des solutions

2.1.1. Open WebUI
OpenWebUI est une interface dédiée à l’exploitation de modèles d’IA, qu’ils soient locaux ou en ligne. Elle offre une compatibilité avec les APIs OpenAI et Ollama et intègre des fonctions de gestion des utilisateurs et des permissions. Son développement et son évolution sont soutenus par une communauté importante de plus de 400 contributeurs.

2.1.2. LibreChat
Librechat est une plateforme de chat IA open-source. Elle permet l’interaction avec divers modèles d’IA et propose des fonctionnalités avancées telles que la gestion de conversations et l’intégration d’outils d’exécution de code et d’analyse de fichiers. La plateforme bénéficie d’une communauté active de plus de 200 contributeurs qui participent à son amélioration.

2.1.3. Khoj
Khoj se présente comme un assistant IA personnel, combinant des capacités de chat, de recherche documentaire et d’automatisation. Il facilite l’interrogation de modèles d’IA et l’accès à l’information sur différentes plateformes. Son développement est assuré par une équipe de 50 contributeurs.

2.2. Comparaison des solutions

2.2.1. Expérience utilisateur

L’interface d’OpenWebUI se veut à la fois moderne et épurée, reprenant les codes visuels de solutions bien connues comme ChatGPT. La navigation y est fluide, et la gestion des conversations bénéficie d’un historique structuré et intuitif. Grâce à son design minimaliste, l’outil demeure accessible, même pour les utilisateurs les moins expérimentés.

Contrairement à d’autres solutions orientées conversation, Khoj ne se positionne pas comme un simple chatbot. Il se définit comme un assistant intelligent spécialisé dans la recherche documentaire. Son interface, résolument technique, s’adresse principalement à des utilisateurs ayant des besoins précis en matière de consultation et d’analyse de fichiers personnels. Il privilégie la fonctionnalité à l’esthétique, tout en restant ergonomique.

Concernant LibreChat, son interface offre une simplicité appréciable qui permet une prise en main rapide, même si les utilisateurs expérimentés pourraient souhaiter davantage d’options de personnalisation visuelle et de gestion des conversations. L’apparence par défaut présente une fonctionnalité efficace qui répond aux besoins essentiels, avec un potentiel d’optimisation pour certains écrans ou résolutions qui renforcerait encore son attrait dans un contexte professionnel.

2.2.2. Licence, communauté et support

La licence d’un outil open-source est un critère de choix important pour les entreprises et les développeurs. Librechat est sous licence MIT, l’une des plus permissives, tandis que Khoj est sous AGPL-3.0, une licence plus contraignante. Enfin, OpenWebUI opte pour une licence BSD-3, très permissive également.

Côté communauté, OpenWebUI est clairement en tête avec plus de 66,1K stars sur GitHub, contre 25,6K pour Khoj et 21,2K pour Librechat. Cela se traduit par une forte activité et une évolutivité plus rapide.

2.2.3. Aspects sécurité

Afin d’évaluer l’aspect sécurité, l’approche suivie a été de se baser sur les informations disponibles en ligne. Le but étant d’établir lequel des outils présupposés semble avoir la meilleure posture de sécurité. Le détail des recherches effectuées est expliqué en annexe A.

D’après ces critères, l’outil qui semble avoir la meilleure posture de sécurité est OpenWebUI, celui-ci semble avoir une grande communauté très réactive et des processus de vérification de la sécurité en place et automatisé. Ces failles sont publiées et, au moment de l’évaluation, toutes corrigées. Le second est Khoj, il couvre également ces aspects mais de manière moins complète qu’OpenWebUI. Enfin, Librechat ne semble pas être assez mature d’un point de vue sécurité actuellement.

2.2.4. Technologies utilisées

OpenWebUI repose sur la technologie Svelte, un framework d’interface utilisateur moderne qui se distingue par son approche basée sur la compilation. Contrairement aux bibliothèques traditionnelles, Svelte génère un code optimisé au moment de la compilation, ce qui réduit considérablement la charge de travail du navigateur. Il permet ainsi de concevoir des composants concis, performants et écrits à l’aide de langages standards tels que HTML, CSS et JavaScript.

Le backend d’OpenWebUI est principalement développé en Python, utilisant des frameworks comme FastAPI pour fournir une API REST performante et asynchrone. OpenWebUI supporte plusieurs bases de données, notamment SQLite (par défaut) et PostgreSQL, pour la gestion des données utilisateur et des historiques de conversation. Son architecture modulaire permet d’étendre facilement ses fonctionnalités, avec un système de plugins pour ajouter des connecteurs externes (comme Hugging Face, OpenAI, etc.). Ce backend est conçu pour être léger, scalable et compatible avec des déploiements conteneurisés via Docker, facilitant son intégration dans divers environnements.

Le projet Khoj s’appuie sur React pour le développement de son interface utilisateur. Développée par Facebook, cette bibliothèque JavaScript est largement reconnue pour sa capacité à créer des interfaces dynamiques, réactives et modulaires à l’aide de composants réutilisables. L’approche déclarative de React simplifie la gestion des états et rend le développement d’applications complexes plus prévisible et maintenable.

Le backend de Khoj est conçu pour être performant, modulaire et extensible. Développé principalement en Python, il utilise des composants de frameworks comme FastAPI et Django pour construire son API REST. La base de données repose sur PostgreSQL pour la gestion des données structurées, tandis que Qdrant ou FAISS sont utilisés pour la recherche vectorielle et la gestion des embeddings. L’architecture est modulaire, permettant d’intégrer facilement différents composants comme des modèles de NLP (tels que GPT, Llama ou Whisper pour le traitement du langage et de la voix) et des connecteurs vers des services externes. L’ensemble est conteneurisé avec Docker et peut être déployé via Kubernetes pour une scalabilité optimale. La sécurité est assurée par une authentification OAuth2 et des mécanismes de chiffrement des données.

LibreChat utilise également React pour son interface front-end, en combinaison avec le framework Next.js, qui introduit des fonctionnalités avancées de rendu côté serveur et d’optimisation des performances. Cette architecture moderne permet une expérience fluide, rapide et compatible avec les exigences actuelles du développement web.

Le backend de LibreChat est construit autour d’une stack JavaScript Node.js, utilisant Express.js comme framework principal pour la gestion des routes et des API. Il intègre des systèmes d’authentification flexibles (comme JWT ou OAuth) et supporte plusieurs fournisseurs de modèles LLM tels qu’OpenAI, Anthropic Claude ou des modèles auto-hébergés via Ollama. La base de données repose principalement sur MongoDB (NoSQL) pour stocker les conversations et les configurations utilisateurs, offrant une bonne scalabilité pour les données non structurées. L’architecture est conçue pour être modulaire, permettant d’ajouter facilement de nouveaux plugins ou connecteurs (comme des outils externes via des webhooks ou des APIs custom). Le déploiement est simplifié grâce à Docker, et le backend peut être couplé à des services comme Redis pour la gestion du cache. Enfin, LibreChat met l’accent sur la personnalisation et la confidentialité, avec des options pour un hébergement entièrement autonome.

L’annexe B donne plus de détails sur l’installation des outils.

3. Conclusion

Quel outil choisir ?

À l’heure où les assistants personnels basés sur l’intelligence artificielle s’imposent comme des outils incontournables pour optimiser les environnements de travail, le choix d’une solution adaptée devient un enjeu stratégique. Les trois plateformes open source étudiées — Librechat, Khoj, et OpenWebUI — démontrent chacune des forces distinctes, répondant à des besoins variés en matière d’ergonomie, de personnalisation, de sécurité et d’intégration technologique.

OpenWebUI se démarque par son interface moderne, sa communauté dynamique et sa solide posture de sécurité, en faisant une solution robuste et accessible, particulièrement adaptée aux environnements professionnels soucieux de performance et de confidentialité. Khoj, quant à lui, s’adresse à un public plus technique, avec un positionnement clair en tant qu’outil de recherche documentaire intelligent. Son architecture modulaire et sa compatibilité avec de multiples technologies en font une solution puissante pour des usages spécialisés. Enfin, LibreChat séduit par sa simplicité d’utilisation et sa flexibilité, bien qu’il reste en retrait sur certains aspects critiques comme la sécurité ou la maturité fonctionnelle pour des déploiements à grande échelle.

Le choix entre ces outils dépendra donc avant tout des priorités de chaque organisation : accessibilité et sécurité, puissance technique, ou personnalisation. Dans tous les cas, leur nature open source et leur capacité à être auto-hébergés constituent des atouts majeurs pour concilier innovation, souveraineté des données et adaptabilité aux besoins métiers.

Que va t’on faire au CETIC ?

Cette comparaison nous a permis au CETIC de choisir la solution open source sur laquelle nous allons nous baser pour accueillir le fruit de nos recherches sur les modèles de langage autour de notre démonstrateur Chani. Nous avons choisi en particulier OpenWebUI comme celle-ci offre de base des fonctionnalités allant dans le sens voulu de nos développements et qu’elle permet d’intégrer facilement de nouveaux développements.


Annexe A : démarche d’analyse de sécurité détaillée

Comme il s’agit d’outils open-source, notre première source de données a été Github (https://github.com/open-webui/open-webui, https://github.com/khoj-ai/khoj, https://github.com/danny-avila/LibreChat). Dans les différents repository, il a été possible d’analyser si le développement de ces outils était toujours bien actif et surtout réactif en cas de faille détectée. Dans certains repos, il a été constaté que la partie security de github avait bien été définie, que des issues de sécurité avait été détectées et corrigées et qu’un processus automatique (pipeline) était défini et comportait bien des activités de sécurité.

La seconde source utilisée est la base de donnée de CVE (Common Vulnerability and Exposure) de MITRE. Pour chacun des outils, il a été possible d’observer si les failles de sécurité découvertes étaient bien partagées et si les failles en question étaient toujours exploitables ou non ou si, éventuellement, elles pouvaient être mitigées.

Enfin, la dernière source est Snyk, un outil d’analyse de code qui fournit également une base de données de vulnérabilités. Le pipeline défini dans github est également utilisé pour l’analyse de vulnérabilité. Pour évaluer cet aspect, nous avons vérifié sur Snyk si des analyses fréquentes étaient publiées pour les trois outils que nous comparons. Cette approche nous permet d’avoir une vision objective des failles de sécurité connues et de voir l’importance donnée par les développeurs aux enjeux de la sécurité.

Annexe B : détails d’installation des outils

OpenWebUI peut être installé localement avec Docker pour une utilisation directe.

$ docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway ghcr.io/open-webui/open-webui:main

L’installation locale est accessible à l’URL http://localhost:3000.

Pour une utilisation d’OpenWebUI orientée au développement, veuillez suivre les indications dans https://docs.openwebui.com/getting-started/advanced-topics/development.

La manière la plus simple d’installer Khoj localement est par l’installation d’un package Python via pip, de préférence dans un environnement virtuel. La suite des commandes installe Khoj dans un environnement Linux sur une machine avec GPU.

$ python -m venv .venv
$ source .venv/bin/activate
$ CMAKE_ARGS="-DGGML_CUDA=on" FORCE_CMAKE=1 python -m pip install 'khoj[local]'

Le démarrage de Khoj sans authentification peut alors être faite avec la commande :
$ USE_EMBEDDED_DB="true" khoj --anonymous-mode

L’installation locale est accessible à l’URL http://localhost:42110.

Pour une utilisation de Khoj orientée au développement, veuillez suivre les indications dans https://docs.khoj.dev/contributing/development.

Pour Librechat, en clonant le dépôt source, il est possible d’installer l’outil pour une utilisation directe avec Docker ou en mode développement si l’on veut faire ses propres modifications au code source.

$ git clone https://github.com/danny-avila/LibreChat.git
$ cd LibreChat
$ cp .env.example .env
Pour utiliser directement Librechat via Docker :
$ docker-compose up -d

Pour utiliser Librechat en mode développement, il faut avoir une installation de NodeJS et de MongoDB. Le fichier .env doit être édité pour configurer la variable MONGO_URI avec l’URL de l’instance de MongoDB installée.

$ npm ci
$ npm run frontend
$ npm run backend

Dans les deux cas de figure, Librechat est accessible à l’URL http://localhost:3080.