Files
knowledge-base/AI/mem0/05-faq.md
2026-05-31 05:38:26 +00:00

81 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Mem0 常见问题
## Q: Mem0 和 OpenMemory 是什么关系?
A: OpenMemory 是 `mem0ai/mem0` 仓库下的一个子目录不是独立项目。OpenMemory 使用 Qdrant 作为唯一存储后端已被官方废弃sunset建议使用 `server/` 目录。
## Q: 为什么需要 TEI 和 Qdrant 两个东西?
A: 它们是完全不同的组件,分工合作:
- **TEI**:把文本转换成向量(理解语义)
- **Qdrant**:存储向量 + 搜索相似向量
类比TEI 是翻译软件Qdrant 是图书馆。两者缺一不可,但互相不知道对方存在,全靠 Mem0 Server 协调。
## Q: Neo4j 是必须的吗?
A: 不是。大部分场景不需要 Neo4j
- 普通语义搜索Qdrant 足够
- 关系推理(如"我老婆的表哥的同事"):需要 Neo4j
建议先不加,只部署 Qdrant + PostgreSQL跑起来后再按需扩展。
## Q: 写入和读取记忆需要多少次请求?
A:
- **写入**2次TEI生成向量 → Qdrant存储
- **读取/搜索**3次TEI生成查询向量 → Qdrant搜索 → LLM生成回答
## Q: 中国网络环境下如何部署?
A: 主要问题:
1. 无法从 Docker Hub 拉镜像 → 提前下载导入或使用国内镜像
2. 无法访问 GitHub → 使用 gitea 托管代码
## Q: Self-host 需要哪些环境变量?
A: 核心变量:
```bash
# 数据库
POSTGRES_HOST=
POSTGRES_PORT=5432
POSTGRES_DB=
POSTGRES_USER=
POSTGRES_PASSWORD=
# 向量库
QDRANT_HOST=
QDRANT_PORT=6333
# Embedder
EMBEDDER_PROVIDER=tei
TEI_ENDPOINT=
# LLM
LLM_PROVIDER=
OPENAI_API_KEY=
# Auth
JWT_SECRET=
ADMIN_API_KEY=
AUTH_DISABLED=false
```
## Q: Mem0 有官方 K8s 部署吗?
A: 没有官方 Helm Chart 或 K8s YAML。需要自行转换 docker-compose.yaml 为 K8s 资源,或使用社区方案。
## Q: TEI 是否需要知道 Qdrant
A: 不需要。TEI 只做向量生成(文本→向量),不存储任何数据,不与 Qdrant 通信。
## Q: 为什么你的 mem0 代码 clone 这么慢?
A: 可能网络问题。可以尝试:
- 使用断点续传:`curl -C - -L -o file.tar.gz URL`
- 使用国内镜像或代理
- 通过 Gitea 等国内 Git 服务托管
## Q: Swagger UI 可以随意注册用户,生产环境安全吗?
A: Mem0 系统级别的单用户模式——注册第一个 admin 用户后,系统禁止再注册新用户。