- 01-basics.md: 基础概念、self-host 介绍 - 02-architecture.md: TEI/Qdrant/PostgreSQL/LLM 架构详解 - 03-deployment.md: K8s 部署方案、环境变量 - 04-your-infra.md: 你的基础设施(tei namespace) - 05-faq.md: 常见问题
3.3 KiB
3.3 KiB
Mem0 部署方案
部署选项
选项 A:server/(完整功能)
| 组件 | 说明 |
|---|---|
| Mem0 Server | FastAPI 服务 |
| PostgreSQL + pgvector | 关系数据 + 向量存储 |
| Neo4j | 图数据库(可选) |
选项 B:openmemory/(轻量,已 sunset)
仅需 Qdrant,但官方已停止维护,不建议使用。
K8s 部署(server/ 方案)
你已有的基础设施
tei namespace 下已有:
├── Qdrant ← 向量数据库
├── PostgreSQL ← 关系数据库
├── Dify ← 编排平台(LLM 能力?)
├── TEI ← Text Embeddings Inference
└── BGM ← BGE-M3 嵌入模型服务
部署架构
┌─────────────────────────────────────────────────────────────┐
│ Mem0 Pod │
│ ├── mem0-server (main container) │
│ │ - Port: 8000 │
│ │ - 连接 TEI、Qdrant、PostgreSQL、LLM │
│ └── git-sync (sidecar, 可选) │
│ - 从 Gitea 拉取配置/知识库 │
└─────────────────────────────────────────────────────────────┘
│
├─ TEI: http://tei-server:8080
├─ Qdrant: http://qdrant:6333
├─ PostgreSQL: postgres:5432
└─ LLM: 待确认(Dify / OpenAI 代理 / Ollama)
核心环境变量
# PostgreSQL(已有)
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
POSTGRES_DB=mem0
POSTGRES_USER=postgres
POSTGRES_PASSWORD=xxx
APP_DB_NAME=mem0_app
# Qdrant(已有)
QDRANT_HOST=qdrant
QDRANT_PORT=6333
# TEI Embedder(已有)
EMBEDDER_PROVIDER=tei
TEI_ENDPOINT=http://tei-server:8080
# LLM(待确认)
LLM_PROVIDER=openai # 或 dify / ollama / anthropic
OPENAI_API_KEY=xxx # 或通过 Dify
# Auth
JWT_SECRET=xxx
ADMIN_API_KEY=xxx
AUTH_DISABLED=false
# Telemetry(国内建议关闭)
MEM0_TELEMETRY=false
你需要准备的内容
- 确认 LLM 来源(Dify / OpenAI 代理 / Ollama)
- 确认 PostgreSQL 数据库已创建(
mem0数据库) - 确认 Qdrant collection 已创建(或让 mem0 自动创建)
- 配置环境变量
- 编译/获取 mem0 镜像
国内网络问题
问题
- 无法访问 Docker Hub
- 无法访问 GitHub raw content
解决方式
- 镜像提前导入:在有网环境
docker pull后docker save,导入到 K8s 节点 - 内网镜像仓库:配置私有的 Harbor 或 registry
- 代码构建:下载代码后
docker build本地镜像
建议的镜像来源
| 镜像 | 国内可用的 registry |
|---|---|
| pgvector | registry.cn-hangzhou.aliyuncs.com 搜索 |
| neo4j | docker.m.daocloud.io/neo4j (DaoCloud) |
| mem0 | 需自行 build 或找社区镜像 |
待完成
- 确认 mem0 代码可下载
- 确认 LLM 来源
- 生成 K8s YAML 文件
- 测试部署