快速搭建专业AI知识库的开源工具:Ragflow

摘要:在大模型应用的蓬勃发展中,检索增强生成(Retrieval-Augmented Generation,RAG)技术占据了举足轻重的地位。它就像是大模型的智慧助手,通过从外部知识库中检索相关信息,并将其融入到大模型的回答生成过程中,有效提升了大模型回答的准确性、可靠性和时效性,在问答系统、智能客服、文档摘要等多个领域都发挥着关键作用 。

上图是一个常见的AI应用的数据流向图,文档分块之后向量化存储到向量数据库,然后输入文本内容,形成prompt,从向量数据库检索相关的知识背景,发送给LLM之后,返回结果。然而,目前 RAG 在实际应用中仍然存在一些效果问题,严重影响了其应用的体验和价值。比如,幻觉问题较为突出,模型可能会生成一些看似合理但实际上与事实不符的答案,就像在回答关于历史事件的问题时,可能会虚构一些不存在的细节或情节 。拒答现象也时有发生,当检索结果不完整或未能检索到相关内容时,模型就无法给出答案,这在一些对回答及时性要求较高的场景中是难以接受的。此外,回答不完整的情况也屡见不鲜,可能是因为文档切片本身不完整,或者召回过程中存在缺失,导致模型在处理复杂问题时遗漏关键信息,给出的答案无法满足用户的需求 。

造成这些问题的原因是多方面的。语义不协调是一个重要因素,任务的预期含义、RAG 的理解以及存储的底层知识之间可能存在不一致,导致问题与答案在语义上不匹配,使得直接比较问题和原始知识库难以得到理想的结果。向量嵌入技术的不透明性也增加了问题的复杂性,向量在捕捉陈述语义内容方面存在固有缺陷,余弦相似性等度量方法在排名时不够精确,且难以理解和校准这些分数的意义,使得检索结果的可靠性受到影响 。本文介绍一款开源工具解决语义分块的工具,可以快速搭建专业的AI知识库.‍‍‍

  • Ragflow是什么?‍‍‍‍‍‍‍‍‍

  • Ragflow的主要功能‍‍‍‍‍‍‍‍‍‍‍‍‍‍

  • 快速上手Ragflow:构建知识库与应用‍‍‍‍‍‍‍‍‍‍‍

01.Ragflow 是什么

这样的背景下,ragflow 应运而生,为解决 RAG 现存问题带来了新的希望 。ragflow 是一款基于深度文档理解构建的开源 RAG 引擎,它就像是一位智能的知识管家,能够为各种规模的企业及个人提供一套精简高效的 RAG 工作流程。它的出现,让用户在处理各类复杂格式数据时,能够结合大语言模型,获得可靠的问答结果,并且每一个回答都有理有据,有清晰的引用来源 。

ragflow 的主要功能十分强大且全面。在文档处理方面,它支持丰富多样的文件类型,无论是常见的 Word 文档、PPT、Excel 表格、txt 文件,还是图片、PDF、影印件、复印件,甚至是结构化数据和网页等,都能轻松应对,就像一个万能的文件处理器,不遗漏任何一种知识载体 。在文本切片环节,它采用基于模板的文本切片技术,这一技术可不简单,不仅智能化程度高,更重要的是可控可解释 。它提供了多种文本模板供用户选择,用户可以根据不同的文档类型和需求,灵活选择最合适的切片方式,大大提高了文本处理的灵活性和准确性 。在检索和生成过程中,ragflow 基于多路召回、融合重排序,能够从海量的信息中精准地找到与问题相关的内容,并通过大语言模型生成高质量的回答 。同时,它还最大程度地降低了幻觉问题,文本切片过程可视化,用户可以直观地看到文本是如何被处理的,并且支持手动调整,确保答案提供关键引用的快照并支持追根溯源,让每一个回答都真实可靠 。

02.Rag的主要功能‍‍‍‍‍‍‍

深度文档理解与知识提取

ragflow 基于深度文档理解技术,能够从各类复杂格式的非结构化数据中精准提取知识 。无论是密密麻麻的学术论文,还是格式复杂的商务报告,它都能像一位专业的知识侦探,从中找到关键信息,实现真正意义上的 “大海捞针”。在处理一份包含大量图表和数据的市场调研报告时,ragflow 不仅能准确识别其中的文字内容,还能理解图表所表达的信息,并将其转化为可检索和利用的知识,为后续的问答和分析提供坚实的数据基础 。

RAGFlow 能够对 PDF、DOCX、EXCEL、PPT,甚至是图片等复杂格式的非结构化数据进行深度剖析。它的核心组件 DeepDoc 利用视觉信息和解析技术,实现了强大的文档理解能力。在视觉处理方面,借助 OCR(光学字符识别)技术,将图像形式的文档或可转换为图像的文档识别为文本,解决了从图像中提取文字信息的难题。例如,对于扫描版的 PDF 文件,OCR 技术可以准确地将其中的文字转化为可编辑的文本,为后续的处理奠定基础。

布局识别也是视觉处理中的重要环节。不同领域的文件布局千差万别,像报纸、杂志、书籍和简历等在排版上各具特点。DeepDoc 能够精准识别文档的标题、段落、表格、图像等元素,判断文本部分的连续性,以及确定哪些部分需要进行表结构识别(TSR)处理,哪些是配图及对应的标题等。它涵盖了 10 个基本布局组件,几乎能够适应所有常见的文档布局情况。通过布局识别,文档中的信息能够以更结构化的方式呈现,便于后续的分析和处理。

在表结构识别(TSR)方面,DeepDoc 同样表现出色。数据表的结构往往较为复杂,存在层次结构标题、跨单元格和投影行标题等情况。DeepDoc 不仅能够识别表的结构,还能将表中的内容重新组合成大语言模型易于理解的句子。TSR 任务定义了 5 个标签,包括列、行列标题、行标题、合并单元格等,通过这些标签可以更准确地解析表格的结构和内容。

除了视觉处理,解析器也是 DeepDoc 的重要组成部分。针对 PDF、DOCX、EXCEL 和 PPT 这四种常见的文档格式,都有专门的解析器。其中,PDF 解析器最为复杂,因为 PDF 格式具有较高的灵活性。PDF 解析器的输出包括有确切位置(页码和矩形位置)的文本块、带有 PDF 裁剪图像的表格以及已翻译成自然语言句子的表格内容,还有带标题和文字的图。通过这些解析器,不同格式的文档能够被准确地解析,提取出其中有价值的信息。

通过深度文档理解技术,RAGFlow 能够从各类复杂格式的非结构化数据中精准提取知识,在海量数据中快速定位关键内容,极大地提升了信息检索的准确性,为后续的检索和生成高质量回答提供了坚实的数据基础。

模板化分块与可解释性

ragflow 采用的模板化分块技术是其一大亮点 。它提供了多种智能且可解释的模板选项,就像为不同类型的文档量身定制的切割模具 。用户可以根据文档的具体类型和需求,轻松选择最合适的分块模板,确保文本切片的准确性和合理性 。对于简历文档,选择 “Resume” 模板可以按照简历的常见结构,如个人信息、工作经历、教育背景等进行分块,使得后续的检索和处理更加高效;而对于学术论文,“Paper” 模板则能根据论文的章节结构进行分块,方便用户快速定位和获取所需信息 。这种模板化分块方式不仅提高了文本处理的效率,还让整个过程更加透明和可控,用户可以清晰地了解文本是如何被处理和分割的 。

异构数据源兼容性

ragflow 的兼容性非常强大,它支持丰富多样的异构数据源 。无论是常见的文本文件,如 Word、Excel、txt,还是特殊格式的文件,如图片、PDF、影印件、复印件,甚至是结构化数据和网页等,都能被 ragflow 轻松接纳和处理 。这意味着用户在构建知识库时,可以将各种不同类型的数据整合在一起,无需担心格式不兼容的问题 。企业可以将内部的合同文档、财务报表、会议纪要等不同格式的文件统一导入 ragflow,构建一个全面的企业知识库,为企业的决策和运营提供有力支持 。

自动化工作流与配置性

ragflow 为用户提供了自动化的 RAG 工作流,从文档的上传、解析、分块,到信息的检索和回答的生成,整个过程都能高效自动地完成 。同时,它对大语言模型和向量模型具有高度的可配置性,用户可以根据自己的需求和实际情况,灵活选择不同的大语言模型和向量模型 。用户可以根据自己的预算和性能需求,选择合适的大语言模型,如DeepSeek-V2、 GPT-4、文心一言等,也可以根据数据的特点和应用场景,选择不同的向量模型进行文本的向量化表示 。这种高度的可配置性,使得 ragflow 能够适应不同用户和不同场景的需求,为用户提供个性化的解决方案 。

03.快速上手Ragflow:构建知识库与应用

准备工作

在使用 ragflow 构建知识库之前,需要确保你的硬件和软件环境满足一定的条件。硬件方面,建议使用 CPU 不低于 4 核心 ,内存大于等于 16GB,磁盘空间大于 50GB 的设备,以保证系统的流畅运行。软件方面,需要安装 Docker 且版本不低于 24.0.0,Docker Compose 版本不低于 v2.26.1 。如果你的设备尚未安装 Docker,可以参考官方文档进行安装 。

下载和部署服务

准备工作完成后,就可以启动 ragflow 服务器了。

首先,通过 git 命令克隆 ragflow 仓库:git clone https://github.com/infiniflow/ragflow.git 。

克隆完成后,进入 docker 文件夹,利用提前编译好的 Docker 镜像启动服务器,执行命令:

cd ragflow/docker

git checkout -f v0.15.1

chmod +x./entrypoint.sh

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

在这个过程中,需要注意的是,核心镜像文件大约 9GB,下载可能需要一定的时间,请耐心等待 。服务启动成功后,可以通过命令docker logs -f ragflow-server来确认服务器状态,如果出现类似于下图的输出,说明服务已成功启动 。

配置知识库与模型

服务启动后,在浏览器中输入服务器对应的 IP 地址并登录 ragflow,首先需要进行模型配置。点击右上角的头像,选择左侧菜单中的「模型提供商」,在「待添加的模型」中选择要使用的模型供应商,如 DeepSeek-V2,并配置好供应商的 API key 。配置完成后,点击右上角的「系统模型设置」,在弹出的对话框中选择 DeepSeek-V2 模型,点击保存即可 。

单击所需的 LLM 并相应地更新 API 密钥(在本例中为 DeepSeek-V2):

接下来创建知识库,回到知识库页面,点击右上角的「创建知识库」,

输入知识库名称,设置语言、嵌入模型和解析方法等参数 。语言可以根据需求选择,如中文;嵌入模型可以根据数据特点和应用场景选择合适的模型;解析方法则提供了多种选项,如通用模板、论文模板、简历模板等,用户可以根据文档类型进行选择 。设置完成后,点击保存,然后就可以上传文件到知识库了。

上传文件后,点击解析状态下的开始解析文件,等待解析成功,知识库就创建完成了 。

当文件解析完成时,其解析状态变为SUCCESS。

构建应用与使用

ragflow 提供了易用的 API,可以轻松集成到各类企业系统或第三方应用中 。以构建一个简单的问答应用为例,假设我们已经在 ragflow 中创建好了知识库并配置好了模型,接下来可以利用 ragflow 的 API 实现问答功能 。首先,获取 Chat Bot API key 用来对 RESTful API 调用进行鉴权 。然后,调用 REST 方法new_conversation获取唯一的 id 。在应用中,当用户提出问题时,将问题和获取到的 id 以及 API key 一起发送到 ragflow 的 API 服务,如http://demo.ragflow.io/v1/api/completion_aibotk ,ragflow 会根据问题从知识库中检索相关信息,并通过配置的模型生成回答返回给应用 。这样,一个基于 ragflow 的简单问答应用就构建完成了,用户可以在应用中输入问题,获取准确、可靠的回答 。

ragflow 作为一款创新的开源 RAG 引擎,为解决当前 RAG 应用中存在的诸多问题提供了全面而有效的解决方案 。它以其深度文档理解、模板化分块、减少幻觉、异构数据源兼容性以及自动化工作流等强大功能和优势,在众多 RAG 工具中脱颖而出 。无论是处理复杂的企业文档,还是构建智能问答系统,ragflow 都能展现出卓越的性能,为用户提供高质量的服务 。

随着人工智能技术的不断发展,RAG 应用的前景将更加广阔 。ragflow 有望在未来的发展中,不断优化和完善自身的功能,进一步提升 RAG 的效果和应用体验 。它可能会与更多先进的技术相结合,如多模态技术,实现对图像、音频等多种类型数据的更深入理解和处理,为用户带来更加丰富和智能的交互体验 。相信在 ragflow 等优秀工具的推动下,RAG 技术将在更多领域发挥重要作用,为人们的生活和工作带来更多的便利和创新 。如果你对 RAG 技术感兴趣,不妨尝试使用 ragflow,开启你的智能知识管理之旅 。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

<think>嗯,用户问的是RAGFlow知识库和Dify知识库的对比,性能和功能方面。我需要先了解这两个产品的具体信息。RAGFlow好像是深度求索公司开源的,基于检索增强生成(RAG)的系统,支持多格式文件解析,还有自动文本图像分割。而Dify可能是一个AI应用开发平台,提供可视化工作流,可能更注重快速构建应用。 首先,性能方面,RAGFlow可能有更强的处理能力,比如高精度解析和异构数据混合检索,适合复杂场景。而Dify可能在处理速度上有优化,适合快速响应。然后功能上,RAGFlow支持多格式,深度处理,适合企业级需求;Dify可能更灵活,可视化强,适合开发者快速搭建应用。 用户可能需要选型建议,所以得比较两者的优缺点。比如企业需要处理复杂文档,RAGFlow更合适;如果需要快速开发应用,Dify更好。可能还要提到社区支持和部署方式,RAGFlow开源,适合定制,而Dify可能有SaaS版本,方便使用。 还要检查是否有引用来源,但用户提供的参考里没有具体引用,所以可能不需要添加。确保回答结构清晰,分点比较性能和功能,最后给出选型建议。同时生成相关的问题,比如适用场景、技术架构差异、如何选择等。</think>### RAGFlow知识库与Dify知识库对比分析 #### 1. **核心定位** - **RAGFlow**: 专注于基于检索增强生成(RAG)的文档解析与问答系统,支持多格式文件解析(如PDF、Word、Markdown)和复杂语义理解,适用于企业级知识库构建[^1]。 - **Dify**: 定位为AI应用开发平台,提供可视化工作流设计,支持快速搭建问答系统、聊天机器人等应用,注重开发效率与灵活性。 #### 2. **性能对比** | 维度 | RAGFlow | Dify | |---------------|-------------------------------------|-------------------------------------| | **解析能力** | 支持文本/图像混合解析,支持公式提取 | 依赖第三方解析工具(如Unstructured)| | **检索精度** | 异构数据混合检索(文本+向量) | 基于向量相似度的通用检索 | | **响应速度** | 侧重高精度,适合复杂场景 | 优化交互速度,适合轻量级应用 | #### 3. **功能差异** - **RAGFlow特色功能**: - 自动文本/图像分割与语义关联 - 多路召回策略(关键词+向量混合检索) - 支持公式、表格等非结构化数据提取 - **Dify特色功能**: - 可视化提示词编排与模型微调 - 多模型支持(GPT/Claude/本地模型) - 数据标注与持续学习能力 #### 4. **技术架构** ```mermaid graph LR A[RAGFlow] --> B(基于Python/Java混合架构) A --> C(支持私有化部署) D[Dify] --> E(全Python架构) D --> F(提供SaaS/私有化版本) ``` #### 5. **选型建议** - **选择RAGFlow的场景**: - 需要处理科研论文、技术文档等复杂格式 - 要求公式、表格等专业内容的高精度解析 - 企业级私有化部署需求 - **选择Dify的场景**: - 快速构建轻量级问答系统 - 需要多模型灵活切换 - 低代码开发需求
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值