革命性的AI记忆技术

Mem0通过智能记忆层,让AI助手拥有持久记忆能力,实现真正的个性化交互体验

🧠

多级记忆系统

无缝保持用户、会话和代理状态,提供自适应个性化体验,让AI真正理解用户需求。

卓越性能表现

比OpenAI Memory准确度高26%,响应速度快91%,token使用减少90%,显著降低成本。

🔧

开发者友好

直观的API设计,跨平台SDK支持,完全托管服务选项,几分钟内即可集成。

🔗

广泛兼容性

支持OpenAI、LangGraph、CrewAI等主流框架,Python和JavaScript双语言支持。

🏥

多场景应用

适用于客户支持、医疗保健、教育培训、生产力工具等多个领域的AI应用。

🔒

企业级安全

SOC 2和HIPAA合规,支持本地部署、私有云和Kubernetes,确保数据安全。

技术架构与生态

基于Python生态构建,支持多种LLM和向量数据库,提供灵活的部署选项

🐍 核心技术栈

Python 3.9+ Pydantic SQLAlchemy OpenAI SDK

🤖 支持的LLM

OpenAI GPT Groq Together AI Ollama Google Gemini Vertex AI

🗄️ 向量数据库

Qdrant ChromaDB Weaviate Pinecone FAISS Azure Search

🔗 框架集成

LangGraph CrewAI LangChain AutoGen

快速开始

选择适合你的安装方式,几分钟内即可为你的AI应用添加记忆能力

1. 安装Mem0

bash
pip install mem0ai

2. 基础使用示例

python
from openai import OpenAI
from mem0 import Memory

# 初始化
openai_client = OpenAI()
memory = Memory()

def chat_with_memories(message: str, user_id: str = "default_user") -> str:
    # 检索相关记忆
    relevant_memories = memory.search(query=message, user_id=user_id, limit=3)
    memories_str = "\n".join(f"- {entry['memory']}" for entry in relevant_memories["results"])

    # 生成回复
    system_prompt = f"基于用户记忆回答问题。\n用户记忆:\n{memories_str}"
    messages = [{"role": "system", "content": system_prompt}, {"role": "user", "content": message}]
    response = openai_client.chat.completions.create(model="gpt-4o-mini", messages=messages)
    assistant_response = response.choices[0].message.content

    # 创建新记忆
    messages.append({"role": "assistant", "content": assistant_response})
    memory.add(messages, user_id=user_id)

    return assistant_response

1. 安装Mem0

bash
npm install mem0ai

2. JavaScript使用示例

javascript
import { Memory } from 'mem0ai';

const memory = new Memory();

async function chatWithMemories(message, userId = 'default_user') {
    // 检索相关记忆
    const relevantMemories = await memory.search({
        query: message,
        user_id: userId,
        limit: 3
    });

    // 处理记忆并生成回复
    const memoriesStr = relevantMemories.results
        .map(entry => `- ${entry.memory}`)
        .join('\n');

    // 添加新记忆
    await memory.add([
        { role: 'user', content: message },
        { role: 'assistant', content: response }
    ], userId);

    return response;
}

1. 注册Mem0平台

访问 Mem0平台 注册账户,获取API密钥

2. 配置API密钥

python
import os
from mem0 import Memory

# 设置API密钥
os.environ['MEM0_API_KEY'] = 'your-api-key-here'

# 使用托管服务
memory = Memory.from_config({
    "provider": "mem0",
    "config": {
        "api_key": os.environ['MEM0_API_KEY']
    }
})

核心架构深度解析

深入了解Mem0的内部工作机制和技术实现

🧠

记忆提取引擎

使用先进的LLM技术从对话中智能提取关键事实,支持多种记忆类型:个人偏好、重要细节、计划意图等。

事实提取:自动识别并提取对话中的关键信息
记忆分类:支持程序性记忆、语义记忆、情节记忆
智能过滤:过滤无关信息,只保留有价值的记忆
🔍

向量化存储系统

采用高维向量空间存储记忆,支持语义相似性搜索,实现快速准确的记忆检索。

多向量库支持:Qdrant、ChromaDB、Pinecone等
嵌入模型:OpenAI、HuggingFace、本地模型
相似性搜索:基于余弦相似度的高效检索
🔗

图数据库集成

可选的图数据库支持,建立记忆之间的关联关系,实现更复杂的记忆网络。

关系建模:实体间的复杂关系映射
图数据库:Neo4j、Neptune、Memgraph
路径查询:支持多跳关系查询

会话管理系统

多级会话标识符支持,灵活的元数据管理,确保记忆的正确归属和高效检索。

多级标识:user_id、agent_id、run_id
元数据管理:丰富的上下文信息存储
过滤机制:精确的记忆范围控制

高级配置与定制

深度定制Mem0以满足特定需求

🎛️ 记忆配置选项

python
from mem0 import Memory

# 高级配置示例
config = {
    "llm": {
        "provider": "openai",
        "config": {
            "model": "gpt-4o-mini",
            "temperature": 0.1,
            "max_tokens": 1500,
            "enable_vision": True,  # 支持图像记忆
            "vision_details": "high"
        }
    },
    "embedder": {
        "provider": "openai",
        "config": {
            "model": "text-embedding-3-large",
            "embedding_dims": 3072
        }
    },
    "vector_store": {
        "provider": "qdrant",
        "config": {
            "collection_name": "mem0_collection",
            "host": "localhost",
            "port": 6333,
            "embedding_model_dims": 3072
        }
    },
    "graph_store": {
        "provider": "neo4j",
        "config": {
            "url": "bolt://localhost:7687",
            "username": "neo4j",
            "password": "password"
        }
    }
}

memory = Memory.from_config(config)

🔧 自定义记忆提取

python
# 自定义提取提示词
custom_prompt = """
你是一个专业的记忆提取器,专门从医疗对话中提取关键信息。
重点关注:
1. 症状描述和持续时间
2. 过敏史和药物反应
3. 家族病史
4. 生活习惯和偏好
5. 治疗计划和预约

从以下对话中提取相关医疗信息:
"""

# 使用自定义提示词
result = memory.add(
    messages=[
        {"role": "user", "content": "我对青霉素过敏,最近头痛持续一周了"},
        {"role": "assistant", "content": "我会记住您的过敏史,建议您预约神经科检查"}
    ],
    user_id="patient_001",
    prompt=custom_prompt,
    metadata={"type": "medical_consultation", "department": "neurology"}
)

📊 记忆分析与管理

python
# 获取用户所有记忆
all_memories = memory.get_all(user_id="user_123")

# 更新特定记忆
memory.update(
    memory_id="mem_456",
    data="用户偏好素食,不吃乳制品"
)

# 删除过期记忆
memory.delete(memory_id="mem_789")

# 搜索特定类型记忆
health_memories = memory.search(
    query="健康相关",
    user_id="user_123",
    filters={"type": "health_info"},
    limit=10
)

# 记忆历史版本管理
memory.history(memory_id="mem_456")

应用场景与实战案例

Mem0在各个行业和领域的深度应用

🏥

智能医疗助手

为医疗机构提供患者记忆管理,跟踪症状、过敏史、治疗偏好,实现个性化医疗服务。

患者档案管理 症状跟踪 药物过敏记录 治疗历史
实际应用:Sunflower Sober使用Mem0为80,000+用户提供个性化康复支持
🎓

个性化教育平台

记录学生学习进度、知识掌握情况、学习偏好,提供自适应学习体验。

学习轨迹 知识图谱 个性化推荐 进度评估
实际应用:RevisionDojo和Opennote使用Mem0实现真正的个性化辅导
🤖

智能浏览器自动化

为浏览器自动化工具提供记忆能力,记住用户操作模式和偏好设置。

操作记忆 任务优化 成本降低 效率提升
实际应用:BrowserUse实现98%任务完成率和41%成本降低
💬

企业客服系统

构建具有记忆能力的客服机器人,记住客户历史问题、偏好和解决方案。

客户档案 问题历史 解决方案库 满意度跟踪
技术优势:减少重复询问,提供一致性服务体验
🛒

电商推荐引擎

记录用户购买行为、浏览偏好、评价反馈,提供精准的商品推荐。

购买历史 偏好分析 行为预测 个性化推荐
业务价值:提高转化率,增强用户粘性,优化库存管理
🏢

企业知识管理

为企业AI助手提供组织记忆,记录会议内容、决策过程、项目进展。

会议记录 决策追踪 项目管理 知识传承
企业价值:提高协作效率,避免信息孤岛,加速决策过程

API文档与集成指南

完整的API参考和集成示例

🔧 核心API方法

memory.add() POST

添加新的记忆到系统中,支持自动事实提取和记忆推理

参数:

  • messages - 消息内容(字符串或消息列表)
  • user_id - 用户标识符(可选)
  • agent_id - 代理标识符(可选)
  • run_id - 运行标识符(可选)
  • metadata - 元数据字典(可选)
  • infer - 是否启用智能推理(默认True)
memory.search() GET

基于语义相似性搜索相关记忆

参数:

  • query - 搜索查询字符串
  • user_id - 用户标识符(可选)
  • limit - 返回结果数量限制(默认100)
  • filters - 过滤条件字典(可选)
  • threshold - 相似度阈值(可选)
memory.get_all() GET

获取指定用户的所有记忆

参数:

  • user_id - 用户标识符(可选)
  • agent_id - 代理标识符(可选)
  • run_id - 运行标识符(可选)
  • limit - 返回结果数量限制(可选)
memory.update() PUT

更新现有记忆内容

参数:

  • memory_id - 记忆唯一标识符
  • data - 新的记忆内容
memory.delete() DELETE

删除指定记忆

参数:

  • memory_id - 记忆唯一标识符

🔗 框架集成示例

LangGraph集成

python
from langgraph.graph import StateGraph
from mem0 import Memory

memory = Memory()

def memory_node(state):
    # 检索相关记忆
    memories = memory.search(
        query=state["query"],
        user_id=state["user_id"],
        limit=5
    )

    # 将记忆添加到状态
    state["memories"] = memories
    return state

def response_node(state):
    # 基于记忆生成回复
    context = "\n".join([m["memory"] for m in state["memories"]])
    # ... 生成回复逻辑
    return state

# 构建图
graph = StateGraph()
graph.add_node("memory", memory_node)
graph.add_node("response", response_node)
graph.add_edge("memory", "response")

CrewAI集成

python
from crewai import Agent, Task, Crew
from mem0 import Memory

memory = Memory()

# 创建具有记忆能力的代理
agent = Agent(
    role="Personal Assistant",
    goal="帮助用户管理日常任务",
    backstory="我是一个具有记忆能力的个人助手",
    tools=[
        # 自定义记忆工具
        lambda query: memory.search(query, user_id="user_123"),
        lambda data: memory.add(data, user_id="user_123")
    ]
)

task = Task(
    description="根据用户历史偏好推荐餐厅",
    agent=agent
)

crew = Crew(agents=[agent], tasks=[task])

AutoGen集成

python
import autogen
from mem0 import Memory

memory = Memory()

class MemoryAgent(autogen.ConversableAgent):
    def __init__(self, name, **kwargs):
        super().__init__(name, **kwargs)
        self.memory = memory

    def generate_reply(self, messages, sender, **kwargs):
        # 检索相关记忆
        last_message = messages[-1]["content"]
        memories = self.memory.search(
            query=last_message,
            user_id=sender.name,
            limit=3
        )

        # 将记忆添加到上下文
        context = f"相关记忆: {memories}"
        enhanced_messages = messages + [{"role": "system", "content": context}]

        # 生成回复
        reply = super().generate_reply(enhanced_messages, sender, **kwargs)

        # 存储新记忆
        self.memory.add(
            [{"role": "user", "content": last_message},
             {"role": "assistant", "content": reply}],
            user_id=sender.name
        )

        return reply

性能优化与最佳实践

充分发挥Mem0的性能潜力

性能优化策略

  • 批量操作:使用批量添加减少API调用次数
  • 缓存策略:本地缓存频繁访问的记忆
  • 索引优化:合理设置向量数据库索引
  • 并发控制:使用连接池管理数据库连接
  • 内存管理:定期清理过期和无用记忆
🔒

安全与隐私

  • 数据加密:敏感记忆内容加密存储
  • 访问控制:基于角色的记忆访问权限
  • 数据脱敏:自动识别并脱敏敏感信息
  • 审计日志:记录所有记忆操作日志
  • 合规性:支持GDPR、HIPAA等合规要求
📊

监控与分析

  • 性能指标:监控响应时间、吞吐量
  • 记忆质量:评估记忆提取准确性
  • 使用统计:分析记忆访问模式
  • 错误追踪:记录和分析系统错误
  • 容量规划:预测存储和计算需求
🚀

扩展性设计

  • 水平扩展:支持多实例部署
  • 负载均衡:智能分发请求负载
  • 分片策略:大规模数据分片存储
  • 异步处理:后台异步处理重型任务
  • 弹性伸缩:根据负载自动调整资源

📈 性能基准测试

26%
准确度提升
相比OpenAI Memory
91%
响应速度提升
相比全上下文方式
90%
Token使用减少
显著降低成本
50K+
开发者用户
活跃社区支持

社区与支持

加入活跃的Mem0社区,获取支持和分享经验

📚

官方文档

完整的API文档、教程和最佳实践指南

访问文档
💬

Discord社区

与开发者交流,获取实时支持和技术讨论

加入Discord
🐙

GitHub仓库

查看源码、提交问题、贡献代码

访问GitHub
🎥

视频教程

观看详细的使用教程和案例分析

观看视频
📧

企业支持

获取专业的企业级技术支持和咨询服务

联系支持
🚀

托管平台

使用Mem0云平台,无需自建基础设施

立即体验
36.2K+
GitHub Stars
50K+
开发者用户
1M+
API调用/月
99.9%
服务可用性