平台与 API
平台与 API
相关源文件
本章引用的主要源码文件:
docs/api-reference/entities/delete-user.mdxdocs/api-reference/entities/get-users.mdxdocs/api-reference/events/get-event.mdxdocs/api-reference/events/get-events.mdxdocs/api-reference/memory/add-memories.mdxdocs/api-reference/memory/delete-memories.mdxdocs/api-reference/memory/delete-memory.mdxdocs/api-reference/memory/get-memories.mdxdocs/api-reference/memory/get-memory.mdxdocs/api-reference/memory/history-memory.mdxdocs/api-reference/memory/search-memories.mdxdocs/api-reference/memory/update-memory.mdxdocs/openapi.jsondocs/platform/quickstart.mdxmem0/client/main.py
Mem0 平台是一个完全托管的记忆服务,通过 REST API 提供持久化记忆能力。应用程序使用 API 密钥进行认证,并与 https://api.mem0.ai 上的服务交互,而平台则管理所有基础设施,包括向量存储、图数据库、大语言模型(LLM)提供商以及扩展能力。
本节概述了平台的 API 架构、认证模型和关键特性。有关部署的具体细节:
- 托管平台:请参阅下面的子章节,了解 API 参考、Webhook 和项目管理。
- 自托管部署:请参阅自托管服务器了解设置和配置。
- 客户端 SDK:请参阅客户端 SDK了解 Python/TypeScript/JavaScript 的使用。
平台架构
Mem0 平台提供多层架构,将客户端应用程序、API 网关认证、租户作用域和托管基础设施分离开来。客户端 SDK 中的 MemoryClient 类将 HTTP 请求包装上认证头,并将它们路由到版本化的 API 端点。
平台请求流程
关键组件:
- MemoryClient:Python/JavaScript 类,用于包装 API 请求
mem0/client/main.py:62-139。 - 认证:基于令牌,使用 MD5 哈希的 API 密钥作为
Mem0-User-IDmem0/client/main.py:105-126。 - 端点版本:v1/v2 用于传统 CRUD/搜索,v3 用于现代增量管线
docs/api-reference/memory/add-memories.mdx:4-15。 - 多租户:组织 -> 项目 -> 实体的层级结构
mem0/client/main.py:98-100。
来源: mem0/client/main.py:62-139,docs/openapi.json:14-23,docs/platform/quickstart.mdx:32-51,docs/api-reference/memory/add-memories.mdx:4-15
认证
平台使用基于令牌的认证。客户端 SDK 会自动使用提供的 API 密钥为所有请求处理认证头。
认证流程
认证头:
Authorization: Token {api_key}- 主认证mem0/client/main.py:122。Mem0-User-ID: {md5_hash}- 从 API 密钥派生的客户端标识符mem0/client/main.py:123。
来源: mem0/client/main.py:96-126,docs/platform/quickstart.mdx:32-51,docs/openapi.json:19-23
API 端点概览
平台提供版本化的 REST 端点。v3 端点引入了用于记忆的增量管线,其中处理通常是异步的。
核心记忆操作
| SDK 方法 | HTTP 端点 | 用途 |
|---|---|---|
client.add() | POST /v3/memories/add/ | 添加记忆,支持异步处理 docs/api-reference/memory/add-memories.mdx:4-7 |
client.search() | POST /v3/memories/search/ | 混合检索(语义 + BM25) docs/api-reference/memory/search-memories.mdx:4-7 |
client.get_all() | POST /v3/memories/ | 列出记忆,支持高级过滤器 docs/api-reference/memory/get-memories.mdx:4-9 |
client.delete() | DELETE /v1/memories/{id}/ | 删除单条记忆 docs/api-reference/memory/delete-memory.mdx:4 |
client.history() | GET /v1/memories/{id}/history/ | 追踪记忆演化 docs/api-reference/memory/history-memory.mdx:4 |
有关完整的端点规范,请参阅 REST API 参考。
来源: mem0/client/main.py:164-382,docs/openapi.json:24-150,docs/api-reference/memory/add-memories.mdx:4-15,docs/api-reference/memory/search-memories.mdx:4-7
高级检索与过滤
v3 API 支持复杂的逻辑操作和多信号检索。
搜索与过滤逻辑
- 混合搜索:结合语义嵌入向量、BM25 关键词匹配和实体匹配
docs/api-reference/memory/search-memories.mdx:7。 - 逻辑运算符:在
filters对象内支持AND、OR和NOTdocs/api-reference/memory/get-memories.mdx:9-19。 - 比较运算符:包括
gte、lte、ne、icontains和通配符*docs/api-reference/memory/search-memories.mdx:11-19。
有关迁移和输出格式的详细信息,请参阅 API 版本化。
来源: docs/api-reference/memory/get-memories.mdx:7-19,docs/api-reference/memory/search-memories.mdx:7-19
组织与项目
平台实现了层级化多租户。组织包含项目,项目用于隔离记忆和配置。
作用域规则
| 作用域级别 | 参数 | 用途 |
|---|---|---|
| 组织 | org_id | 顶级团队/公司隔离 mem0/client/main.py:98 |
| 项目 | project_id | 环境/应用程序隔离 mem0/client/main.py:99 |
| 实体 | user_id | 单个用户隔离 mem0/client/main.py:33 |
| 实体 | agent_id | AI 代理隔离 mem0/client/main.py:33 |
有关详细的层级管理,请参阅组织与项目。
来源: mem0/client/main.py:33-100,docs/openapi.json:97-111
Webhook 与事件
平台将操作追踪为事件。异步操作(如 v3/memories/add/)会返回一个 event_id,可以对其进行轮询。
事件轮询工作流
有关配置详情,请参阅 Webhook 与事件。
来源: docs/api-reference/memory/add-memories.mdx:62-85,docs/api-reference/events/get-events.mdx:1-13
记忆导出
平台提供导出已存储记忆的功能,用于数据可移植性或外部分析。
有关导出模式与过程的文档,请参阅记忆导出。