Files
rag/deploy/README.md
lacerate551 100d1a06eb init: RAG 知识库服务初始提交
- 后端 API(Flask + Gunicorn)
- RAG 引擎(混合检索 + 云端 Reranker + 引用溯源)
- 文档解析(MinerU + 多格式支持)
- Docker 生产部署配置
- 排除前端项目、敏感配置、模型文件
2026-06-04 17:35:27 +08:00

3.8 KiB
Raw Permalink Blame History

部署文件说明

本目录包含所有部署相关的配置文件。


📁 文件清单

Docker 部署

文件 说明
Dockerfile Docker 镜像构建文件
docker-compose.yml Docker Compose 编排配置
.dockerignore Docker 构建忽略文件
.env.production 生产环境变量配置

Web 服务器

文件 说明
gunicorn.conf.py Gunicorn WSGI 服务器配置
wsgi.py WSGI 应用入口
nginx.conf Nginx 反向代理配置(可选)

🚀 快速部署

方式 1Docker Compose推荐

# 1. 构建并启动
docker-compose up -d

# 2. 查看日志
docker-compose logs -f

# 3. 停止服务
docker-compose down

方式 2Docker 手动部署

# 1. 构建镜像
docker build -f deploy/Dockerfile -t rag-service:latest .

# 2. 运行容器
docker run -d \
  -p 5001:5001 \
  -v $(pwd)/data:/app/data \
  -v $(pwd)/documents:/app/documents \
  -v $(pwd)/knowledge:/app/knowledge \
  --name rag-service \
  rag-service:latest

# 3. 查看日志
docker logs -f rag-service

方式 3直接部署服务器

# 1. 安装依赖
pip install -r requirements.txt
pip install gunicorn

# 2. 启动服务
gunicorn -c deploy/gunicorn.conf.py deploy.wsgi:app

⚙️ 配置说明

Dockerfile

关键配置

  • 基础镜像:python:3.10-slim
  • 工作目录:/app
  • 暴露端口:5001
  • 启动命令:gunicorn -c deploy/gunicorn.conf.py deploy.wsgi:app

环境变量

ENV MINERU_MODEL_SOURCE=local
ENV MINERU_TOOLS_CONFIG_JSON=/root/mineru.json
ENV APP_ENV=prod
ENV ENABLE_SESSION=false

docker-compose.yml

服务配置

  • 端口映射:5001:5001
  • 数据卷挂载:./data, ./documents, ./knowledge
  • 自动重启:unless-stopped

gunicorn.conf.py

性能配置

  • WorkersCPU核心数 × 2 + 1
  • Worker类型sync(同步)
  • 超时时间:120秒
  • 最大请求数:1000(防止内存泄漏)

nginx.conf

反向代理配置(可选):

  • 负载均衡:least_conn
  • 请求限流:10r/s
  • 超时配置:120s
  • SSE 流式支持:已启用

🔧 环境变量

必需变量

变量 说明 默认值
APP_ENV 环境标识 prod
MINERU_MODEL_SOURCE 模型来源 local
DASHSCOPE_API_KEY 通义千问 API Key

可选变量

变量 说明 默认值
ENABLE_SESSION 会话管理 false
ENABLE_FEEDBACK 反馈系统 true
GUNICORN_WORKERS Worker 数量 自动计算

📊 资源要求

最小配置

  • CPU2 核
  • 内存4 GB
  • 磁盘20 GB含模型

推荐配置

  • CPU4 核
  • 内存8 GB
  • 磁盘50 GB

🔍 健康检查

Docker 健康检查

# 检查容器状态
docker ps

# 检查健康状态
curl http://localhost:5001/health

服务端点

端点 说明
/health 健康检查
/stats 服务统计
/rag RAG 问答SSE 流式)

🐛 故障排查

容器无法启动

# 查看日志
docker logs rag-service

# 检查配置
docker exec rag-service cat /root/mineru.json

# 检查模型
docker exec rag-service ls /app/models/mineru

性能问题

# 查看资源使用
docker stats rag-service

# 调整 Worker 数量
# 修改 docker-compose.yml 中的 GUNICORN_WORKERS

端口冲突

# 修改端口映射
# docker-compose.yml: "5002:5001"

📚 相关文档


最后更新: 2026-04-20
维护者: RAG 服务开发组