
了解更多·加入Discord
MEM0(发音为“ MEM-Zero”)用智能存储层增强了AI助手和代理,从而实现了个性化的AI相互作用。 MEM0记住用户的偏好,适应个人需求,并且会随着时间的推移不断改善,非常适合客户支持聊天机器人,AI助手和自主系统。
新功能:引入图形内存。查看我们的文档。
MEM0利用混合数据库方法来管理和检索AI代理商和助手的长期记忆。每个内存都与唯一标识符(例如用户ID或代理ID)相关联,使MEM0可以组织和访问特定于个人或上下文的记忆。
当使用add()方法添加消息时,系统将提取相关的事实和偏好,并在数据存储中存储它:矢量数据库,键值数据库和图形数据库。这种混合方法可确保以最有效的方式存储不同类型的信息,从而快速有效地进行搜索。
当AI代理或LLM需要回忆记忆时,它使用搜索()方法。然后,MEM0在这些数据存储中执行搜索,从每个来源检索相关信息。然后通过一个评分层传递该信息,该评分层根据相关性,重要性和新近度评估其重要性。这样可以确保只有最具个性和有用的上下文才浮出水面。
然后,可以根据需要将检索到的记忆附加到LLM的提示中,从而增强其响应的个性化和相关性。
MEM0赋予组织和个人增强:
设置MEM0的最简单方法是通过托管的MEM0平台。该托管解决方案提供自动更新,高级分析和专用支持。注册以开始。
如果您喜欢自助主机,请使用开源MEM0软件包。按照安装说明开始。
通过PIP安装MEM0软件包:
pip install mem0ai另外,您可以在此处的托管平台上单击一键使用MEM0。
MEM0需要LLM才能发挥作用,而gpt-4o的OpenAI为默认值。但是,它支持各种LLM;有关详细信息,请参阅我们支持的LLMS文档。
第一步是实例化内存:
from mem0 import Memory
m = Memory () import os
os . environ [ "OPENAI_API_KEY" ] = "sk-xxx"您可以在内存上执行以下任务:
# 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' } 提示
如果您不需要自己设置基础架构而不需要托管版本,请查看MEM0平台以在几分钟内开始。
要初始化图形存储器,您需要使用图表存储提供程序来设置配置。目前,我们支持Neo4J作为图表提供商。您可以在本地设置NEO4J或使用托管的Neo4J AuradB。此外,您还需要将版本设置为v1.1 (不支持先验版本)。您可以做到这一点:
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 )有关详细的用法说明和API参考,请访问我们的文档docs.mem0.ai。在这里,您可以在开源版本和托管的MEM0平台上找到更多信息。
加入我们的社区进行支持和讨论。如果您有任何疑问,请随时使用以下方法之一与我们联系:
加入我们的Discord社区,了解针对AI代理和LLM的内存管理,并与MEM0用户和贡献者建立联系。在我们的GitHub问题中分享您的想法,问题或反馈。
我们重视和欣赏社区的贡献。特别感谢我们的贡献者帮助我们改善MEM0。
我们收集匿名用法指标,以增强包装的质量和用户体验。这包括功能使用频率和系统信息之类的数据,但从未个人详细信息。数据有助于我们确定改进的优先级并确保兼容性。如果您想选择退出,请设置环境变量mem0_telemetry = false。我们优先考虑数据安全性,并且不会外部共享此数据。
该项目已在Apache 2.0许可下获得许可 - 有关详细信息,请参见许可证文件。