logo
0
0
WeChat Login

RAG 智能问答系统 - Docker 容器化项目

项目简介

这是一个基于 RAG (Retrieval-Augmented Generation) 技术的个人知识库问答系统,通过 Docker 容器化技术实现一键部署。项目集成了大语言模型、向量数据库、关系型数据库和对象存储等多个服务,展示了现代 AI 应用的基础架构。

系统架构

快速开始

前置要求

  • Docker 20.10+
  • Docker Compose 2.0+
  • 至少 4GB 可用内存
  • 至少 10GB 可用磁盘空间

一键启动

# 1. 克隆项目 git clone <repository-url> cd <project-directory> # 2. 给启动脚本添加执行权限 chmod +x start.sh # 3. 运行启动脚本 ./start.sh

手动启动

# 1. 创建必要的目录 mkdir -p uploads logs # 2. 构建并启动所有服务 docker-compose up -d --build # 3. 查看服务状态 docker-compose ps

访问地址

启动成功后,可以通过以下地址访问:

项目结构

. ├── backend/ # 后端服务 │ ├── Dockerfile # 后端镜像构建文件 │ ├── requirements.txt # Python 依赖 │ ├── entrypoint.sh # 启动脚本 │ └── app/ # 应用代码 ├── frontend/ # 前端服务 │ ├── Dockerfile # 前端镜像构建文件 │ ├── package.json # Node.js 依赖 │ ├── next.config.js # Next.js 配置 │ └── src/ # 应用代码 ├── docker-compose.yml # 服务编排文件 ├── nginx.conf # Nginx 配置 ├── .env # 环境变量 ├── start.sh # 启动脚本 ├── DEPLOYMENT.md # 部署文档 ├── DOCKER_GUIDE.md # Docker 实践指南 └── README_DOCKER.md # 本文档

🔧 常用命令

服务管理

# 启动所有服务 docker-compose up -d # 停止所有服务 docker-compose down # 重启所有服务 docker-compose restart # 查看服务状态 docker-compose ps # 查看服务日志 docker-compose logs -f # 查看指定服务日志 docker-compose logs -f backend

构建管理

# 重新构建指定服务 docker-compose build backend # 重新构建所有服务 docker-compose build # 强制重新构建(不使用缓存) docker-compose build --no-cache

数据管理

# 查看数据卷 docker volume ls # 备份MySQL数据 docker exec db mysqldump -u ragwebui -pragwebui ragwebui > backup.sql # 恢复MySQL数据 docker exec -i db mysql -u ragwebui -pragwebui ragwebui < backup.sql # 清理所有数据(谨慎使用) docker-compose down -v

RAG 工作流程

故障排查

服务无法启动

  1. 检查端口占用:
netstat -tulpn | grep -E ':(80|3000|8000|8001|3306|9000|9001)'
  1. 查看服务日志:
docker-compose logs [服务名]
  1. 检查磁盘空间:
df -h

数据库连接失败

  1. 检查MySQL服务状态:
docker-compose ps db
  1. 进入MySQL容器:
docker-compose exec db mysql -u ragwebui -pragwebui ragwebui

前端无法访问后端

  1. 检查网络配置:
docker network inspect workspace_app_network
  1. 检查Nginx配置:
docker-compose exec nginx nginx -t