核心能力验证
技术研究 API验证 能力分析
验证memU的核心API能力和技术特性
三层记忆架构
memU采用分层记忆架构,这是其核心设计理念。理解这一架构是使用memU的基础。
层级结构详解
┌─────────────────────────────────────────────────┐
│ Layer 3: Memory Category │
│ (主题记忆类别文件 - 高层知识结构) │
│ 类似文件夹,按主题组织记忆条目 │
└─────────────────────────────────────────────────┘
▲ 追溯
┌─────────────────────────────────────────────────┐
│ Layer 2: Memory Item │
│ (记忆条目 - 细粒度事实) │
│ 自然语言句子形式的关键信息 │
└─────────────────────────────────────────────────┘
▲ 追溯
┌─────────────────────────────────────────────────┐
│ Layer 1: Resource │
│ (原始资源层 - 多模态数据) │
│ 文本、图像、音频、视频等原始输入 │
└─────────────────────────────────────────────────┘
各层职责对比
| 层级 | 存储内容 | 检索方式 | 主要用途 |
|---|---|---|---|
| Resource | 原始对话、文档、媒体文件 | 直接访问 | 数据溯源、完整上下文 |
| Memory Item | 提取的事实、偏好、技能 | 向量搜索/LLM理解 | 精确事实检索 |
| Memory Category | 主题摘要、组织结构 | LLM文件读取 | 快速概览、主题导航 |
类比理解:文件系统模型
memU的设计灵感来自文件系统,这使得记忆管理更加直观:
| 文件系统概念 | memU对应概念 | 说明 |
|---|---|---|
| 文件夹(Folder) | Category | 自动按主题组织 |
| 文件(File) | Memory Item | 提取的事实条目 |
| 符号链接(Symlink) | Cross-reference | 相关记忆互联 |
| 挂载点(Mount Point) | Resource | 数据源入口 |
核心API分析
memorize() - 记忆存储管道
memorize()是记忆写入的核心API,负责将多模态输入转化为结构化记忆。
API签名
result = await service.memorize(
resource_url="path/to/file.json", # 资源路径或URL
modality="conversation", # 模态类型
user={"user_id": "123"} # 可选:用户范围
)
参数详解
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
resource_url | str | 是 | 文件路径或URL,支持本地和远程资源 |
modality | str | 是 | 输入类型:conversation/document/image/video/audio |
user | dict | 否 | 用户标识,用于多用户场景隔离 |
返回结构
{
"resource": {...}, # 存储的资源元数据
"items": [...], # 立即可用的记忆条目
"categories": [...] # 自动更新的类别结构
}
处理流程
输入资源 → 预处理 → LLM提取 → 分类聚合 → 存储
↓
实时可用(零延迟处理)
retrieve() - 双模式检索
retrieve()支持两种检索模式,可根据场景灵活选择。
RAG模式(快速上下文)
result = await service.retrieve(
queries=[
{"role": "user", "content": {"text": "用户偏好是什么?"}}
],
where={"user_id": "123"},
method="rag" # 快速嵌入搜索
)
特点:
- ⚡ 毫秒级响应
- 💰 仅消耗Embedding计算
- 📊 自动相似度排序
LLM模式(深度推理)
result = await service.retrieve(
queries=[
{"role": "user", "content": {"text": "根据历史对话分析用户意图"}}
],
where={"user_id": "123"},
method="llm" # LLM深度理解
)
特点:
- 🧠 意图预测
- 🔄 查询自动演化
- ⏹️ 充分性检测(自动终止)
模式对比
| 维度 | RAG模式 | LLM模式 |
|---|---|---|
| 响应速度 | 毫秒级 | 秒级 |
| 成本 | 低(仅Embedding) | 高(LLM推理) |
| 适用场景 | 实时建议、快速检索 | 复杂推理、意图预测 |
| 精确度 | 语义相似 | 深度理解 |
自定义LLM支持
memU支持多种LLM后端,可通过llm_profiles灵活配置。
支持的提供商
| 提供商 | 配置方式 | 特点 |
|---|---|---|
| OpenAI | 默认配置 | 官方SDK支持,功能完整 |
| OpenRouter | provider: openrouter | 多模型统一API |
| 阿里云通义 | base_url配置 | 国内访问友好 |
| Voyage AI | 独立Embedding配置 | 高质量Embedding |
配置示例
service = MemUService(
llm_profiles={
"default": {
"base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"api_key": "your_api_key",
"chat_model": "qwen3-max",
"client_backend": "sdk"
},
"embedding": {
"base_url": "https://api.voyageai.com/v1",
"api_key": "your_voyage_api_key",
"embed_model": "voyage-3.5-lite"
}
}
)
能力验证结论
✅ 已验证能力
- 多模态支持:支持conversation/document/image/video/audio五种模态
- 灵活检索:RAG和LLM双模式可选
- 自定义LLM:支持OpenAI、OpenRouter、阿里云等多种后端
- 用户隔离:支持多用户场景的记忆隔离
- 实时处理:memorize后立即可用,零延迟
⚠️ 需要注意的能力边界
- Python版本要求:需要Python 3.13+
- 持久化存储:需要PostgreSQL + pgvector扩展
- 持续运行:主动式记忆需要后台服务支持
差距分析
| 需求 | memU支持 | 差距说明 |
|---|---|---|
| 记忆存储 | ✅ 完全支持 | 三层架构,自动分类 |
| 记忆检索 | ✅ 完全支持 | 双模式,灵活选择 |
| 多模态 | ✅ 完全支持 | 5种模态全覆盖 |
| 自定义LLM | ✅ 完全支持 | 配置灵活 |
| 主动预测 | ⚠️ 需配置 | 需要后台服务 |
参考资料
- memU Core APIs - 官方API文档
- OpenRouter Integration - 多模型支持