[AI实战]搭建基于 RAGFlow + DeepSeek + Ollama 的知识库问答系统(三)
·
搭建基于 RAGFlow + DeepSeek + Ollama 的知识库问答系统,需结合以下组件:
- RAGFlow:检索增强生成(Retrieval-Augmented Generation)框架,负责文档解析、向量检索与答案生成流程控制。
- DeepSeek:深度求索公司的大模型(需通过API或本地部署的模型文件调用)。
- Ollama:本地运行大模型的工具,支持Llama、Mistral等模型的量化版本。
一.安装成功截图
默认web端口是80,docker-compose.yml中可做修改:

二. 环境准备
2.1 安装基础工具
# 1.安装 Docker(用于 RAGFlow)
curl -fsSL https://get.docker.com | bash -s docker
# 2.安装 docker-compose(用于 RAGFlow)
curl -L "https://github.com/docker/compose/releases/download/v2.27.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
#3.ollama推荐安装:直接运行安装脚本,脚本安装包在本文附带资源
./install.sh
ollama-linux-amd64
# 4.下载最新安装脚本(可选,可能下载不下来)
curl -fsSL https://ollama.com/install.sh | sh
2.2下载 运行DeepSeek 模型
# 假设 DeepSeek 模型已发布到 Ollama(需替换实际模型名,默认端口为11434)
ollama run deepseek-r1:7b
#查看端口
ss -untlp|grep 11434
三.部署 RAGFlow
3.1 通过 docker-compose.yml 一键部署
原代码部署时镜像拉不下来,可以试下从国内镜像源拉取镜像,本次搭建镜像源选择一下镜像。搭建代码下载后需修改相对应文件。
(1)修改.env
.env 中可配置redis,mysql等占用宿主机端口,根据实际情况修改

(2)docker-compose.yml中直接配置ragflow镜像

(3)docker-compose-base.yml中修改镜像名称,根据自己下载镜像名称都需修改

#下载镜像:docker-compose-base.yml中需修改镜像名称
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.0.39
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.7.0
docker pull minio/minio
docker pull redis:6.2.0
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/infiniflow/infinity:v0.6.0-dev3
#这个镜像比较大,大约9G,需要内心等待
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/infiniflow/ragflow:v0.17.0
#下载源代码
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker
chmod +x ./entrypoint.sh
#如果需要修改redis mysql等端口号在.env文件中修改
docker-compose up -d
docker logs -f ragflow-server
3.2 启动所有服务
#启动服务
docker-compose up -d
#查看容器是否启动
docker ps
#删除服务(可选)
docker-compose down
#停止并删除所有容器及关联的数据卷(可选)
docker-compose down -v
#停止服务(可选)
docker-compose stop
#移除命名卷(谨慎操作)(可选)
docker volume rm mysql_data
docker volume rm big_mysql_data
#强制清理卷(谨慎操作)(可选)
docker volume prune
#查看日志(可选)
docker logs -f 容器名称
查看所有容器是否都已成功启动:

四. 系统模型设置
选择后台部署运行模型:


五. 构建知识库
5.1 上传文档到 RAGFlow
通过 RAGFlow 的 Web 界面(访问 http://localhost)上传文档(PDF、Word、Markdown 等),新增文件后在"动作"列点击解析,需要将原始文件解析为向量数据:

六.构建助理
构建助理时可选择不同的之知识库:

聊天,此次只是在cpu上跑通流程,根据实际情况选择GPU及模型:

七.常见问题解决
7.1 mysql镜像报错
ragflow-mysql | 2025-03-31T02:12:46.026369Z 1 [ERROR] [MY-012960] [InnoDB] Cannot create redo log files because data files are corrupt or the database was not shut down cleanly after creating the data files.
ragflow-mysql | 2025-03-31T02:12:46.026420Z 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Generic error.
在docker-compose-base.yml调整mysql镜像参数
interval: 20s
timeout: 20s
retries: 20
通过以上步骤,即可完成基于 RAGFlow + DeepSeek + Ollama 的知识库问答系统搭建。如需进一步优化,可结合业务需求调整检索策略或微调模型。
希望这篇文章对你有所帮助!如果觉得不错,别忘了点赞收藏哦!
更多推荐



所有评论(0)