RAGFlow 如何助力企业打造智能知识库?全面解读其应用路径

官方文档(v0.19.0版本):https://ragflow.io/docs/v0.19.0/

安装启动

项目Clone到本地之后,同样用Docker方式进行安装。具体安装方式和Dify类似,但是要注意,如果使用CPU时,安装时用

docker compose -f docker-compose.yml up -d

如果是GPU时,安装史用

docker compose -f docker-compose-gpu.yml up -d

具体安装流程可以参照官方文档提供的下图:

图片

这里要注意一点,不推荐个人电脑安装RAGFlow,无论是Mac还是Windows系统,安装时有坑,建议直接Linux服务器安装,配置上也尽量高一些,官方推荐的最低配置如下:
在这里插入图片描述

我个人推荐最低要8核的CPU,内存最低32G,硬盘直接上固态,空间尽可能的大。如果有条件的话,上GPU最好,推荐RTX 4060保底。

Tips:为什么RAGFlow的硬件配置那么高,远高于DIfy安装需要的配置。最主要的原因是它是最接近企业级的RAG知识库系统,对文档进行embedding处理时会消耗大量显存和算力,它背后能够处理的并不单单只是文档里的文字,还提供了一系列的OCR(光学字符识别)、TSR(表结构识别)和DLR(文档布局识别)等视觉模型方式来处理文档。并且在往向量数据库(默认是Faiss,但是可以配制成其他的)存储时,尤其是初始构建索引时,也会很消耗CPU和内存。

使用前配置

项目启动后,我们需要使用前进行一些配置。

首先,需要在设定中添加并配置一些模型。配置的方法和之前写的配置Dify中模型方法一样,就是要添加API-KEY或一些Secret。但是作为一款专业的RAG知识库系统,除了最低需要有Embeding模型和Chat模型外,推荐还需要提供Rerank、TTS、Img2txt等模型。

在这里插入图片描述

配置完后,还需要把默认的模型也进行设置。

在这里插入图片描述

其次,企业在使用时,一定也要对权限进行设置。这里不详细介绍了。

在这里插入图片描述

最后,如果你的知识库最后要对外开放API让别的系统可以调用,别忘了创建API KEY。

在这里插入图片描述

功能介绍

下面,来介绍下RAGFlow的核心功能。从下面图中可以看出,有5个,但是最核心的,其实就两个,一个是知识库(最核心),一个是聊天,其他三个都是辅助功能。有人好不同意了,人家也有Agent智能体功能啊,但实话,个人用起来,不是特别好用,简单的场景还可以,复杂的场景,支持有限。

在这里插入图片描述

先从非核心功能介绍起:

1、文件管理

顾名思义,就是管理你上传的各种知识库文件,没啥多说的。

%3E%3C/g%3E%3C/svg%3E)

2、搜索

单纯的侧重于对知识库文件内容进行检索,会显示出来内容出处(检索片段)。

在这里插入图片描述

这里要区别于最上面【聊天】的菜单。官方还针对这个问题进行了解释二者的区别。

在这里插入图片描述

这里解释下,相比于AI Search(搜索菜单),AI Chat(聊天菜单)的检索策略更佳丰富,更佳灵活,并且支持多轮对话。后面演示聊天功能时,大家可以感受到。

3、Agent

大家可以从下图看到,默认也是预置了一些智能体模版,但是不多。

在这里插入图片描述

整体使用上,还是以拖拽组件形成工作流为主,因为之前在Dify的章节详细讲过了使用方法,RAGFlow的使用也差不多,所以这里不详细介绍了。例如下面创建的HP客服的智能体。

在这里插入图片描述

因为整体可以使用的组件和扩展性有限,外加产品定位是知识库,所以Agent只是起到了辅助作用。如果不想找其他的智能体产品,就想在RAGFlow上全搞了,也没问题。

上面三个辅助性质的功能快速浏览了一遍,下面进入到最核心的部分:【知识库】和【聊天】。

在这里插入图片描述

知识库

我们在知识库菜单,先创建一个新的知识库。

在这里插入图片描述

创建后可以看到,左侧有三个菜单。

第一个是数据集:后续是你要上传文件的地方。

第二个是检索测试:可以对你构建的知识库进行简单的搜索测试。

第三个:也是最最最重要,而又最最最复杂的,就是创建知识库时的各种设置。这里如果你没有RAG的基础,强烈建议你去补一下,否则这个菜单很难用明白。所以针对于RAGFlow这个产品,如果别人创建好了知识库你只是去使用,那没问题。如果你是要创建知识库的话,那一定需要RAG和大模型这些方向的知识,否则用起来会困难些。

在这里插入图片描述

配置中的基础部分:

我们先来对配置中的基础部分进行说明,包含了【知识库名称】、【知识库图片】、【描述】和【权限】这四部分,其中前三部分很简单,不说明了,下面重点说一些【权限】这部分。

在这里插入图片描述

我们可以看到,权限这部分,除了对用户权限进行管理之外,还可以对每个用户的操作权限,是否可以对该知识库进行读、写和管理进行设置。

在这里插入图片描述

配置中的文档解析部分:

这一部分是最复杂,也是最核心的部分。首先先来看两个最固定的部分【PDF解析器】和【嵌入模型】。

嵌入模型:这部分没啥多说的,就是我们配置好的模型厂商下Embedding模型,选一个即可。但要注意,这里有个坑,如果你知识库创建后检索时报错,那有可能是embedding过程中造成的,例如我之前选择了下面百度的bge-large-zh这个模型,最后检索时会报一二维向量不匹配的错误,然后换成阿里的text-embedding-v3后重新向量化一遍就好了。

在这里插入图片描述

PDF解析器:这个看名字就知道了,专对PDF格式处理才起作用。它这下面也有几个选项,除了你自添加的Img2txt模型外,默认会提供DeepDoc和Native两个模型,选择Native会加快Embedding速度,因为只会提取PDF纯文本内容,如果还想提取PDF中图片中的文字,可以选择DeepDoc或者你自添加的Img2txt模型,但是会增加Embedding解析时间。

在这里插入图片描述

如果大家不知道如何使用,可以把鼠标移到每个项目的问号❓上,可以显示该项目的含义和使用方法。例如你不知道PDF解析器是干嘛的,可以通过这种方式快速查看和打开提供的官方地址查看更详细的用法。

在这里插入图片描述

切片方法:这里是RAGFlow整体工具最核心的地方了。也是RAGFlow可以成为最接近企业级知识库的原因,因为它提供了各种不同的切片方法,可支持对各种不同的文档类型进行切片。

默认切片的选项是【General】,它的使用方法和切片配置项对应的是下面绿色的部分。

在这里插入图片描述

然后我们换一个其他的,换成【Q&A】这种切片方式,会发现,它的使用方法和切片配置项都会改变,对应下面绿色的部分。

在这里插入图片描述

让我们再换一个,切片方法换成了【Manual】,发现又变化了,这次可以支持更复杂的PDF格式了。

在这里插入图片描述

所以到这里,我们也可体会到了,它的强大之处在于,针对不同的使用场景,提供了多种切片方法。每个切片方法都有自己对应的切片规则、使用方法和支持的文档类型。尤其,有的切片方法下还支持知识图谱,可以使你的知识库检索更佳精准(GraphRAG稍微复杂些,大家可以私下里查一下,这里不具体解释了)。每个具体切片类型的使用方法,大家可以参照官方文档即可。下面主要介绍下都具体支持哪些切片类型:

1、General最通用的一种切片方法,适用于大多数场景,也支持OCR。支持的格式也是最多的,从传统的PDF、Doc、Excel、PPT到IMAGE格式和HTML等都支持。

在这里插入图片描述

2、Q&A:主要是针对知识问答的场景,需要构建Q&A键值对,支持的格式只有Excel、CSV和TXT三种。

在这里插入图片描述

3、Resume:主要适用于个人简历搜索的场景,左右结构,支持的格式只有DOCX、PDF和TXT。

在这里插入图片描述

4、Manual:支持复杂的PDF解析场景,适用于文档分层较多且格式复杂多变的场景,现在也只支持PDF格式。

在这里插入图片描述

5、Table:这个没啥多解释的,就是针对表格解析的场景。支持的格式以Excel和CSV为主,也支持TXT。

在这里插入图片描述

6、Paper:主要是支持论文解析场景,格式也只支持PDF。

在这里插入图片描述

7、Book:这个也没啥多说的,针对书籍进行解析,现在支持Word、PDF和TXT格式。

在这里插入图片描述

8、Laws:这个也没啥多说的,针对法律文件进行解析,现在支持Word、PDF和TXT格式。

在这里插入图片描述

9、Presentation:这个主要是针对PPT幻灯片进行切片的场景,现在支持PPT和PDF格式两种。

在这里插入图片描述

10、One:这个支持你的文档比较简单,只有整体一部分的场景,例如单页那种文档。现在支持Word、Excel、PDF和TXT格式。

在这里插入图片描述

11、Tag:这个从名字上就可以看出来,主要是针对标签的场景。现在支持Excel、CSV和Txt格式。这里要注意,Tag很特殊,使用“标签”作为分块方法的知识库参与RAG检索过程,标签集中的每个文本分块是都是相互独立的标签和标签描述的文本对。

在这里插入图片描述

下面我对我准备的PDF文档进行解析,因为我的文档《筑基御寒 智胜未来:AI引领企业级降本增效新篇章》是研究报告性质的,比较复杂,既有文本、也有图表、也有图片等,所以我选择【Manual】这种切片方式,然后选择保存。

【数据集】菜单部分

然后我们切换到【数据集】菜单,去上传我们的知识库文件,进行解析。这里我们可以选择创建时就进行解析,或者上传时不解析,稍后进行解析,都可以。

在这里插入图片描述

大家可以看到现在是解析的状态,还有进度提示。这一步会非常的慢,大家不用在这个页面一直等,可以去干别的,每次进入到这个页面都可以看到实时解析的状态。

在这里插入图片描述

解析成功。

在这里插入图片描述

【检索测试】菜单部分

解析成功后,我们就可以进入到【检索测试】菜单进行测试了,我在测试内容中输入了【打造 AI 驱动的企业级降本增效之路】,可以看到检索出了结果。下面的例子我没有选择Rerank模型,如果想让检索效果更好,把相似度最高的结果排在最前面,可以选择Rerank模型。

在这里插入图片描述

总结,到这里,RAGFlow最核心的【知识库】功能就讲解完了,大家可以结合自己的业务场景,选择合适的切片方法和对应进行参数配置(必要时可以考虑构建知识图谱),更好的对文件进行向量化,从而后续进行更精确的检索。撒花🎉🎉🎉!

聊天

现在到了最后一个大的菜单了:【聊天】。之前上面解释过它和【搜索】菜单的区别,下面来看看【聊天】如何使用。

我们进入聊天后,要首先新建一个助理:【聊天】->【新建助理】。在新建助理中的【助理设置】选项卡中,我们要填写【助理名称】和最后的选择一个【知识库】。我这里选择了一个之前创建过的人工智能资料解析知识库。

在这里插入图片描述

在【新建助理】中切换到【提示引擎】这个选项卡,在其中必须填写系统提示词,这里我们用默认的,里面引用到了一个knowledge参数,所以一定要确保把最底部的变量中有knowledge参数并且是启用状态。

在这里插入图片描述

最后,在【新建助理】中切换到【模型设置】这个选项卡,必须选择一个聊天模型即可,这里我选择了deepseek-chat,其他参数不变,然后点击【确定】进行保存。

在这里插入图片描述

下面,我们就可以进行测试了,我们在刚才新建的【clx-聊天助手】菜单中,点击【+】号新建一个会话,然后输入你要查询的内容,例如我下面输入的:第一章讲了什么。然后键盘回车或点击最右下角【发送】按钮。

在这里插入图片描述

可以看到检索出了结果,并且给出了引用的知识库文件。

在这里插入图片描述

这一部分最后也做个总结,【聊天】这一步,就是我们传统的Chatbot,提前设置选定知识库(可以选择一个,也可以选择多个),然后选定一个Chat的对话模型和设定好提示词后,进行提问对话皆可。其中里面检索参数这里都用默认的,大家后续可以根据实际需求设置,如果不知道这些参数干嘛用的,还是建议先掌握一下RAG基础,对应的参考每个项目的问号❓看官方文档去了解每一个参数项都是干嘛的。

到这里,RAGFlow的基础使用就讲完了,整体上给大家串了一遍RAGFlow平台的使用流程,关于创建知识库和聊天这两个核心功能,在演示时,参数大多也都是用默认的,里面有很多设置的技巧和细节都没讲到,包括知识图谱这种高级的用法,后续还会写文章继续更新。起码大家看完这篇文章后,知道RAGFlow是干嘛的,都支持哪些切片方式,使用起来整体的感觉是什么样子的,能了解这些就足够了。

普通人如何抓住AI大模型的风口?

领取方式在文末

为什么要学习大模型?

目前AI大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。

目前,开源人工智能大模型已应用于医疗、政务、法律、汽车、娱乐、金融、互联网、教育、制造业、企业服务等多个场景,其中,应用于金融、企业服务、制造业和法律领域的大模型在本次调研中占比超过 30%。
在这里插入图片描述

随着AI大模型技术的迅速发展,相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业:

在这里插入图片描述

人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!

最后

如果你真的想学习大模型,请不要去网上找那些零零碎碎的教程,真的很难学懂!你可以根据我这个学习路线和系统资料,制定一套学习计划,只要你肯花时间沉下心去学习,它们一定能帮到你!

大模型全套学习资料领取

这里我整理了一份AI大模型入门到进阶全套学习包,包含学习路线+实战案例+视频+书籍PDF+面试题+DeepSeek部署包和技巧,需要的小伙伴文在下方免费领取哦,真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

部分资料展示

一、 AI大模型学习路线图

整个学习分为7个阶段
在这里插入图片描述
在这里插入图片描述

二、AI大模型实战案例

涵盖AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,皆可用。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三、视频和书籍PDF合集

从入门到进阶这里都有,跟着老师学习事半功倍。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

四、LLM面试题

在这里插入图片描述
在这里插入图片描述

五、AI产品经理面试题

在这里插入图片描述

六、deepseek部署包+技巧大全

在这里插入图片描述

😝朋友们如果有需要的话,可以V扫描下方二维码联系领取~
在这里插入图片描述

<think>好的,用户想了解如何实现RAGFLOW知识库数据的永久保存,特别是数据持久化和永久存储的方法。首先,我需要回忆一下RAGFLOW的相关知识,可能涉及数据库存储、文件系统管理以及版本控制等方面。 根据用户提供的引用内容,RAG agent使用FastAPI和PostgreSQL进行开发,其中提到了持久化存储对话历史到PostgreSQL。这说明PostgreSQL是一个关键组件,可能用于存储对话记录或其他结构化数据。不过用户的问题是关于知识库数据的持久化,可能需要考虑知识库的原始文档、向量嵌入等数据的存储方式。 接下来,我应该分解RAG系统的组成部分。通常,RAG(Retrieval-Augmented Generation)系统包括知识库的文档存储、向量数据库用于快速检索,以及可能的元数据管理。因此,数据持久化需要覆盖这几个方面: 1. **原始文档存储**:可能需要使用对象存储(如AWS S3、MinIO)或分布式文件系统(如HDFS)来保存上传的文档,确保文件不会丢失,并且可以随时访问。此外,文件版本控制也很重要,尤其是在文档更新的情况下,需要保留历史版本以便追踪变化。 2. **向量化数据存储**:向量数据库如Milvus、Pinecone或FAISS常用于存储文档的嵌入向量。这些数据库需要支持持久化存储,避免服务重启后数据丢失。例如,Milvus支持将数据持久化到磁盘或云存储,确保向量数据的长期保存。 3. **元数据管理**:使用关系型数据库(如PostgreSQL)来存储文档的元数据,包括文件名、上传时间、版本信息、关联的向量ID等。这有助于建立原始文档、向量数据和对话历史之间的关联,方便后续的检索和管理。 4. **对话历史存储**:用户提到的引用中,PostgreSQL用于存储对话历史,这部分虽然属于应用层数据,但也是整个系统持久化的一部分,可能需要与知识库数据关联,例如通过会话ID或用户ID来链接相关数据。 然后,需要考虑数据一致性和备份策略。分布式系统通常需要事务支持来确保数据的一致性,比如在文档上传时,同时写入元数据库和对象存储,保证两者同时成功或失败。此外,定期备份和容灾方案也是永久存储的重要部分,防止数据因硬件故障或人为错误而丢失。 另外,用户可能关心具体的实现步骤,比如如何配置PostgreSQL和Milvus进行持久化,或者如何集成MinIO作为文档存储。可能需要提供代码示例或配置文件的片段,帮助用户实际操作。 最后,生成相关问题时要覆盖用户可能进一步询问的方向,比如具体数据库的配置、版本控制实现方法、备份策略的选择等,确保全面覆盖数据持久化的各个方面。</think>针对RAGFLOW知识库数据的永久存储实现,需结合分布式存储、数据库事务控制与版本管理三个维度。以下是具体实施方案: 一、分级存储架构设计 1. 原始文档采用MinIO对象存储实现二进制持久化,通过桶策略设置版本控制: ```python from minio import Minio client = Minio("minio.example.com", access_key="AKIAIOSFODNN7EXAMPLE", secret_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY") # 启用版本控制的存储桶 client.set_bucket_versioning("documents", VersioningConfig(True)) ``` 2. 向量数据通过Milvus2.0的日志持久化机制,配置RocksDB作为底层存储引擎: $$ \text{Milvus配置项} = \begin{cases} storage.path: /var/lib/milvus/data \\ wal.enable: true \\ wal.path: /var/lib/milvus/wal \end{cases} $$ 二、事务一致性保障 在PostgreSQL中建立文档-向量映射表,通过两阶段提交协议确保数据原子性: ```sql BEGIN; INSERT INTO document_meta (doc_id, vector_id) VALUES ('d123','v456'); PREPARE TRANSACTION 'tx_20240315_001'; COMMIT TRANSACTION 'tx_20240315_001'; ``` 三、数据生命周期管理 1. 冷热数据分层策略: - 热数据:SSD存储最近30天访问的向量 - 温数据:HDD存储31-90天数据 - 冷数据:AWS Glacier归档存储 2. 基于LSM-Tree的存储引擎优化写放大问题,通过Compaction过程合并数据文件[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值