一、RAGFlow简介
RAGFlow是一个基于对文档深入理解的开源RAG(Retrieval-augmented Generation,检索增强生成)引擎。
主要作用: 让用户创建自有知识库,根据设定的参数对知识库中的文件进行切块处理,用户向大模型提问时,RAGFlow先查找自有知识库中的切块内容,接着把查找到的知识库数据输入到对话大模型中再生成内容输出。
平台特点: 支持丰富的文件类型,如Word、PPT、excel表格、csv/txt、图片、PDF、结构化数据、网页等 。
平台Demo链接: https://demo.ragflow.io.
二、win10 系统本地化部署 RAGFlow 平台
2.1 部署思路
1、通过win10系统自带的wsl构建linux虚拟环境;
2、通过docker desktop实现docker环境部署
3、通过ollama实现大模型底座下载管理;
4、将ragflow平台下载到本地linux环境进行运行部署,使用ollama中的大模型能力;
5、自己构建业务数据训练本地大模型;
6、测试训练结果。
2.2 环境要求
CPU >= 4 cores
RAM >= 16 GB
Disk >= 50 GB
Docker >= 24.0.0 & Docker Compose >= v2.26.1
2.3 前置条件(win10 环境设置)
可通过代码或者自己配置实现环境设置。
(1)代码修改
// 启用适用于 Linux 的 Windows 子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
//检查运行 WSL 2 的要求
//若要更新到 WSL 2,需要运行 Windows 10。
// 对于 x64 系统:版本 1903 或更高版本,采用 内部版本 18362 或更高版本。
// 对于 ARM64 系统:版本 2004
// 或更高版本,采用 内部版本 19041 或更高版本。
// 低于 18362 的版本不支持 WSL 2。使用 Windows Update 助手更新 Windows 版本。
//启用虚拟机功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
//开启“虚拟机平台”后需要重启电脑生效。
//将 WSL 2 设置为默认版本
wsl --set-default-version 2
//查看当前wsl版本列表
wsl --list --verbose
(2)手动配置
注意:开启以上功能需要重启
2.4 开始部署
2.4.1安装Docker
(一)下载Docker安装包
链接: https://docs.docker.com/desktop/setup/install/windows-install/
(二)安装Docker
直接下一步安装就行。
(三)安装Docker成功
2.4.2利用wsl安装ubuntu系统
(一)更新wsl
//更新一下可以解决很多后面的问题,自己安装的时候没有更新,搞了很久。
wsl --update
(二)利用 wsl 安装 Ubuntu
//安装ubuntu命令
wsl --install -d ubuntu
//安装成功以后会自动提醒创建用户,按照要求创建用户、设置密码
//使用刚创建的账户登录
//因为docker一些操作需要root账户,但是这时候不知道root 密码,通过命令修改密码
sudo passwd
//输入当前登录账户的密码,然后输入新密码,这时候可以使用新密码登录root账户
su root
//至此linux环境安装成功。
(三)建议安装windows terminal,操作wsl安装的系统
windows terminal的操作界面会比默认的CMD看起来舒服一点,而且方便单独操作虚拟系统。
(四)按照建议修改系统参数
按照官方建议调整vm.max_map_count参数
sysctl vm.max_map_count
sudo sysctl -w vm.max_map_count=262144
(四)下载 ragflow
RAGFlow官方链接: https://infiniflow.cn/docs/v0.7.0/
git clone https://github.com/infiniflow/ragflow.git
注意:如果出现下列问题可修改hosts文件解决
文件位置:
C:\Windows\System32\drivers\etc
最下方添加:
10.10.211.68 www.github.com
如果效果不明显,可自己调整延迟最低的ip映射
访问以下地址查看本地延迟情况,然后选择延迟最低的。
https://ping.chinaz.com/github.com
注意:如果出现下载慢导致下载失败,可使用以下办法尝试解决
2.4.3 安装 RagFlow
官方链接:RagFlow
#配置要求
CPU >= 4 核
RAM >= 16 GB
Disk >= 50 GB
Docker >= 24.0.0 & Docker Compose >= v2.26.1
如果你并没有在本机安装 Docker(Windows、Mac,或者 Linux), 可以参考文档 Install Docker Engine 自行安装。
#克隆仓库
git clone https://github.com/infiniflow/ragflow.git
文件比较大,需要下载一段时间,下载完成后:
# 进入下载目录
cd ragflow
#运行ragflow
docker compose -f docker/docker-compose.yml up -d
# 注意:这里需要启动本地docker desktop 应用,不然无法执行。
下载、运行成功以后,会在docker desktop 管理端看到以下镜像信息。
# 注册账号
登录127.0.0.1:80 进行注册账号登录
2.4.4 安装 Ollama
管网下载并安装[Ollama](https://ollama.com/)。
具体安装过程自行查找,安装成功以后可按照以下方式进行验证。
输入以下链接查询服务是否i东
http://127.0.0.1:11434/
#根据个人电脑配置情况下载需要的大模型,这里推荐使用qwen2或者qwen2.5,模型大小从效果考虑建设使用7b以上,但是本地设备配置不够的话,可以使用1.5b尝试效果。
#模型下载安装命令(win10中安装)
#列出模型
ollama list
#删除模型
ollama rm
#显示模型信息
ollama show
#下载运行qwen2:7b
ollama run qwen2:7b
#下载Embedding模型,一个免费的中文的向量化模型
ollama pull shaw/dmeta-embedding-zh
2.4.5 准备个人数据
这里提供一个训练数据下载地址,里面有一些业务的训练数据。
https://huggingface.co/InfiniFlow
也可以完全自己构建训练数据集,数据训练格式参考如下:
2.4.6 运行RagFlow
1、注册账户。http://127.0.0.1/login
2、创建知识库
3、配置数据库
4、解析数据集
5、问答测试(我这里使用的是医疗数据,如我没有进行数据训练,测试将无结果)