Mem0记忆层集成Skill mem0-integration

Mem0记忆层集成技能专注于为AI智能体(如聊天机器人、对话系统)构建持久化、语义化的记忆管理系统。该技能实现长期上下文保留、用户个性化记忆存储与检索,支持向量数据库语义搜索、多类型记忆分类(对话、事实、偏好、实体),并提供与LangChain、CrewAI、AutoGen等主流AI框架的无缝集成方案。关键词:AI智能体记忆管理,持久化记忆存储,语义记忆搜索,个性化上下文检索,Mem0集成,向量数据库,RAG应用,对话系统优化。

AI智能体 0 次安装 0 次浏览 更新于 2/23/2026

名称: mem0-集成 描述: 为AI智能体集成Mem0记忆层。实现持久化、语义化的记忆,用于长期上下文保留和个性化。 允许工具: 读取, 搜索, 写入, 编辑, Bash, 全局查找, 网页获取

mem0-集成

将Mem0(原MemGPT)集成为AI智能体的通用记忆层。实现持久化记忆存储、跨记忆的语义搜索和个性化上下文检索。

概述

Mem0为AI应用提供智能记忆管理:

  • 对话历史和事实的持久化存储
  • 跨存储记忆的语义搜索
  • 用户特定的记忆隔离
  • 从对话中自动提取记忆
  • 支持本地和云端部署

功能

记忆操作

  • 从文本或对话中添加记忆
  • 语义搜索记忆
  • 按用户/智能体检索相关上下文
  • 更新和删除记忆
  • 获取带时间戳的记忆历史

记忆类型

  • 对话记忆(对话历史)
  • 事实记忆(提取的信息)
  • 偏好记忆(用户偏好)
  • 实体记忆(人物、地点、事物)

存储后端

  • 本地SQLite/JSON存储
  • 生产环境用PostgreSQL
  • Qdrant向量数据库集成
  • 云端托管的Mem0平台

集成模式

  • LangChain记忆集成
  • 直接API使用
  • MCP服务器连接
  • CrewAI和AutoGen兼容性

使用

基本设置

from mem0 import Memory

# 使用默认本地存储初始化
m = Memory()

# 或使用自定义配置
config = {
    "vector_store": {
        "provider": "qdrant",
        "config": {
            "host": "localhost",
            "port": 6333,
        }
    },
    "llm": {
        "provider": "openai",
        "config": {
            "model": "gpt-4o-mini",
            "temperature": 0.1,
        }
    }
}
m = Memory.from_config(config)

添加记忆

# 从对话添加记忆
messages = [
    {"role": "user", "content": "我更喜欢所有应用都用深色模式"},
    {"role": "assistant", "content": "我会记住您更喜欢深色模式。"}
]
m.add(messages, user_id="user123")

# 从纯文本添加记忆
m.add("用户在Acme公司担任软件工程师", user_id="user123")

# 带元数据添加
m.add(
    "相比JavaScript更偏好Python",
    user_id="user123",
    metadata={"category": "preferences", "confidence": 0.9}
)

搜索记忆

# 搜索相关记忆
results = m.search(
    query="用户的偏好是什么?",
    user_id="user123",
    limit=5
)

for memory in results:
    print(f"记忆: {memory['memory']}")
    print(f"相关性: {memory['score']}")
    print(f"创建时间: {memory['created_at']}")

获取所有记忆

# 获取用户的所有记忆
all_memories = m.get_all(user_id="user123")

# 按元数据过滤
filtered = m.get_all(
    user_id="user123",
    metadata={"category": "preferences"}
)

记忆历史

# 获取记忆随时间的变化
history = m.history(memory_id="mem_abc123")

for entry in history:
    print(f"版本: {entry['version']}")
    print(f"内容: {entry['memory']}")
    print(f"更新时间: {entry['updated_at']}")

LangChain集成

from langchain_openai import ChatOpenAI
from mem0 import MemoryClient

# 初始化Mem0客户端
mem0_client = MemoryClient(api_key="your-api-key")

# 创建带记忆增强上下文的LLM
llm = ChatOpenAI(model="gpt-4")

def chat_with_memory(user_message: str, user_id: str) -> str:
    # 检索相关记忆
    memories = mem0_client.search(user_message, user_id=user_id, limit=5)
    memory_context = "
".join([m["memory"] for m in memories])

    # 构建带记忆上下文的提示词
    system_prompt = f"""你是一个乐于助人的助手。

以下是你对该用户的记忆:
{memory_context}

使用此上下文来个性化你的回复。"""

    # 生成回复
    response = llm.invoke([
        {"role": "system", "content": system_prompt},
        {"role": "user", "content": user_message}
    ])

    # 从对话中存储新记忆
    mem0_client.add(
        [
            {"role": "user", "content": user_message},
            {"role": "assistant", "content": response.content}
        ],
        user_id=user_id
    )

    return response.content

MCP服务器使用

# 在Claude中使用Mem0 MCP服务器
# 在claude_desktop_config.json中配置:
{
    "mcpServers": {
        "mem0": {
            "command": "npx",
            "args": ["-y", "@mem0/mcp-server"]
        }
    }
}

任务定义

const mem0IntegrationTask = defineTask({
  name: 'mem0-集成-设置',
  description: '为AI智能体配置Mem0记忆层',

  inputs: {
    storageBackend: { type: 'string', default: 'local' },  // 'local', 'qdrant', 'postgres', 'cloud'
    vectorDimension: { type: 'number', default: 1536 },
    embeddingModel: { type: 'string', default: 'text-embedding-3-small' },
    memoryCategories: { type: 'array', default: ['facts', 'preferences', 'conversations'] },
    userIsolation: { type: 'boolean', default: true }
  },

  outputs: {
    configured: { type: 'boolean' },
    memoryStats: { type: 'object' },
    artifacts: { type: 'array' }
  },

  async run(inputs, taskCtx) {
    return {
      kind: 'skill',
      title: `使用${inputs.storageBackend}后端配置Mem0`,
      skill: {
        name: 'mem0-集成',
        context: {
          storageBackend: inputs.storageBackend,
          vectorDimension: inputs.vectorDimension,
          embeddingModel: inputs.embeddingModel,
          memoryCategories: inputs.memoryCategories,
          userIsolation: inputs.userIsolation,
          instructions: [
            '验证存储后端可用性',
            '配置嵌入模型和向量维度',
            '设置记忆类别和元数据模式',
            '如果启用则实现用户隔离',
            '创建记忆添加/搜索/检索功能',
            '使用样本数据测试记忆操作',
            '为应用程序记录集成模式'
          ]
        }
      },
      io: {
        inputJsonPath: `tasks/${taskCtx.effectId}/input.json`,
        outputJsonPath: `tasks/${taskCtx.effectId}/result.json`
      }
    };
  }
});

适用流程

  • 对话记忆系统
  • 长期记忆管理
  • 聊天机器人设计与实现
  • 对话角色设计

外部依赖

  • mem0ai Python包
  • 向量数据库(可选:Qdrant, Pinecone)
  • LLM提供商(OpenAI, Anthropic等)
  • Mem0平台API密钥(用于云端)

参考资料

相关技能

  • SK-MEM-001 zep-记忆集成
  • SK-MEM-003 redis-记忆后端
  • SK-MEM-004 记忆摘要
  • SK-MEM-005 实体记忆提取

相关智能体

  • AG-MEM-001 记忆架构师
  • AG-MEM-002 用户画像构建器
  • AG-MEM-003 语义记忆策展人