AnythingLLM permet de créer en une soirée un assistant RAG privé à partir de vos documents
AnythingLLM est une application open source qui découpe vos PDF et DOCX en fragments, les stocke dans une base vectorielle et ne transmet au modèle que les passages nécessaires. Elle fonctionne sur ordinateur ou dans Docker et se connecte à Ollama, Claude ou toute passerelle compatible avec OpenAI. Une soirée suffit pour monter un assistant privé. Mais le RAG prêt à l'emploi reste moyen, et de sérieuses vulnérabilités ont été découvertes en 2026.
Traité par IA depuis Habr AI ; édité par Hamidun News
La situation est familière : une centaine de PDF contenant des contrats, des notes de cours et de la documentation interne traînent sur le disque. Vous chargez un fichier dans un chatbot, et il s'en sort. Vous en chargez vingt, la fenêtre de contexte déborde et une partie des données se perd. À cela s'ajoutent l'abonnement, le VPN et la réticence à confier ses documents au cloud d'un tiers. AnythingLLM a précisément été conçu pour ce type de tâche.
De quoi s'agit-il et comment fonctionne-t-il ?
AnythingLLM est une application full-stack open source. Elle récupère les fichiers, les découpe en chunks, les vectorise, les stocke dans une base et ne fournit au modèle que les fragments pertinents. Les formats pris en charge sont nombreux : PDF, DOCX, TXT, pages web et audio via Whisper.
Le principal piège pour les débutants tient aux deux méthodes permettant d'ajouter un document. Si vous « joignez » un fichier au chat, l'intégralité de son texte est injectée dans la fenêtre de contexte. C'est rapide, mais deux gros fichiers suffisent à épuiser cette fenêtre. Le mode Embed fonctionne comme un véritable RAG : seuls les fragments proches de la question entrent dans le prompt.
Les documents résident dans un workspace. Il s'agit d'espaces isolés par projet, chacun avec sa propre mémoire, ses propres fichiers et son propre modèle. Un workspace peut utiliser Ollama en local, tandis qu'un autre interroge Claude par API. La version 1.13.0 a ajouté Model Router : il envoie les requêtes simples à un modèle bon marché et les requêtes complexes à un modèle haut de gamme. Vous définissez vous-même les règles, par exemple selon des mots-clés ou la taille de la requête. Cette version a également introduit Scheduled Jobs, autrement dit des agents planifiés.
La base vectorielle intégrée par défaut est LanceDB. Il est également possible de connecter PGVector, Chroma, Milvus, Pinecone, Qdrant et d'autres solutions.
Application de bureau ou Docker
La version de bureau s'installe en un clic sur Mac, Windows et Linux. Tout s'exécute sur votre machine, et le modèle intégré propose trois variantes GGUF adaptées à votre matériel. C'est une bonne manière de déterminer en dix minutes si l'outil vous convient. Mais ce mode est limité à un seul utilisateur, et le moteur intégré commence à peiner avec une grande base documentaire.
Docker est nécessaire pour un serveur : mode multiutilisateur, invitations, contrôle de l'accès aux workspaces, widgets de chat pour les sites web et API complète. La sauvegarde consiste simplement à copier un répertoire de stockage. Deux pièges sont fréquents :
- le conteneur s'exécute sous un utilisateur ayant l'UID/GID 1000. Si le dossier de l'hôte appartient à root, SQLite ne pourra pas créer la base et le conteneur redémarrera indéfiniment. La commande chown -R 1000:1000 appliquée au répertoire de stockage corrige le problème ;
- l'option --cap-add SYS_ADMIN paraît suspecte, mais elle est nécessaire au navigateur headless intégré utilisé pour les pages web.
Un modèle externe se connecte via le fournisseur Generic OpenAI : il suffit d'indiquer la Base URL, la clé et l'ID exact du modèle. C'est ainsi que l'on connecte des passerelles russes comme Bothub, mais aussi LM Studio, Ollama en mode compatible, vLLM et OpenRouter. Le principe reste le même, seule l'adresse change. Deux champs doivent être renseignés immédiatement : Token context window, selon la taille réelle de la fenêtre du modèle, et Max tokens. Ce dernier vaut 1024 par défaut, ce qui tronque les réponses longues sans avertissement.
Les points faibles
Le premier est la qualité du RAG. Il fonctionne dès l'installation, mais ses performances restent moyennes. Le résultat dépend de la taille des chunks, du modèle d'embeddings et du seuil de similarité ; les valeurs par défaut constituent un compromis, pas un réglage adapté à votre cas d'usage. Symptôme typique : le modèle répond à partir d'un paragraphe situé au milieu d'un PDF et ignore trois autres passages qui expriment la même chose avec des mots différents. La première soirée sera consacrée à comprendre ces réglages.
Le deuxième est la stabilité des agents. Des fuites de mémoire ont été observées en 2026 : chaque requête RAG effectuée dans une session agent ajoutait entre 100 et 650 Mo qui n'étaient pas libérés. C'est tolérable pour des essais à domicile, mais pas pour un serveur utilisé par une dizaine de personnes.
Le troisième est la sécurité. CVE-2026-48116 permettait d'exécuter une commande arbitraire à l'intérieur du conteneur grâce à une injection d'argument dans ripgrep. Le plugin de fichiers étant activé par défaut dans l'image officielle, il suffisait d'envoyer un message à l'agent. CVE-2026-45403 permettait une traversée de chemins à l'aide de liens symboliques. Les deux failles ont été corrigées dans la version 1.13.0 ; la version actuelle au moment de la rédaction est la 1.19.0. En outre, la version de bureau ne dispose pas d'authentification, et la version Docker ne demande aucun mot de passe tant que vous ne l'activez pas vous-même. Un port ouvert sans mot de passe n'offre aucune confidentialité : c'est une loterie.
Je ne recommande pas la version cloud hébergée à 50 dollars par mois pour un travail sérieux sur des documents : elle n'intègre aucun LLM, son embedder fonctionne sur CPU avec des limites strictes, et les agents personnalisés ainsi que MCP y sont désactivés.
Conclusion pratique
Si vous disposez d'un corpus de textes que vous ne voulez pas confier à des clouds publics, AnythingLLM fournit en une soirée une base fonctionnelle. Commencez par la version de bureau, passez à Docker pour une équipe, activez immédiatement un mot de passe, installez toujours la dernière version et prévoyez du temps pour ajuster le chunking. Pour une utilisation en production avec des données critiques, mieux vaut encore superviser l'assistant comme un stagiaire disposant d'un accès à la production.
- 8 nov. 2026OpenAI lance LifeVal, un benchmark où l’agent inscrit un enfant à la crèche et commande des courses
- 8 nov. 2026Un rédacteur a passé 30 interviews au crible de Claude : les citations sont exactes, mais le modèle ne prononce jamais le verdict « ne regardez pas »
- 8 nov. 2026Fireworks traite 40 000 milliards de tokens par jour sur des modèles personnalisés, deux fois plus que cet été
- 8 nov. 2026Modifier 10 % des mots fait chuter la détection du filigrane d’OpenAI de 92 % à 66 %
Questions clés sur cet article
De quoi s'agit-il et comment fonctionne-t-il ?
AnythingLLM est une application full-stack open source. Elle récupère les fichiers, les découpe en chunks, les vectorise, les stocke dans une base et ne fournit au modèle que les fragments pertinents. Les formats pris en charge sont nombreux : PDF, DOCX, TXT, pages web et audio via Whisper. Le principal piège pour les débutants tient aux deux méthodes permettant d'ajouter un document. Si vous « joignez » un fichier au chat, l'intégralité de son texte est injectée dans la fenêtre de contexte.
Que sait-on sur Application de bureau ou Docker ?
La version de bureau s'installe en un clic sur Mac, Windows et Linux. Tout s'exécute sur votre machine, et le modèle intégré propose trois variantes GGUF adaptées à votre matériel. C'est une bonne manière de déterminer en dix minutes si l'outil vous convient. Mais ce mode est limité à un seul utilisateur, et le moteur intégré commence à peiner avec une grande base documentaire.
Que sait-on sur Les points faibles ?
Le premier est la qualité du RAG. Il fonctionne dès l'installation, mais ses performances restent moyennes. Le résultat dépend de la taille des chunks, du modèle d'embeddings et du seuil de similarité ; les valeurs par défaut constituent un compromis, pas un réglage adapté à votre cas d'usage. Symptôme typique : le modèle répond à partir d'un paragraphe situé au milieu d'un PDF et ignore trois autres passages qui expriment la même chose avec des mots différents.
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
L'essentiel de l'IA — une fois par semaine
Sept actus qui ont vraiment compté, choisies à la main. Sans bruit ni communiqués.
C'est fait ! Vérifiez votre boîte mail pour la confirmation.