RAGflow 是一种结合了 RAG(Retrieval-Augmented Generation)和工作流优化的技术架构,旨在提升生成式 AI 系统的效率和性能。它主要适用于需要动态生成内容且依赖外部知识库的场景,如智能客服、文档生成和数据分析等。RAGflow 系统包含数据检索模块和生成模块,能够在海量数据中快速定位相关信息,并基于检索结果生成高质量的回答或文本内容。此外,RAGflow 还支持多种数据格式解析和基于图的代理工作流构建,提供端到端的检索增强问答能力,具体操作过程参考「本期视频」。RagFlow 的核心特性包括:
- 深度文档理解:支持多种文档格式(如 PDF、Word、Markdown、纯文本等),并能准确提取关键信息。
- 轻量化 RAG 方案:提供简洁的 RAG 流程,降低使用门槛,让用户能够快速上手。
- 可验证的引用:生成的答案不仅具有上下文一致性,还附带清晰的引用来源,提升可信度。
- 灵活的架构:支持外部大语言模型(LLM)与 embedding 服务,用户可根据需求选择不同的 AI 模型。
- 开源可定制:提供完整的源码,支持用户根据自身业务需求进行定制化开发。
模型配置
RAGFlow 模型管理模块支持几乎所有模型提供商、第三方模型服务平台及本地通过 Ollama、LMStudio 部署的模型。在新建知识库的过程中,如果没有配置默认模型,系统会自动跳转到模型配置页面。一般情况下,可以点击右上角 Avatar 头像打开配置界面,选择左侧导航栏『模型提供商』以配置默认模型。
要配置『默认模型』,需确保已经提交了相应的『模型提供商』。添加模型提供商可以点击下方列出的模型提供商列表项,填写正确的 API 信息并保存后即可,接下来打开『设置默认模型』以从添加的模型提供商中选择具体的模型。例图中删除了模型提供商 Qwen,添加了硅基流动、OpenRouter 两家模型提供商,『设置默认模型』时从添加的模型提供商提供的模型列表中对应选择。
建立知识库
知识库的建立非常简单,在『知识库』页面,点击右上角的『创建知识库』,输入知识库名称后,可对知识库进行全局(知识库级)配置,也可直接上传文档并对单个文档进行文档级配置。
无论知识库级还是文档级的 KB 配置,最重要的是切片方法,RAGFlow 针对不同类型(不是格式)的文档提供了对应的切片方法,每一种切片方法在选择后,会在右侧显示该切片放的详细说明和切片小效果图例。
RAGFlow 创建知识库,最重要的是选对解析/切片方法。在不确定文档内容或无法理解解析方法的前提下,可直接采用 General 方法.
- General:无论是 DOCX、PPT 还是 HTML 等多种格式文件,它都能轻松搞定。自动帮你把文本切成合适大小的块,像是给文件做了一个精准的切片,方便后续操作。
- Q&A:要是碰上 excel 文件,两列摆好,问题答案分明;csv/txt 文件,编码和分隔符设置正确,它就能完美适配,让你的问答对轻松对应。
- Resume:简历处理更是不在话下,不管多乱的格式,一键就能结构化,像是给简历施了魔法,关键信息瞬间清晰。
- Manual:针对有分层结构的手册,它按照标题切片,同一部分的内容完整保留,块大小还能自定义,超灵活。
- Table:处理 csv/txt 表格文件,TAB 分隔、列标题明确,还能处理同义词,表格数据立马变得井井有条。
- Paper:论文处理超贴心,按章节切片,既方便理解又能减少计算成本,像是给论文装上了智能导航。
- Book:长篇书籍也不怕,设置好页码范围,负面影响直接消,分析时间大大节省。
- Laws:法律文件的严谨格式它能精准识别,以‘ARTICLE’为单位切片,上下文完整保留,法律条文处理超专业。
- Presentation:PPT 文件每个页面独立成块,缩略图还帮你存好,展示起来超方便。
- One:一个文档就是一个完整块,适合需要总结全文的情况,上下文全保留,总结起来超省心。
- Knowledge Graph:支持多种格式文件,切块后还能提取知识图谱,像是给文件装上了智能大脑,知识关联一目了然。(备注:新版本不再列出 Knowledge Graph 方法,而是与文档解析深度集成,通过启用『提取知识图谱』后,选择 Light、General 分别对应 LightRAG 或 GraphRAG 的图结构。切片方法只能选择其一、非此即彼,而改进了的细颗粒度图谱提取方式可以开关、可以知识库全局应用或单一文档应用,更为灵活)
- Tag:用标签分类文件,查询时带上标签,相关内容轻松定位,文件管理超高效。
创建助手
有了知识库,就可以定义/创建以某一知识库为检索范围的问答助手。创建问答助手,『聊天配置』中的第一个选项卡『助理设置』为必填项,『提示引擎』、『模型设置』选项卡可保持默认值,为可选项。
『助理设置』中的重点包括:
- 助理姓名:必填,指定名称并将在前端显示
- 知识库:必填,指定检索的知识库
- 显示引文:可选,是否在响应输出中显示引文锚点及列表
- 关键词分析:可选,是否在响应输出中显示关键词分析
- Tavily API Key:可选,是否借助 Tavily 进行联网搜索,保持默认为空则不进行联网搜索
创建好助手后,就可以在 RAGFlow 自带的前端中进行智能问答了,具体效果取决于三个方面:知识库的质量、提示词和后端 LLM 能力。
结语
对于简单的问题,尤其是占 QA 多数的单跳问题,使用 RAGFlow 的聊天模块就可以,其实现可以完全依赖于问答助手的创建和配置。
对于复杂的问题(如多跳和 SQL 查询,“负责 A 项目的经理还负责了哪些项目”、“A项目的实施负责人负责过的项目涉及到那几家客户”...)需要通过 agent/workflow 来实现,无论多么复杂、有多少节点的 workflow,在企业级应用中,涉及业务的工作流入口节点理论上都应该是知识库检索,而不应该是请求 LLM 。RAGFlow 的 agent 实为 workflow,但某种程度上来说,workflow 只是易用,核心实现完全可以包裹集成在一个 agent 中,所以 RAGFlow 的 agent 定义也没毛病。有关RAGFlow 工作流的“绘图”,后续记录分享。
更多精彩,敬请关注「老E的博客」!
文章评论