网上一直有一种声音,叫做AI抢了大部分人的饭碗,同时也提供了大量的新的工作岗位。随着部署使用这次的 RAGFlow,就更加感受到了这一点。
RAGFlow 是什么
RAGFlow 是一款 开源的 RAG(检索增强生成)引擎,专注于通过深度文档理解技术,帮助企业及个人高效处理复杂格式的非结构化数据(如合同、报表、论文等),并生成带精准引用的可信回答。
上面是 deepseek 给的介绍,再说说我的理解:他就是一个用于检索已有数据,提取关键内容后,整合输出的工具引擎。通俗一点来讲,就是一个比较小范围的AI搜索引擎。
本文重心主要介绍使用 RAGFlow 解决实际问题上,下载/安装/部署等前置条件相关,请查看这篇文章:kymjs.com/code/2025/0…
RAGFlow 部署完成以后,可以看到顶部总共有五个TAB,我们重点看【知识库】,【聊天】,【Agent】。
知识库
这个是最核心的部分,用于存储全部的文档数据。文档上传以后,AI会自动解析文档,有多种解析方式,目的就是把文档中的内容记录下来,方便查询的时候,能够快速用文档中的内容回答对应的问题。
点击右上角的创建知识库,名字可以随便给,比如上面的图,我创建了三个知识库,分别是测试数据,官网的文档,GitHub issue。
创建完知识库以后,首先要做的第一件事就是设置好知识库对文档的解析方式。也就是下图圈起来的部分。
这里重点介绍最常用的两种:General 和 Q&A
General 切片
"General" 分块方法支持的文件格式为MD、MDX、DOCX、XLSX、XLS (Excel 97-2003)、PPT、PDF、TXT、JPEG、JPG、PNG、TIF、GIF、CSV、JSON、EML、HTML。 此方法将简单的方法应用于块文件:
- 系统将使用视觉检测模型将连续文本分割成多个片段。
- 接下来,这些连续的片段被合并成Token数不超过“Token数”的块。
简单来说就是,首先基于图像分块(比如jpg这类图片)分好块以后,再提取文字或图片内容,将内容合并成一个块。没错,他就是基于块来切片的。
同时你可以自定义分块的方式,比如这里,默认是根据\n也就是换行符来分块,你也可以自定义,根据某个特殊字符来分块,同时支持定义每个块的 token 数。需要注意的是,这个 token 数并不是绝对的,比如如果AI认为此时的块过大,也会自己拆分。
这种切片方式,通常适合官网文档,或者技术博客这种长篇文章的切片。AI自己提取每段的主要内容,如果有必要,还会生成每段的关键词和对应解决的问题,当然这些关键词和问题你也可以自己手动编辑,用于应对后续问题的回复。
Q&A 切片
本文节选,完整原文请访问开源实验室:kymjs.com/code/2025/0…