Files
notes/work/移动杭研/AI 项目/RAG Flow 部署.md
T
Docker7530 a85ad8447f 1773239962
2026-03-11 22:39:26 +08:00

325 lines
3.9 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.
# 一、RAGFlow 部署前提
最低硬件要求:
- CPU ≥ 4 核
- 内存 ≥ 16 GB
- 磁盘 ≥ 50 GB
- Docker ≥ 24
- Docker Compose ≥ 2.26 ([ragflow.com.cn][1])
RAGFlow 默认依赖这些组件:
- MySQL
- Redis
- MinIO(对象存储)
- Elasticsearch / Infinity(检索)
- API Server
这些都已经写在 `docker-compose` 里。 ([ragflow.com.cn][2])
---
# 二、系统参数调整(必须)
RAGFlow 用 Elasticsearch,需要调内核参数:
```bash
sysctl vm.max_map_count
```
如果小于 **262144**
```bash
sudo sysctl -w vm.max_map_count=262144
```
永久生效:
```bash
echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sysctl -p
```
否则 ES 会启动失败。 ([ragflow.com.cn][1])
---
# 三、下载 RAGFlow
```bash
git clone https://github.com/infiniflow/ragflow.git
cd ragflow
```
进入 docker 目录:
```bash
cd docker
```
目录结构大概:
```
ragflow/
├ docker/
│ ├ docker-compose.yml
│ ├ docker-compose-base.yml
│ ├ .env
│ └ service_conf.yaml.template
```
---
# 四、配置环境变量
编辑 `.env`
```bash
nano .env
```
主要配置:
```env
# elasticsearch
STACK_VERSION=8.11.3
ELASTIC_PASSWORD=ragflow
# kibana
KIBANA_USER=rag_flow
KIBANA_PASSWORD=infini_rag_flow
# ports
ES_PORT=1200
KIBANA_PORT=6601
```
如果需要修改 Web 端口:
编辑 `docker-compose.yml`
```yaml
ports:
- "8080:80"
```
访问地址就变成:
```
http://服务器IP:8080
```
---
# 五、启动 RAGFlow
```bash
docker compose -f docker-compose.yml up -d
```
查看容器:
```bash
docker ps
```
正常会有这些容器:
```
ragflow-server
ragflow-worker
mysql
redis
minio
elasticsearch
kibana
```
---
# 六、访问 RAGFlow
浏览器访问:
```
http://服务器IP
```
首次使用需要注册账号。
然后就可以:
1️⃣ 创建 Dataset(知识库)
2️⃣ 上传 PDF / Markdown / 文档
3️⃣ 自动解析
4️⃣ 创建 AI Chat
RAG 就跑起来了。
---
# 七、连接大模型
RAGFlow **本身不带 LLM**,需要接模型。
常见配置:
| 类型 | 推荐 |
| ----- | -------------- |
| 本地模型 | Ollama |
| GPU推理 | vLLM |
| API | OpenAI / Azure |
| 国产 | DeepSeek |
例如接 **Ollama**
先装 Ollama
```bash
curl -fsSL https://ollama.com/install.sh | sh
```
拉模型:
```bash
ollama pull llama3
```
然后在 RAGFlow UI
```
Settings → Model Providers
```
添加:
```
Provider: Ollama
URL: http://host.docker.internal:11434
```
---
# 八、常用运维命令
查看日志
```bash
docker logs ragflow-server -f
```
停止
```bash
docker compose down
```
升级
```bash
git pull
docker compose pull
docker compose up -d
```
---
# 九、生产环境建议
推荐配置:
```
8 CPU
32GB RAM
100GB SSD
```
并且:
- Elasticsearch 单独部署
- MinIO 使用对象存储
- GPU + vLLM
RAGFlow 在企业环境一般是:
```
Nginx
RAGFlow API
Elasticsearch
Redis
MySQL
MinIO
```
---
# 十、很多人部署失败的 3 个原因
90% 卡在这里:
### 1 Docker 版本太低
必须:
```
Docker ≥ 24
Compose ≥ 2.26
```
---
### 2 内存不足
RAGFlow 启动 ES + Python worker
最低:
```
16GB
```
---
### 3 vm.max_map_count 没改
ES 直接 crash。
---
# 十一、如果你是做 AI 产品(强烈建议)
我建议你这样部署 RAGFlow
```
RAGFlow
vLLM (推理)
Embedding Service
对象存储
```
效果比默认好很多。
---
💡 如果你愿意,我可以再给你一份 **“RAGFlow 企业级部署架构”**(包括):
- GPU 推理架构
- embedding 服务
- chunk pipeline
- RAGFlow + MCP
- 和你现在的 **智能体架构怎么融合**
我可以直接画一张 **完整 RAG 系统架构图**
[1]: https://ragflow.com.cn/docs?utm_source=chatgpt.com "快速入门 | RAGFlow 引擎"
[2]: https://ragflow.com.cn/docs/dev/configurations?utm_source=chatgpt.com "配置 | RAGFlow 引擎"