目的
- 了解RagFlow的基本概念和功能
- 部署RagFlow并基于本地大模型进行问答
- 了解RagFlow的高级功能
- 了解RagFlow与其他各类知识库应用的优缺点
1. RagFlow介绍
RagFlow是一款基于专业级的知识库应用,它可以帮助用户构建、管理、检索、进行问答、分析问答结果等。RagFlow的主要特点有:
- 图数据库:RagFlow可以使用text2img,解析理解图像内容,基于此可以存储大量图像知识。
- 知识库管理:RagFlow提供知识库管理功能,可以方便地对知识库进行增删改查。
- 问答系统:RagFlow提供问答系统,可以根据用户的输入进行问答,并给出相应的答案。
- 分析问答结果:RagFlow提供分析问答结果功能,可以对问答结果进行统计、分析、挖掘等。
2. RagFlow部署
2.1 下载RagFlow
你可以到github上获取到RagFlow的资源压缩包,RagFlow下载
网盘压缩包内文件名:ragflow.zip
下载完成后,解压压缩包至任意文件夹下。
2.2 配置RagFlow
打开RagFlow的配置文件,在ragflow/docker/.env文件中将最后一个含有huawei的镜像源的注释关掉
否则可能不是完整版本的RagFlow
你可以使用ctrl+f搜索huawei关键字定位到这一行
2.3 修改端口映射
RagFlow的默认端口为80,为了防止端口冲突,我们需要修改RagFlow的端口映射。
打开RagFlow的配置文件,在ragflow/docker/docker-compose.yml文件中找到ports字段,修改其中的端口映射。
将80:80修改为8080:80以及8443:443
3. 使用docker拉取镜像依赖
启动docker,在当前文件夹ragflow/docker下打开命令行或powershell,输入以下命令拉取RagFlow的镜像依赖:
docker compose -f docker-compose.yml up -d
全部显示running说明镜像依赖拉取成功。
4. 登陆ragflow并配置模型
4.1 登陆RagFlow
启动RagFlow后,打开浏览器,输入http://localhost:8080/login
进入RagFlow的登陆页面。
填写任意邮箱和密码,点击“登陆”按钮。
4.2 配置模型
登陆成功后,点击右上角的头像,找到模型供应商,选择ollama,点击添加模型
按照此前教学,依次添加LLM和嵌入模型,如下图:
注意默认是优先填写嵌入模型,不要填错
4.3 修改系统默认模型
点击当前页面的右上角系统模型设置,选择我们导入的大模型和嵌入模型,点击确定
5. 创建知识库
点击上方知识库,点击创建知识库,跳转页面后,在不进行其他设置的情况下,点击确定,进入文件上传页面
上传完成后,需要对知识库内容进行解析,如下所示:
6. 创建助理并测试效果
点击上方聊天,点击创建助理,任意输入任意名称,选择知识库,后点击确定
创建完成后,进行问答即可:
7.核心或专有功能介绍
- ragflow 可以定义嵌入知识的语言类型:中文或英文
- ragflow 可以选择知识的内容类型:单页/书籍等
- 支持使用rerank(重新排序模型)/img2twxt(图像转语义)
- 支持表格转html,是表格数据处理良好
8.各类知识嵌入应用的优劣比较
| 序号 | 名称 | 优点 | 缺点 |
|---|---|---|---|
| 1 | Pageassist | 易上手、部署轻松、资源占用小、联网访问、支持json数据集导入(更准确、类微调) | 和ollama 高度绑定、可自定义嵌入功能实现较差、没办法团队工作、支持的文件类型较少(尤其不支持表格) |
| 2 | AnythingLLM | 团队工作、可以识别网址(url) | 下载安装出现问题(需要科学上网)、出现过无法使用其他本地嵌入模型的情况、部分反馈自带的嵌入模型识别不精准 |
| 3 | Dify | 团队工作、联网检索、尤其在工作流中查询知识库表现优异、可以通过提前预置分支的形式另大模型自行判断去定位哪一个种类的知识库、支持图转文、支持工作流文件导出与导入 | 不能多成员、部署难度大 |
| 4 | Ragflow | 团队工作,多响应角色、原生支持表格转html、支持图转文、文本解析能力更强、除ollama外支持LMstudio作为模型提供商、支持解析方式自定义如定义嵌入内容是否为中文等、支持响应角色的名称头像自定义更具专业性 | 部署难度大、相较于dify,没有更强的工作流的实现 |
原文链接:https://www.eogee.com/article/detail/17