从 Mem0 迁移到 TiMem:完整迁移指南(附代码对比)

为什么要迁移?

Mem0 是目前最流行的 AI 记忆方案,生态成熟、接入简单。但在长对话准确率上,和 TiMem 有明显差距:

基准 Mem0 TiMem 差距
LoCoMo 64.50% 75.30% +10.80%
LongMemEval-S 65.80% 76.88% +11.08%

Token 消耗上,TiMem 的召回记忆长度减少 52.20%,长期运行成本更低。

如果你的场景是长期对话(50轮+)、需要时序推理、或者要构建用户画像,迁移收益会非常显著。


两者架构差异

  • Mem0:扁平记忆层,语义向量检索,适合快速集成
    • TiMem:五层时序记忆树(TMT),复杂度感知召回,适合长对话精准记忆
      TiMem 的 TMT 五层结构:原始对话片段 → 会话摘要 → 每日总结 → 每周总结 → 人物画像,每层自动归纳,无需微调。

迁移步骤

Step 1:安装 TiMem

pip install timem

Step 2:获取 API Key

前往 console.timem.cloud 注册并创建 API Key。

Step 3:代码替换

写入记忆

# ===== Mem0 =====
from mem0 import Memory
m = Memory()
m.add("用户说他住在上海,喜欢 Python", user_id="user_001")

# ===== TiMem =====
import asyncio
from timem import AsyncMemory

async def add_memory():
    memory = AsyncMemory(api_key="YOUR_KEY", base_url="https://api.timem.cloud")
        await memory.add(
                messages=[
                            {"role": "user", "content": "我住在上海,主要用 Python 做后端"},
                                        {"role": "assistant", "content": "好的,了解了!"}
                                                ],
                                                        user_id="user_001",
                                                                session_id="session_001"   # TiMem 新增 session 概念,用于层次化归纳
                                                                    )
                                                                        await memory.aclose()
asyncio.run(add_memory())

检索记忆

# ===== Mem0 =====
results = m.search("用户住在哪里", user_id="user_001")
for r in results["results"]:
    print(r["memory"])
# ===== TiMem =====
async def search_memory():
    memory = AsyncMemory(api_key="YOUR_KEY", base_url="https://api.timem.cloud")
        results = await memory.search(
                query="用户住在哪里",
                        user_id="user_001",
                                limit=5
                                    )
                                        for r in results:
                                                print(r["content"], "| 层级:", r["layer"])  # 多了 layer 字段
                                                    await memory.aclose()
asyncio.run(search_memory())

删除记忆

# ===== Mem0 =====
m.delete_all(user_id="user_001")

# ===== TiMem =====
async def delete_memory():
    memory = AsyncMemory(api_key="YOUR_KEY", base_url="https://api.timem.cloud")
        await memory.delete_all(user_id="user_001")
            await memory.aclose()
asyncio.run(delete_memory())

三个关键差异

1. session_id 是新概念

TiMem 以 session 为单位做会话摘要(L2 层),每次新对话传入唯一 ID:

import uuid
session_id = str(uuid.uuid4())

2. 全面异步 API

TiMem 默认异步,同步项目用 asyncio.run() 包裹即可。

3. 返回结构增加 layer 字段

Mem0 返回 {"memory": "...", "score": 0.9}
TiMem 返回 {"content": "...", "layer": 2, "score": 0.95},可知道记忆来自哪一层。


迁移检查清单

  • pip install timem
  • - [ ] 获取 API Key(console.timem.cloud
  • - [ ] m.add(text)await memory.add(messages=[...], session_id=...)
  • - [ ] m.search(query)await memory.search(query=..., limit=...)
  • - [ ] m.delete_all()await memory.delete_all(user_id=...)
  • - [ ] 为每次对话生成唯一 session_id
  • - [ ] 处理异步调用

迁移后预期收益

长对话场景(50轮+)典型收益:

  • 时序问题准确率提升约 10%
    • 用户画像类问题从无法回答 → 准确召回 L5 层
    • Token 消耗减少约 50%

如果你对 AI 记忆技术感兴趣,欢迎访问 TiMem 的 GitHub 仓库:
https://github.com/timem-ai/tiimem

给我们一个 Star,你的支持是我们持续开源的最大动力!

在线体验:https://playground.timem.cloud
技术文档:https://docs.timem.cloud

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐