Letta and Zilliz Cloud Integration
Letta (previously MemGPT) and Zilliz Cloud integrate to build stateful LLM agents with extended context windows, combining Letta's agent framework for managing hierarchical memory tiers with Zilliz Cloud's high-performance vector database for scalable archival memory storage and RAG retrieval.
Utilisez cette intégration gratuitementQu’est-ce que Letta
Letta (anciennement MemGPT) facilite la création et le déploiement d’agents LLM avec état. Il utilise une technique inspirée des systèmes de mémoire hiérarchique des systèmes d’exploitation traditionnels, appelée gestion du contexte virtuel, pour fournir un contexte étendu dans la fenêtre de contexte limitée d’un LLM en gérant intelligemment différents niveaux de stockage. Letta permet de créer des agents avec des connexions à des sources de données externes pour le RAG, l’agent résidant sur un serveur et étant accessible via une API REST, tout en conservant les interactions et les requêtes dans une base de données avec état.
En s’intégrant à Zilliz Cloud (Milvus entièrement géré), Letta accède à une base de données vectorielle évolutive pour le stockage de la mémoire d’archivage, permettant aux agents de stocker et de récupérer efficacement des sources de données externes à grande échelle tout en réduisant considérablement la consommation de tokens par rapport au fait de placer tout l’historique de conversation dans le prompt.
Avantages de l’intégration Letta + Zilliz Cloud
- Fenêtre de contexte LLM étendue : La gestion du contexte virtuel de Letta surmonte les limites de la fenêtre de contexte des LLM en utilisant Zilliz Cloud comme niveau de mémoire d’archivage, permettant aux agents d’accéder à de vastes bases de connaissances sans dépasser les limites de tokens.
- Consommation de tokens réduite : L’utilisation de Zilliz Cloud pour gérer la mémoire des agents réduit considérablement la consommation de tokens par rapport à l’inclusion de l’intégralité de l’historique de conversation dans le prompt, rendant les agents plus rentables.
- Mémoire d’agent avec état : Letta maintient l’état de l’agent à travers les interactions, Zilliz Cloud fournissant un stockage persistant et évolutif pour la couche de mémoire d’archivage qui persiste même après la fermeture du système.
- Agents alimentés par RAG : L’intégration permet de créer des agents capables de se connecter à des sources de données externes, avec des documents chargés dans le magasin vectoriel de Zilliz Cloud et récupérés via une recherche par similarité lorsque l’agent a besoin de contexte.
Fonctionnement de l’intégration
Letta sert de framework d’agent, fournissant à l’agent LLM avec état une gestion hiérarchique de la mémoire (mémoire centrale, mémoire de rappel et mémoire d’archive), l’orchestration des conversations et l’accès à l’API REST. Il gère la création d’agents, la gestion des personas et l’appel intelligent de fonctions pour rechercher dans la mémoire d’archive lorsque nécessaire.
Zilliz Cloud sert de backend de mémoire d’archive, stockant et indexant les embeddings de documents chargés depuis des sources de données externes. Lorsque l’agent doit rechercher dans sa mémoire d’archive, Zilliz Cloud fournit une recherche rapide par similarité afin de récupérer les passages les plus pertinents.
Ensemble, Letta et Zilliz Cloud créent des agents intelligents avec état : les documents externes sont chargés et transformés en embeddings dans Zilliz Cloud comme mémoire d’archive de l’agent. Pendant les conversations, l’agent décide intelligemment quand rechercher dans cette mémoire d’archive, Zilliz Cloud récupère le contexte le plus pertinent, et l’agent génère des réponses éclairées — tout en maintenant l’état de la conversation et en gérant efficacement l’utilisation des tokens.
Guide étape par étape
1. Installer les dépendances
Assurez-vous que la version de Python est >= 3.10. Installez les dépendances requises avec la prise en charge du backend Milvus :
$ pip install 'pymemgpt[milvus]'2. Configurer Milvus comme backend de stockage d’archivage
Configurez la connexion Milvus via la commande :
$ memgpt configure... ? Select storage backend for archival data: milvus ? Enter the Milvus connection URI (Default: ~/.memgpt/milvus.db): ~/.memgpt/milvus.dbVous venez de définir l’URI sur le chemin de fichier local, par ex.
~/.memgpt/milvus.db, ce qui invoquera automatiquement l’instance locale du service Milvus via Milvus Lite. Si vous avez un grand volume de données, comme plus d’un million de documents, nous recommandons de configurer un serveur Milvus plus performant sur Docker ou Kubernetes. Dans ce cas, votre URI doit être l’URI du serveur, par ex.http://localhost:19530.3. Créer une source de données externe
Téléchargez un document et créez une source de données à l’aide de
memgpt load:# Download the MemGPT research paper $ curl -L -o memgpt_research_paper.pdf https://arxiv.org/pdf/2310.08560.pdf # Load it as a data source $ memgpt load directory --name memgpt_research_paper --input-files=memgpt_research_paper.pdfLoading files: 100%|███████████████████████████████████| 1/1 [00:00<00:00, 3.94file/s] Loaded 74 passages and 13 documents from memgpt_research_paper4. Créer un agent et attacher la source de données
Créez un nouveau chatbot et attachez la source de données à sa mémoire d’archivage :
$ memgpt run --persona memgpt_docUne fois en conversation avec l’agent, attachez la source de données :
? Would you like to select an existing agent? No 🧬 Creating new agent... -> 🤖 Using persona profile: 'sam_pov' -> 🧑 Using human profile: 'basic' 🎉 Created new agent 'PoliteButterfly' Hit enter to begin (will request first MemGPT message) 💭 Interesting, I've got a first-time user. Time to present myself and get to understand the user's needs. 🤖 Greetings Chad! I'm MemGPT. How may I assist you today? > Enter your message: /attach ? Select data source memgpt_research_paper 100%|███████████████████████████████████| 1/1 [00:00<00:00, 4.81it/s]5. Discuter avec vos documents
Maintenant que les données ont été chargées dans la mémoire d’archivage de l’agent, posez des questions à leur sujet :
> Enter your message: The paper I loaded into your archival memory is called MemGPT. Can you tell me more about it? 💭 It seems Chad would like to know more about the paper titled 'MemGPT' that's stored in my archival memory. ⚡🧠 [function] searching memory with archival_memory_search 💭 Based on the found results, MemGPT is an AI system designed for tasks like extended conversations and document analysis. 🤖 Certainly, Chad. MemGPT, or MemoryGPT, is a system specially designed for tasks like extended conversations and document analysis which are traditionally hindered by the limited context windows of modern Large Language Models (LLMs). It uses a technique inspired by hierarchical memory systems in traditional operating systems, called virtual context management.En savoir plus
- MemGPT avec intégration Milvus — Tutoriel officiel de Milvus pour l’intégration de MemGPT
- Introduction à MemGPT et à son intégration avec Milvus — Blog de Zilliz sur l’intégration de MemGPT et Milvus
- Documentation Letta — Documentation officielle de Letta
- Dépôt GitHub Letta — Code source de Letta et ressources communautaires
- Article de recherche MemGPT — Article de recherche original sur MemGPT


