325 lines
3.9 KiB
Markdown
325 lines
3.9 KiB
Markdown
# 一、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 引擎"
|