一、RAGFlow 是什么?

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,通过融合前沿的 RAG 技术与 Agent 能力,为大型语言模型提供卓越的上下文层。它提供可适配任意规模企业的端到端 RAG 工作流,凭借融合式上下文引擎与预置的 Agent 模板,助力开发者以极致效率与精度将复杂数据转化为高可信、生产级的人工智能系统

架构如图
在这里插入图片描述

1.1.为什么要搭建RAG知识库

方案核心优势:
1.完全开源免费、商用无版权风险;
2.原生企业级能力:文档智能切片、重排序、可视化RAG链路、知识库权限管理、多租户;
3.支持本地私有化部署,所有数据不出企业服务器;
4.兼容本地模型/API模型混合部署,适配低配服务器/显卡环境;
5.自带文档解析、表格提取、PDF/OCR、Word/PPT全格式解析,无需额外开发。

1.2.使用工具介绍

  • 工具组合:Windows+Docker+Ollama + LLM + BEG-M3
组件类型 推荐软件 作用与理由
核心引擎 RAGFlow (Docker 版) 开源核心,负责文档解析、切片、检索和工作流编排。
模型服务 Ollama 本地模型运行框架,替代云端 API。(企业建议使用llama.cpp本地部署大模型,资源利用率更高
大语言模型 qwen3.5:9b 推荐通义千问开源版,中文能力强,我这硬件限制演示只能用9B量化版(企业使用规模更大精度更高的模型)。
向量模型 BGE-M3 通过 Ollama 加载,支持多语言、长文本,RAGFlow 原生支持极好。
交互界面 RAGFlow 原生 UI 官方自带界面已足够商用,支持对话、知识库管理和 API 调试。

二、部署流程

2.1 安装 Docker

Docker下载地址
在这里插入图片描述

docker默认安装到C盘,如果想自定义其他目录,需要提前创建好目录,自定义命令安装。在docker安装包目录执行以下命令

#这里安装到了D盘,分别创建了数据目录和程序目录
start /w "" "Docker Desktop Installer.exe" install --installation-dir="D:\Docker\Program" --wsl-default-data-root="D:\Docker\Data"

命令行显示安装进度,也会弹出安装窗口
在这里插入图片描述

2.1.1 安装WSL

Docker Desktop 在 Windows 上是依托于 WSL2(Windows Subsystem for Linux)运行的

# 安装命令,如果你网络环境好,可以直接安装成功
wsl --install 
# 命令拓展,以下命令了解即可
wsl -l -v:查看当前安装了哪些 Linux 系统,以及它们的状态和版本号(是 WSL 1 还是 WSL 2)。
wsl --shutdown:彻底关闭所有正在运行的 WSL 实例(排查 Docker 或 WSL 故障时的神器)。
wsl -d <发行版名称>:启动指定的 Linux 系统(例如 wsl -d Ubuntu-22.04)。
wsl --set-default-version 2:将以后新安装的 Linux 系统默认设为性能更好的 WSL 2 版本。
wsl --update:手动更新 WSL 的内核组件。

如果下载报错,切换镜像源

直接下载 Ubuntu 镜像包

  • 请在你的 Windows 浏览器中访问这个国内镜像地址(这是微软官方的 Ubuntu 22.04 镜像,国内下载速度很快):
    https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/jammy/current/jammy-server-cloudimg-amd64-wsl.rootfs.tar.gz
  • 下载完成后,把它重命名为 ubuntu.tar.gz,并放在一个好找的地方(例如 D:\WSL\ubuntu.tar.gz)。
    手动剪切到 WSL(D:\WSL\)
  • 打开 PowerShell(管理员),执行以下命令。
# 这里把系统安装到D:\WSL\Ubuntu , 刚刚安装的镜像包改名后放在了D:\WSL\下
wsl --import Ubuntu D:\WSL\Ubuntu D:\WSL\ubuntu.tar.gz --version 2

在这里插入图片描述

wsl系统安装成功后,docker界面
在这里插入图片描述

2.1.2 Docker 关键配置(防止启动报错)

RAGFlow 依赖 Elasticsearch/Infinity 作为向量数据库后端,这些组件对系统内核参数有硬性要求。

  • 1.调整 vm.max_map_count 参数:
    确保 Docker Desktop 正在运行。
    以管理员身份打开 PowerShell,执行以下命令,将 WSL 的内存映射区域数调整为 262144:

# 临时启动修改
wsl -d docker-desktop sh -c "sysctl -w vm.max_map_count=262144"

#永久改动,还需要在 /etc/sysctl.conf 文件里把 vm.max_map_count 的值再相应更新一遍:

执行效果
在这里插入图片描述

  • 2.配置国内镜像加速

右键 Docker 托盘图标 -> Settings -> Docker Engine;在右侧的 JSON 配置中,加入 “registry-mirrors” 字段(如下所示),然后点击 Apply & restart

# 很难想象我尝试了多少个镜像源地址,才发现这俩能正常下载
{
  "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } },
  "experimental": false,
  "features": { "buildkit": true },
  "registry-mirrors": [
  "https://docker.m.daocloud.io",
  "https://mirror.baidubce.com"
  ]
}

在这里插入图片描述

2.2 安装 Ollama

参考另一篇使用ollama部署本地大模型文章,去安装ollama和大模型

链接: AI学习之私有化部署本地大模型-ollama+qwen3

2.3 安装 RagFlow

  • a.可以直接git拉取,也可以下载zip包
    没有科学上网途径的话,建议下载zip吧,我git拉几次都中断了
# 拉取命令
https://github.com/infiniflow/ragflow.git

访问github下载地址: RagFlow
我这下载到的是v0.25.3版本
在这里插入图片描述

  • b.下载后解压,找到docker目录编辑.env文件
    在这里插入图片描述
# 1.自定义web端口,或其他端口,防止和其他应用冲突
SVR_WEB_HTTP_PORT=8082

# 2.核心镜像源配置RAGFLOW_IMAGE,修改为国内源下载快
RAGFLOW_IMAGE=swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow:v0.25.3
# PS:还有其他可自定义配置,有进一步需求的可以单独研究一下

在这里插入图片描述

  • c.执行启动命令
# 使用powershell 进入到这个docker目录执行
docker compose -f docker-compose.yml up -d

# 我这和之前的mysql端口冲突了,卸载之后重启拉起服务成功了

在这里插入图片描述

耐心等待:首次启动需要下载 MySQL、Redis、Elasticsearch、MinIO 以及 RAGFlow 主镜像,总下载量较大。你可以输入 docker compose ps 随时查看进度,直到所有容器的状态都变为 Up (healthy)

  • d.docker查看container,全部启动成功
    在这里插入图片描述
  • e.访问地址方式
    先cmd命令行输入 ipconfig命令,找到自己电脑的IPV4地址
# 初次登录还是需要注册一下,等了后页面正常可以,可以继续配置功能了
 http://192.168.0.117:8082/
# 只需输入 http://IP_OF_YOUR_MACHINE 即可:未改动过配置则无需输入端口(默认的 HTTP 服务端口 80)。

右上角可以直接切换english为简体中文
在这里插入图片描述

2.4 配置本地大模型

进入设置配置模型提供商

在这里插入图片描述

  • Embedding模型配置内容
# Embedding模型配置内容
1.模型类型:选添加Embedding模型
2.模型名称:直接cmd窗口,输入ollama list 命令回去应用模型名称即可
3.基础Url:host.docker.internal 是 Docker 预留的域名,专门指向宿主机。
4.本地部署的模型无需API KEY
5.最大token数 8192

在这里插入图片描述

  • Chat模型配置内容
# Chat模型配置内容
1.模型类型:选添加chat模型
2.模型名称:直接cmd窗口,输入ollama list 命令回去应用模型名称即可
3.基础Url:host.docker.internal 是 Docker 预留的域名,专门指向宿主机。
4.本地部署的模型无需API KEY
5.最大token数 32768 ;模型支持128K,但是我的显卡可能扛不住,生产环境根据硬件去配置
6.启用工具调用:开启 ;RAGFlow 需要模型调用“搜索知识库”等工具,必须开启。
7.是否支持 Vision:开启;Qwen 系列是多模态模型,开启后可解析知识库中的图片/图表。(如果你用的模型是仅文本 就不要开启这个)

qwen3.5:9b 8G显存搞不定,最终换成Llama 3.1:8b了,这个上下文可以开到16k
说明:Llama 3.1 是目前开源界公认的“六边形战士”,在逻辑推理、代码生成、文本总结方面表现极佳,甚至在很多场景下优于 Qwen3-9B。Llama 的长文本管理做得很好

在这里插入图片描述
先这样吧, 我把qwen3.5:9b 的识图功能关闭了,配上4k上下文勉强运行,算了回头下个qwen3:8b把, 越搞越想升级显卡了!!!

添加模型时的四类
Embedding:bge-m3 (约 1GB) —— 负责找书。
Rerank:bge-reranker-v2-m3 (约 1.2GB ) —— 负责精选。
OCR:glm-ocr (约 2.2GB) —— 负责看图。
LLM:llama3.1:8b (约 5GB) —— 负责写答案。

  • 创建知识库
    这里先创建一个测试知识库
    在这里插入图片描述

  • 上传知识库文件
    我上传我的个人信息
    在这里插入图片描述

  • 创建聊天,知识库搭建完成
    在这里插入图片描述

更多自定义配置,搭建尽情探索吧~~~

主要参考内容:https://github.com/infiniflow/ragflow/blob/main/README_zh.md

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐