从 Mem0迁移到TiMem:完整迁移指南(附代码对比)
·
从 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 五层结构:原始对话片段 → 会话摘要 → 每日总结 → 每周总结 → 人物画像,每层自动归纳,无需微调。
- 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
更多推荐


所有评论(0)