
En savoir plus · Rejoignez Discord
MEM0 (prononcé en tant que "MEM-Zero") améliore les assistants et les agents de l'IA avec une couche de mémoire intelligente, permettant des interactions AI personnalisées. MEM0 se souvient des préférences des utilisateurs, des adaptations aux besoins individuels et s'améliore en continu avec le temps, ce qui le rend idéal pour les chatbots de support client, les assistants d'IA et les systèmes autonomes.
Nouvelle fonctionnalité: introduction de la mémoire du graphique. Consultez notre documentation.
MEM0 exploite une approche de base de données hybride pour gérer et récupérer des souvenirs à long terme pour les agents et assistants de l'IA. Chaque mémoire est associée à un identifiant unique, tel qu'un ID utilisateur ou un identifiant d'agent, permettant à MEM0 d'organiser et d'accéder à des souvenirs spécifiques à un individu ou à un contexte.
Lorsqu'un message est ajouté à la méthode MEM0 en utilisant Add (), le système extrait des faits et des préférences pertinents et les stocke dans les magasins de données: une base de données vectorielle, une base de données de valeur clé et une base de données de graphiques. Cette approche hybride garantit que différents types d'informations sont stockés de la manière la plus efficace, ce qui rend les recherches ultérieures rapidement et efficaces.
Lorsqu'un agent AI ou LLM doit rappeler des souvenirs, il utilise la méthode Search (). MEM0 effectue ensuite la recherche dans ces magasins de données, récupérant des informations pertinentes à partir de chaque source. Ces informations sont ensuite passées par une couche de notation, qui évalue leur importance en fonction de la pertinence, de l'importance et de la récence. Cela garantit que seul le contexte le plus personnalisé et le plus utile est apparu.
Les souvenirs récupérés peuvent ensuite être annexés à l'invite du LLM au besoin, améliorant la personnalisation et la pertinence de ses réponses.
MEM0 autorise les organisations et les individus à améliorer:
Le moyen le plus simple de mettre en place MEM0 est via la plate-forme MEM0 gérée. Cette solution hébergée propose des mises à jour automatiques, des analyses avancées et un support dédié. Inscrivez-vous pour commencer.
Si vous préférez l'auto-hébergement, utilisez le package MEM0 open source. Suivez les instructions d'installation pour commencer.
Installez le package MEM0 via PIP:
pip install mem0aiAlternativement, vous pouvez utiliser MEM0 en un clic sur la plate-forme hébergée ici.
MEM0 nécessite un LLM pour fonctionner, avec gpt-4o d'OpenAI comme défaut. Cependant, il prend en charge une variété de LLMS; Pour plus de détails, reportez-vous à notre documentation LLMS prise en charge.
La première étape consiste à instancier la mémoire:
from mem0 import Memory
m = Memory () import os
os . environ [ "OPENAI_API_KEY" ] = "sk-xxx"Vous pouvez effectuer la tâche suivante sur la mémoire:
# 1. Add: Store a memory from any unstructured text
result = m . add ( "I am working on improving my tennis skills. Suggest some online courses." , user_id = "alice" , metadata = { "category" : "hobbies" })
# Created memory --> 'Improving her tennis skills.' and 'Looking for online suggestions.' # 2. Update: update the memory
result = m . update ( memory_id = < memory_id_1 > , data = "Likes to play tennis on weekends" )
# Updated memory --> 'Likes to play tennis on weekends.' and 'Looking for online suggestions.' # 3. Search: search related memories
related_memories = m . search ( query = "What are Alice's hobbies?" , user_id = "alice" )
# Retrieved memory --> 'Likes to play tennis on weekends' # 4. Get all memories
all_memories = m . get_all ()
memory_id = all_memories [ "memories" ][ 0 ] [ "id" ] # get a memory_id
# All memory items --> 'Likes to play tennis on weekends.' and 'Looking for online suggestions.' # 5. Get memory history for a particular memory_id
history = m . history ( memory_id = < memory_id_1 > )
# Logs corresponding to memory_id_1 --> {'prev_value': 'Working on improving tennis skills and interested in online courses for tennis.', 'new_value': 'Likes to play tennis on weekends' } Conseil
Si vous préférez une version hébergée sans avoir besoin de configurer vous-même une infrastructure, consultez la plate-forme MEM0 pour commencer en quelques minutes.
Pour initialiser la mémoire graphique, vous devrez configurer votre configuration avec des fournisseurs de magasins graphiques. Actuellement, nous prenons en charge Neo4j en tant que fournisseur de magasins graphiques. Vous pouvez configurer NEO4J localement ou utiliser le NEO4J AURADB hébergé. De plus, vous devez également définir la version sur v1.1 ( les versions antérieures ne sont pas prises en charge ). Voici comment vous pouvez le faire:
from mem0 import Memory
config = {
"graph_store" : {
"provider" : "neo4j" ,
"config" : {
"url" : "neo4j+s://xxx" ,
"username" : "neo4j" ,
"password" : "xxx"
}
},
"version" : "v1.1"
}
m = Memory . from_config ( config_dict = config )Pour des instructions d'utilisation détaillées et une référence API, visitez notre documentation sur docs.mem0.ai. Ici, vous pouvez trouver plus d'informations sur la version open source et la plate-forme MEM0 hébergée.
Rejoignez notre communauté pour le soutien et les discussions. Si vous avez des questions, n'hésitez pas à nous contacter en utilisant l'une des méthodes suivantes:
Rejoignez notre communauté Discord pour en savoir plus sur la gestion de la mémoire pour les agents d'IA et les LLM, et connectez-vous avec les utilisateurs et contributeurs MEM0. Partagez vos idées, questions ou commentaires dans nos problèmes de github.
Nous apprécions et apprécions les contributions de notre communauté. Un merci spécial à nos contributeurs de nous avoir aidés à améliorer MEM0.
Nous collectons des mesures d'utilisation anonymes pour améliorer la qualité et l'expérience utilisateur de notre package. Cela comprend des données comme la fréquence d'utilisation des fonctionnalités et les informations système, mais jamais les détails personnels. Les données nous aident à hiérarchiser les améliorations et à assurer la compatibilité. Si vous souhaitez vous retirer, définissez la variable d'environnement mem0_telemetry = false. Nous priorisons la sécurité des données et ne partageons pas ces données en externe.
Ce projet est concédé sous licence Apache 2.0 - voir le fichier de licence pour plus de détails.