À partir du moment où un agent LLM local manque de contexte, la conversation cesse d’avoir du sens. Le huitième tour tente de référencer un fichier que le modèle a déjà supprimé de sa fenêtre, la sortie d’appel d’outil consomme 6000 tokens sur une étape banale, et la réponse suivante est une excuse au lieu d’un plan. Amener un modèle 7B ou 13B s’exécutant à la maison pour accomplir une tâche sur cinquante étapes porte moins sur la taille du modèle et plus sur ce qui entre et sort de la fenêtre.
Nous avons testé sept applications et bibliothèques qui gèrent le contexte autour des LLM locaux. Certaines sont des magasins de mémoire qui persistent entre les sessions, certaines sont des moteurs de prompt qui résument avant le débordement, et l’une est le serveur Ollama lui-même avec les paramètres corrects. Ci-dessous se trouve ce qui a vraiment maintenu notre agent de test concentré pendant une session de codage de 90 minutes avec un modèle 13B.
Ce qu’il faut rechercher dans un gestionnaire de contexte
- Résumé automatique. L’outil doit remarquer quand la fenêtre approche de la capacité et résumer les tours plus anciens sans perdre l’intention.
- Récupération plutôt qu’un historique qui s’étend. Un fichier, un document ou un chat passé référencé par incorporation coûte moins cher que le même contenu réintégré dans le prompt.
- Mémoire persistante entre les sessions. L’agent doit se souvenir de ce que vous lui avez dit il y a deux jours sur votre projet sans avoir besoin de le répéter.
- Discipline des tokens d’appel d’outil. Les grandes sorties d’outil (résultats grep, réponses HTTP) doivent être coupées ou référencées par poignée plutôt que branchées brutes au tour suivant.
- Ollama-native ou compatible OpenAI. L’outil doit parler le même protocole que votre runtime local.
- Mode local uniquement. Rien concernant la gestion du contexte ne devrait nécessiter d’appeler un service cloud.
Comparaison rapide
| Application | Meilleur pour | Licence | Plan gratuit | Prix de départ | Évaluation |
|---|---|---|---|---|---|
| LangChain | Cadre complet pour l’orchestration du contexte | MIT | Gratuit | Gratuit | 4.5 |
| LlamaIndex | Agents prioritaires de récupération | MIT | Gratuit | Gratuit | 4.6 |
| Mem0 | Magasin de mémoire à long terme | Apache 2.0 | Auto-hébergé gratuit | Environ $19/mois hébergé | 4.5 |
| Chroma | Base de données vectorielle intégrée | Apache 2.0 | Gratuit | Gratuit | 4.5 |
| Continue | Agent VS Code avec règles de contexte | Apache 2.0 | Gratuit | Gratuit | 4.6 |
| Open WebUI | Chat UI avec pipelines de documents et de mémoire | BSD-3 | Gratuit | Gratuit | 4.7 |
| Ollama | Runtime avec paramètres de contexte par modèle | MIT | Gratuit | Gratuit | 4.7 |
Les applications
1. LangChain — Meilleur cadre complet pour l’orchestration du contexte
LangChain est le cadre vers lequel la plupart des projets LLM locaux se tournent au moment où la gestion du contexte devient un vrai problème. Les buffers de conversation avec des limites de tokens, les chaînes de résumé automatique, les magasins d’historique de messages et une API de mémoire qui se branche sur n’importe quel protocole LLM sont tous des primitives de première classe.
Pour un agent qui exécute de nombreux tours avec des outils, ConversationTokenBufferMemory combiné avec une chaîne MapReduceSummarize empêche la fenêtre d’exploser. Il s’intègre proprement avec les serveurs Ollama et llama.cpp.
Où il faille court : La surface de l’API est énorme, et le chemin le plus rapide n’est pas toujours évident. Les versions hebdomadaires cassent parfois des imports mineurs. Déboguer une longue chaîne nécessite l’interface LangSmith ou un logging attentif.
Tarification :
- Gratuit : Bibliothèque complète, licence MIT
- Payant : Niveau de traçage cloud LangSmith à partir d’environ $39/utilisateur/mois
Plateformes : Python, JavaScript sur Windows, macOS, Linux
Télécharger : LangChain
En résumé : Choisissez ceci quand l’agent a besoin de nombreuses primitives (mémoire, récupération, routage d’outil) au même endroit.
2. LlamaIndex — Meilleurs agents prioritaires de récupération
LlamaIndex traite le contexte comme un problème de requête. Plutôt que de coller un document entier dans un prompt, il indexe le document avec des incorporations et extrait uniquement les paragraphes dont le modèle a besoin ce tour. Le résultat est une fenêtre de travail beaucoup plus petite et une mémoire effective beaucoup plus longue.
La bibliothèque est livrée avec des connecteurs pour les PDF, Markdown, les référentiels de code, Notion et les bases de données. Sa primitive ChatEngine maintient l’état de la conversation tout en récupérant les chunks pertinents par tour.
Où il faille court : La conception basée sur la récupération suppose que vous avez des documents à indexer. Pour un agent de chat pur sans corpus externe, c’est plus de configuration que les buffers de mémoire simples.
Tarification :
- Gratuit : Licence MIT
- Payant : Hébergement géré LlamaCloud à partir d’environ $50/mois
Plateformes : Python, TypeScript sur Windows, macOS, Linux
Télécharger : LlamaIndex
En résumé : Le bon choix quand le travail de l’agent consiste à raisonner sur les documents plutôt qu’une conversation qui roule.
3. Mem0 — Meilleur magasin de mémoire à long terme
Mem0 (anciennement Embedchain) est un service de mémoire conçu pour donner à un agent la capacité de se souvenir entre les sessions. Il ingère les conversations, extrait les faits durables, les indexe et injecte automatiquement les pertinents dans le prochain prompt. Le résultat est un agent qui “se souvient” de la structure de votre projet, du style de codage ou de la tâche en cours sans que l’utilisateur la rejoue.
Le mode auto-hébergé s’exécute contre un Postgres local ou SQLite et lit et écrit via un client Python. Un niveau hébergé existe pour les équipes qui ne veulent pas gérer l’infrastructure.
Où il faille court : La qualité de l’extraction de mémoire dépend du modèle. Un modèle 7B produit des mémoires plus bruyantes qu’un modèle 13B ou un modèle frontier hébergé. Certains ajustements du prompt d’extraction sont souvent nécessaires.
Tarification :
- Gratuit : Auto-hébergé Apache 2.0
- Payant : Hébergé à partir d’environ $19/mois pour les individus, plus élevé pour les équipes
Plateformes : Client Python sur Windows, macOS, Linux ; API hébergée
Télécharger : Mem0
En résumé : Le choix évident quand vous voulez que l’agent se souvienne de votre projet entre les redémarrages.
4. Chroma — Meilleure base de données vectorielle intégrée
Chroma est une petite base de données vectorielle intégrée qui s’exécute dans le processus avec une application Python ou JavaScript. Incorporez un chunk avec le modèle de votre choix, insérez-le dans une collection Chroma et interrogez par similitude cosinus pour l’extraire plus tard. Pas de serveur, pas de cluster, pas d’opérations.
Pour la gestion du contexte LLM local, Chroma est la couche de stockage sous la plupart des modèles de récupération dans LangChain et LlamaIndex. Il s’exécute également comme un serveur léger pour les cas où plusieurs processus partagent le même magasin.
Où il faille court : Pas un cadre de mémoire complet. Vous câblez la logique de récupération vous-même. La latence des requêtes sur très grandes collections (millions de chunks) traîne Qdrant et Milvus.
Tarification :
- Gratuit : Apache 2.0
- Payant : Chroma Cloud bêta disponible pour les équipes
Plateformes : Python, JavaScript, en processus sur Windows, macOS, Linux
Télécharger : Chroma
En résumé : Le bon choix quand vous avez juste besoin d’un endroit pour stocker les incorporations sans démarrer un serveur.
5. Continue — Meilleur agent VS Code avec règles de contexte
Continue est l’extension VS Code (et JetBrains) open-source qui transforme une instance Ollama ou llama.cpp locale en agent de codage à l’intérieur de l’éditeur. Son config.yaml définit des règles de contexte par projet : quels fichiers inclure automatiquement, lesquels résumer et lesquels ignorer.
La palette de commandes @ extrait le contexte spécifique par nom : @file pour le fichier actuel, @codebase pour une recherche sémantique dans le repo, @docs pour la documentation externe. Chaque référence @ est une injection de contexte contrôlée plutôt qu’une pâte.
Où il faille court : La configuration est lourde en YAML et prend une session pour ajuster. Certaines configurations de récupération sont trop biaisées vers les petits fichiers.
Tarification :
- Gratuit : Apache 2.0
- Payant : Fonctionnalités de Hub (assistants partagés, hubs privés) à partir d’environ $10/utilisateur/mois
Plateformes : VS Code, JetBrains, Windows, macOS, Linux
Télécharger : Continue
En résumé : Le bon choix quand l’agent vit dans votre éditeur et a besoin de la bonne tranche du repo, pas du tout l’arbre.
6. Open WebUI — Meilleur chat UI avec pipelines de documents et de mémoire
Open WebUI est le front-end style ChatGPT pour les modèles locaux avec deux fonctionnalités qui résoudent directement les problèmes de contexte : les pipelines RAG de documents et la mémoire par utilisateur. Téléchargez un PDF ou collez une URL, et Open WebUI fractionne, incorpore et récupère pendant le chat. Le panneau de mémoire permet à l’utilisateur de sauvegarder des notes durables que le modèle consulte à chaque tour.
La fonctionnalité Pipelines vous permet d’échanger des filtres personnalisés (résumé, rédaction, routage d’outil) qui s’exécutent avant ou après l’appel du modèle. Les utilisateurs avancés écrivent leur propre pipeline en Python et le mettent dans le dossier des plugins.
Où il faille court : Pas sans tête. Chaque chemin d’agent se termine dans une fenêtre de chat. Les flux de travail axés sur l’automatisation utilisent Continue ou LangChain à la place.
Tarification :
- Gratuit : BSD-3
- Payant : Aucun ; support entreprise disponible
Plateformes : Docker, Kubernetes, Python sur Windows, macOS, Linux
Télécharger : Open WebUI
En résumé : Choisissez ceci quand une personne discute et que le problème “manquer de contexte” est vraiment un problème “pièces jointes et mémoire”.
7. Ollama — Meilleur runtime avec paramètres de contexte par modèle
Ollama est le runtime du modèle local dont presque tout autre outil de cette page parle. L’histoire de la gestion du contexte ici n’est pas un cadre mais deux indicateurs : num_ctx dans le fichier modèle pour augmenter la taille de la fenêtre, et le paramètre keep_alive pour tenir le cache KV en RAM entre les appels.
Augmenter num_ctx du défaut 4096 à 32768 sur un modèle 13B résout tranquillement la plupart des rapports “agence oublie” avant que quiconque ne touche LangChain. Le compromis est l’empreinte mémoire et le débit par token.
Où il faille court : Pas de mémoire, pas de récupération, pas de résumé. Cela ne tient que ce que vous envoyez au prompt.
Tarification :
- Gratuit : MIT
- Payant : Aucun
Plateformes : Windows, macOS, Linux, ARM64
Télécharger : Ollama
En résumé : Définissez num_ctx en premier. Ensuite, atteignez les cadres ci-dessus. Dans cet ordre.
Comment choisir le bon
- Si vous frappez un mur dur à 4096 tokens : Ollama. Changez
num_ctxavant de réécrire votre application. - Si vous voulez un cadre qui couvre mémoire, récupération et routage d’outil : LangChain.
- Si l’agent répond à des questions sur les documents : LlamaIndex.
- Si l’agent a besoin de se souvenir de ce qui s’est passé la semaine dernière : Mem0.
- Si vous exécutez déjà LangChain et avez juste besoin d’un endroit pour mettre les incorporations : Chroma.
- Si l’agent vit dans VS Code : Continue.
- Si une personne discute et a besoin de téléchargements plus mémoire : Open WebUI.
Foire aux questions
Pourquoi mon agent LLM local oublie-t-il les choses au milieu d’une tâche ?
Chaque modèle a une limite de token dure pour la fenêtre du prompt. Quand la conversation, la sortie de l’outil et les instructions dépassent cette limite, le runtime abandonne silencieusement les tokens antérieurs. L’agent génère toujours, mais avec une vue tronquée de la tâche. Augmentez num_ctx sur le modèle et ajoutez un résumé qui plie les tours plus anciens en un historique comprimé.
Quelle est la différence entre la gestion du contexte et la mémoire ?
La gestion du contexte est ce qui rentre dans la fenêtre du prompt actuelle (généralement courte durée). La mémoire est ce qui persiste entre les prompts, les sessions et les redémarrages (longue durée). Mem0 et Open WebUI couvrent la mémoire ; LangChain, LlamaIndex et Continue se concentrent sur le contexte.
Combien de contexte un LLM local peut-il gérer ?
Cela dépend du modèle et de votre budget RAM. Llama 3.1 8B supporte 128K tokens si le runtime l’honore. En pratique, 32K à 64K maintient une latence raisonnable sur le matériel grand public. Les très longs contextes augmentent également la perplexité, donc l’élagage est souvent mieux que de remplissage.
Ces outils fonctionnent-ils avec LM Studio et llama.cpp ?
LangChain, LlamaIndex, Continue et Open WebUI parlent tous l’API compatible OpenAI que les serveurs LM Studio et llama.cpp exposent. Mem0 et Chroma sont des couches de stockage et fonctionnent avec n’importe quel fournisseur vers lequel vous les pointez.
Mem0 est-il open-source ?
Oui. La bibliothèque principale de Mem0 est Apache 2.0 et auto-hébergée. Le niveau hébergé payant est une couche de commodité, pas une couche de contrôle pour l’OSS.
Puis-je utiliser ceci sur Apple Silicon ?
Les sept choix fonctionnent nativement sur Apple Silicon. Ollama, Continue et Open WebUI ont des builds ARM64 de première classe. LangChain, LlamaIndex, Mem0 et Chroma sont des bibliothèques Python ou Node et fonctionnent partout où Python ou Node s’exécute.