ragflow RAG知识库 部署教程

ragflow资源包链接: https://pan.baidu.com/s/1s42IuYonJjHl9YwwTkf3TQ?pwd=92ty 提取码: 92ty

Ragflow简介

之前出过一期视频,介绍的很详细,侧重讲解ragflow功能,只是部署过程对小白不太友好,重新出一期详细教大家如何部署。

安装ragflow

1.准备工作

  • 装好docker (参照前两个视频)

  • 设置好镜像源 (参照前两个视频)

  • 配置要求

    • CPU >= 4 cores
    • RAM >= 16 GB
    • Disk >= 50 GB(查看WSL Settings 文件系统,默认分配的是够用的,不够调整下)
    • Docker >= 24.0.0 & Docker Compose >= v2.26.1
  • 检查确认

    • 确保 vm.max_map_count 不小于 262144,这个参数是Linux内核参数,用于限制进程可使用的最大内存映射数量。

    • 直接在docker desktop的终端里检查确认,修改。

    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      wsl -d docker-desktop -u root
      #查看
      sysctl vm.max_map_count
      # 确保不小于262144,若小于则需要修改下
      vi /etc/sysctl.conf
      vm.max_map_count=262144
      # 按ESC键,输入:wq 回车进行保存
      # 使更改永久生效
      sysctl -p

2.下载稳定版

  • 官方发布页面下载源码:目前最新稳定版v0.20.5

  • 如果你打不开官网发布页面,博主提供资源包,放在文章最开始,将资源包中的 ragflow-0.20.5.zip 放到D盘根目录(放哪都可以,但是不要随意移动删除)

  • 版本介绍:

RAGFlow image tag Image size (GB) Has embedding models? Stable?
v0.20.5 ≈9 ✔️ Stable release
v0.20.5-slim ≈2 Stable release
nightly ≈9 ✔️ Unstable nightly build
nightly-slim ≈2 Unstable nightly build
  • 完整版带的embedding向量化模型包括

    • BAAI/bge-large-zh-v1.5

    • maidalun1020/bce-embedding-base_v1

  • 默认配置文件选用的是slim稳定版(不带向量化模型),如果想使用完整版后面会演示如何修改配置文件。

  • 我这里给大家演示完整版,同时也会教大家如何部署及对接自己部署的或第三方模型供应商的模型。

3.编辑配置文件

解压到当前文件夹,进入到 ragflow-0.20.5\docker 目录下,找到.env文件 右键打开方式 选择其他应用 记事本

  • CTRL+F 搜索定位 DOC_ENGINE=${DOC_ENGINE:-elasticsearch} 就在前几行
    • DOC_ENGINE 顾名思义文档引擎,用来存储全文和矢量的,有三个选择:
      • elasticsearch(默认)
      • infinity 不支持linux/arm
      • opensearch
  • CTRL+F 搜索定位 RAGFLOW_IMAGE=infiniflow/ragflow:v0.20.5-slim

    • 在前方加个#,意为注销掉这段配置,不使用slim版本
  • CTRL+F 搜索定位 # RAGFLOW_IMAGE=infiniflow/ragflow:v0.20.5

    • 将其前面的#删除,意为启用这段配置,使用完整版。
  • CTRL+F 搜索定位 # HF_ENDPOINT=https://hf-mirror.com
    • 将其前面的#删除,意为可以使用 hf-mirror.com的镜像源(一个公益项目,huggingface.co的镜像)

修改完成后保存关闭

修改端口(非必须,端口冲突时才需要,例如多个web服务,都用80,443端口),我这里改成8090,4443

1
2
3
4
5
6
7
# 修改docker-compose.yml
找到
- 80:80
- 443:443
将其修改为你需要的端口,例如8090,4443
- 8090:80
- 4443:443

修改开机启动设置

1
2
3
4
5
6
# 修改docker-compose.yml
找到restart: on-failure
改为restart: always
# 修改docker-compose-base.yml
找到所有的restart: on-failure
改为restart: always

4.启动ragflow

1
2
3
4
# 命令提示符cmd
cd /d D:\ragflow-0.20.5\docker
# 注意你的目录,粘贴运行如下命令
docker compose -p ragflow -f docker-compose.yml up -d

等待安装完成,如果期间报错退出,重新运行上述命令,如果还不行,需要回到docker desktop 去更改镜像源了(上一期视频讲过了Docker镜像源)。如果还是不行那么只能代理了。

安装完成后,查看状态均是 started,healthy。

本机浏览器打开 127.0.0.1:8090 (注意端口号,默认是80我这里修改成了8090)即可访问ragflow

局域网 ip:端口号 也可以;

有公网IP的,防火墙入站规则打开端口后 同样是 ip:8090

第一次打开需要先注册后登录

5.设置及对接模型

1.更改语言

右上角可以更改语言为简体中文

2.配置模型

ragflow右上角用户图标-模型供应商

2.1 对接其他模型供应商

找到对应模型供应商,点击添加模型,粘贴API-Key即可

以 gemini、及deepseek官方API 为例

2.2对接ollama

如果你没有安装ollama及模型,参照博主之前的视频。

终端输入 ollama list 可以查看模型列表

这里展示对接两个:语言模型 deepseek-r1:8b 以及向量化模型 nomic-embed-text:latest

点击 ollama 的添加模型

添加 deepseek-r1:8b

  • 模型类型 选择chat
  • 模型名称(从ollama list 复制战天过来) deepseek-r1:8b
  • 基础URL http://host.docker.internal:11434
  • API-Key 留空
  • 最大token数 99999

添加 embedding 向量化模型

  • 模型类型 选择 embedding
  • 模型名称(从ollama list 复制战天过来) nomic-embed-text:latest
  • 基础URL http://host.docker.internal:11434
  • API-Key 留空
  • 最大token数 99999

添加完成后,上方就会展示我们添加过的模型。

2.3 系统模型设置
  • 页面右上方 系统模型设置 意思就是设置默认模型

  • 聊天模型 选择一个,我这里是deepseek-r1:8b

  • 嵌入模型 选择一个,系统自带的默认会使用CPU,自己部署的会使用GPU
  • Img2txt 选择一个,留空也行,视觉模型,用于图片或视频,可以自行部署例如 Qwen2.5-VL-7B-Instruct
  • Speech2txt模型 留空即可,用于语音转文字
  • Rerank模型 选择一个系统自带的就行
  • TTS模型 留空即可

点击确定进行保存。

6.创建知识库

1.点击创建知识库

  • 名称 随便起 点击保存
  • 配置

    • 通用

      • 权限 如果权限是“团队”,则所有团队成员都可以操作知识库。
    • 切片方法

      • 切片方法 不同类型文档选择不同切片方法,解析效果会更好,见页面右侧,点击了解更多就会显示出示例。
    • PDF解析器 只用于 pdf 使用视觉模型进行 PDF 布局分析,以更好地识别文档结构,找到标题、文本块、图像和表格的位置。 如果选择 Naive 选项,则只能获取 PDF 的纯文本。请注意该功能只适用于 PDF 文档,对其他文档不生效

    • … 其他自行看说明,不懂默认也行。勾选的越多解析的越慢。

设置完成后点击保存

2.上传资料

点击知识库-新增文件-本地文件-可以上传文件

上传完成后 可以逐个文件进行解析 点击右侧图标,也可勾选全部,批量解析。解析过程同时占用CPU,GPU,鼠标光标放到进度条会显示解析的具体步骤。

解析完成后 点击文件 可以查看解析块,双击解析块,可以编辑解析块,添加关键词及给定问题。

7.聊天助手

点击聊天-创建聊天-输入名称-点击进入聊天-聊天设置

知识库必选,自由度选择精确。其他按需要设置。点击保存

点击左侧会话的 + 号,创建会话,就可以进行对话了

8.搜索

搜索 顾名思义

9.智能体(工作流)

可以新建一个空白模版,自行编排工作流,添加组件;也可以使用现成的模版。初学者照猫画虎改现成模板。

参考官方文档 RagFlow Docs