目的和能力
Mem0 通過提供以下功能將無狀態 AI 應用程序轉換為有狀態、支持內存的系統:
- 持久記憶 :跨會話長期保留用戶偏好、對話歷史記錄和上下文信息
- 多級內存 :支持具有自適應個性化的用戶級、會話級和代理級內存
- 智能提取 :基于 LLM 的記憶提取,可智能決定要記住和忘記哪些信息
- 語義搜索 :使用向量相似性和上下文理解進行基于相關性的記憶檢索
- 成本優化 :與全上下文方法相比,令牌使用量減少 90%,響應速度提高 91%
系統架構概述
Mem0 的架構支持兩種主要部署模型:托管平臺服務和自托管開源解決方案,兩者共享核心內存處理能力。
核心內存系統組件
核心內存系統由幾個關鍵組件組成,這些組件協同工作以提供智能內存功能。
元件 | 目的 | 關鍵方法 |
---|---|---|
Memory | 核心內存編排 | add()、search()、get()、update()、delete() |
VectorStoreFactory | 矢量數據庫實例化 | 提供商選擇和配置 |
LlmFactory LLM | 提供商管理 | 模型初始化和切換 |
EmbedderFactory | 嵌入模型管理 | 嵌入提供程序配置 |
GraphStoreFactory | 圖數據庫管理 | 關系存儲配置 |
平臺與開源部署模型
Mem0 提供兩種不同的部署方法,具有不同的客戶端接口和功能。
平臺部署(托管服務)
平臺客戶端使用情況:
from mem0 import MemoryClient
client = MemoryClient()
client.add(messages, user_id="alex")
results = client.search(query, filters=filters)
開源部署(自托管)
from mem0 import Memory
memory = Memory.from_config(config)
memory.add(messages, user_id="alice", metadata={"category": "preferences"})
related_memories = memory.search("query", user_id="alice")
方面 | 平臺 | 開源 |
---|---|---|
客戶端類 | MemoryClient、AsyncMemoryClient | Memory |
認證 | 需要 API 密鑰 | 本地配置 |
基礎設施 | 完全托管 | 自托管 |
定制 | 僅限于 API 參數 | 完全提供商控制 |
縮放 | 自動 | 手動配置 |
提供商生態系統和工廠模式
Mem0 使用工廠模式支持不同組件的多個提供者,從而實現靈活的部署配置
配置示例:
config = {"llm": {"provider": "anthropic","config": {"model": "claude-sonnet-4-20250514","temperature": 0.1,"max_tokens": 2000,}}
}
內存類型和功能
Mem0 支持鏡像人類記憶系統的不同類型的內存:
內存類型 | 目的 | 存儲期限 |
---|---|---|
工作記憶 | 短期會話感知 | 會話范圍 |
事實記憶 | 長期結構化知識(偏好、設置 | ) 持續 |
情景記憶 | 過去特定對話的記錄 | 持續 |
語義記憶 | 隨著時間的推移積累的常識 | 持續 |
主要特征:
- 多級內存 :具有自適應個性化的用戶、會話和代理級內存
- 圖內存 :存儲實體和概念之間的關系
- 智能過濾 :基于 LLM 的內存衰減以防止信息膨脹
- 語義搜索 :基于向量的檢索,具有相關性評分
集成環境
Mem0 作為中央內存層,與各種 AI 框架和開發工具集成。