部署模型
部署模型
相关源文件
本章引用的主要源码文件:
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/cookbooks/essentials/building-ai-companion.mdxdocs/cookbooks/essentials/controlling-memory-ingestion.mdxdocs/cookbooks/essentials/entity-partitioning-playbook.mdxdocs/cookbooks/essentials/exporting-memories.mdxdocs/cookbooks/integrations/healthcare-google-adk.mdxdocs/cookbooks/integrations/openai-tool-calls.mdxdocs/cookbooks/overview.mdxdocs/core-concepts/memory-operations/add.mdxdocs/core-concepts/memory-operations/delete.mdxdocs/core-concepts/memory-operations/search.mdxdocs/core-concepts/memory-operations/update.mdxdocs/core-concepts/memory-types.mdxdocs/docs.jsondocs/llms.txtdocs/open-source/configuration.mdxdocs/open-source/overview.mdxdocs/open-source/python-quickstart.mdxdocs/openapi.jsondocs/platform/advanced-memory-operations.mdxdocs/platform/features/contextual-add.mdxdocs/platform/features/entity-scoped-memory.mdxdocs/platform/features/platform-overview.mdxdocs/platform/features/v2-memory-filters.mdxdocs/platform/overview.mdxdocs/platform/quickstart.mdxmem0/client/main.py
Mem0 提供两种部署模型,分别满足不同的运维需求:平台版(Platform)(全托管)和开源版(Open Source)(自托管)。本页面将对比两者的架构、权衡因素和选型标准,帮助您为工作负载选择最合适的部署模型。
架构总览
Mem0 的双部署模型将基础设施管理与内存功能分离。两种路径都实现了相同的内存操作,但在底层服务的配置和扩展方式上有所不同。
平台版架构(托管服务)
平台版部署使用 MemoryClient 与 Mem0 托管的 API(api.mem0.ai)进行通信。认证通过 API 密钥处理。托管基础设施负责处理向量存储、图数据库、大语言模型(LLM)编排,以及 Webhook 和自定义分类等高级功能。
来源: mem0/client/main.py:62-127, docs/llms.txt:7-11, docs/platform/overview.mdx:7-15, docs/core-concepts/memory-operations/add.mdx:57-74
开源版架构(自托管)
开源版部署直接在您的进程中实例化 Memory 类。您需要自行配置大语言模型(LLM)、嵌入向量生成器和向量存储。默认情况下,它使用 OpenAI 作为大语言模型(LLM)/嵌入向量生成器,并使用本地 Qdrant 实例进行存储。
来源: docs/open-source/python-quickstart.mdx:80-87, docs/llms.txt:85-108, docs/open-source/overview.mdx:1-10
部署对比
功能对等矩阵
| 能力 | 平台版(托管) | 开源版(OSS) | 实现细节 |
|---|---|---|---|
| 事实提取 | ✅ | ✅ | 使用大语言模型(LLM)从消息中提取事实 docs/core-concepts/memory-operations/add.mdx:40-42 |
| 冲突解决 | ✅ | ✅ | 检查现有记忆是否存在重复/矛盾 docs/core-concepts/memory-operations/add.mdx:43-45 |
| 图记忆 | ✅ | ✅ | 支持 Neo4j、Kuzu、Neptune 等 docs/platform/features/platform-overview.mdx:24-25 |
| 异步支持 | ✅ | ✅ | AsyncMemoryClient(平台版)vs AsyncMemory(开源版) docs/llms.txt:170-171 |
| Webhook | ✅ | ❌ | 仅平台版提供的事件通知系统 docs/llms.txt:103-107 |
| 自定义分类 | ✅ | ❌ | 在项目级别定义的 AI 分配分类 docs/cookbooks/essentials/building-ai-companion.mdx:185-195 |
| 批量删除 | ✅ | ❌ | batch_delete 支持最多 1000 条记忆 docs/core-concepts/memory-operations/delete.mdx:22-23 |
| 历史追踪 | 托管 | 本地 SQLite | 开源版将历史存储在 ~/.mem0/history.db docs/open-source/python-quickstart.mdx:85 |
来源: docs/llms.txt:7-12, docs/core-concepts/memory-operations/add.mdx:170-177, docs/open-source/python-quickstart.mdx:80-87, docs/core-concepts/memory-operations/delete.mdx:10-24
客户端代码对比
SDK 为每种模型提供了不同的入口点。MemoryClient 面向托管的 API,而 Memory 则在本地运行逻辑。
平台版(托管):
from mem0 import MemoryClient
# 使用 API 密钥向 api.mem0.ai 进行认证
client = MemoryClient(api_key="your-api-key")
client.add([{"role": "user", "content": "我是素食主义者"}], user_id="user123")
开源版(自托管):
from mem0 import Memory
# 本地运行;需要提供商 API 密钥(例如 OPENAI_API_KEY)
m = Memory()
m.add("我是素食主义者", user_id="user123")
来源: mem0/client/main.py:75-127, docs/llms.txt:25-51, docs/llms.txt:85-108
决策矩阵
何时使用平台版(托管)
选择平台版,如果:
- 零基础设施: 您希望避免管理向量数据库、图存储和扩展问题
docs/platform/overview.mdx:22-23。 - 高级功能: 您需要托管的重新排序器、Webhook 或 AI 驱动的自定义分类
docs/llms.txt:7-8。 - 企业级管控: 您需要 SOC 2 Type II 合规性、审计日志和组织级治理
docs/platform/overview.mdx:25。 - 性能要求: 您需要由 Mem0 团队优化的亚 50 毫秒检索
docs/llms.txt:23。
何时使用开源版(自托管)
选择开源版,如果:
- 数据隐私: 您必须将所有数据保留在自己的基础设施或 VPC 内
docs/llms.txt:23。 - 本地模型: 您希望使用本地大语言模型(LLM)(通过 Ollama)或特定的开源向量存储
docs/cookbooks/essentials/building-ai-companion.mdx:16-17。 - 完全自定义: 您需要修改提取提示或内部记忆逻辑
docs/open-source/overview.mdx:160-161。 - 成本敏感: 您的使用量极高,托管 API 成本超过了自托管基础设施的成本。
来源: docs/llms.txt:21-24, docs/platform/overview.mdx:20-27, docs/cookbooks/essentials/building-ai-companion.mdx:86-120
技术实现细节
平台版验证流程
当 MemoryClient 初始化时,它会通过 /v1/ping/ 端点验证 API 密钥,以获取组织和项目上下文。
来源: mem0/client/main.py:105-154
开源版组件默认值
开源版 Memory 类默认使用一套技术栈,只需 OpenAI API 密钥即可立即使用。
| 组件 | 默认提供商 | 配置 docs/open-source/python-quickstart.mdx:80-87 |
|---|---|---|
| 大语言模型(LLM) | OpenAI | gpt-4o-mini 用于事实提取 |
| 嵌入向量生成器 | OpenAI | text-embedding-3-small(1536 维) |
| 向量存储 | Qdrant | 本地存储于 /tmp/qdrant |
| 历史记录 | SQLite | 本地数据库位于 ~/.mem0/history.db |
来源: docs/open-source/python-quickstart.mdx:80-87, mem0/client/main.py:29-30