120 lines
3.3 KiB
Markdown
120 lines
3.3 KiB
Markdown
# 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)
|
||
```
|
||
|
||
### 核心环境变量
|
||
|
||
```bash
|
||
# 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
|
||
```
|
||
|
||
### 你需要准备的内容
|
||
|
||
1. [ ] 确认 LLM 来源(Dify / OpenAI 代理 / Ollama)
|
||
2. [ ] 确认 PostgreSQL 数据库已创建(`mem0` 数据库)
|
||
3. [ ] 确认 Qdrant collection 已创建(或让 mem0 自动创建)
|
||
4. [ ] 配置环境变量
|
||
5. [ ] 编译/获取 mem0 镜像
|
||
|
||
---
|
||
|
||
## 国内网络问题
|
||
|
||
### 问题
|
||
|
||
- 无法访问 Docker Hub
|
||
- 无法访问 GitHub raw content
|
||
|
||
### 解决方式
|
||
|
||
1. **镜像提前导入**:在有网环境 `docker pull` 后 `docker save`,导入到 K8s 节点
|
||
2. **内网镜像仓库**:配置私有的 Harbor 或 registry
|
||
3. **代码构建**:下载代码后 `docker build` 本地镜像
|
||
|
||
### 建议的镜像来源
|
||
|
||
| 镜像 | 国内可用的 registry |
|
||
|------|-------------------|
|
||
| pgvector | `registry.cn-hangzhou.aliyuncs.com` 搜索 |
|
||
| neo4j | `docker.m.daocloud.io/neo4j` (DaoCloud) |
|
||
| mem0 | 需自行 build 或找社区镜像 |
|
||
|
||
---
|
||
|
||
## 待完成
|
||
|
||
- [ ] 确认 mem0 代码可下载
|
||
- [ ] 确认 LLM 来源
|
||
- [ ] 生成 K8s YAML 文件
|
||
- [ ] 测试部署 |