RAGflow开源工具全攻略:从零基础到精通,一篇文章带你搭建专业AI知识库

摘要:在大模型应用的蓬勃发展中,检索增强生成(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大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

### 文心一言的主要特点 文心一言是一款由百度公司开发的人工智能语言模型,其设计旨在满足多样化的需求,并在多个领域展现出了卓越的能力。以下是文心一言的核心特点: #### 1. **强大的语义理解和多模态交互** 文心一言具备出色的语义理解能力,能够准确解析复杂的自然语言查询[^3]。此外,它还支持多模态交互,这意味着它可以处理文字以外的数据形式,例如图像和音频,从而扩展了其应用范围。 #### 2. **广泛的场景适配性** 文心一言适用于多种实际应用场景,包括但不限于智能客服、教育辅导、内容创作等领域。它的灵活性使其成为解决各类问题的理想工具。 #### 3. **高效的创意辅助** 在职场环境中,尤其是在需要大量创造性思维的任务中,如营销活动策划、文案撰写以及商务演讲稿准备等方面,文心一言表现尤为突出。通过快速生成高质量的内容,显著提升了工作效率[^2]。 #### 4. **全面的知识覆盖** 得益于训练数据的广度与深度,文心一言拥有极为丰富的知识库,这不仅限于传统意义上的学术知识,还包括流行文化、科技动态等现代话题,确保用户可以获得最新的信息支持。 ### 主要功能 - **文学创作**:无论是诗歌还是小说片段,都能按照指定风格自动生成令人满意的作品[^4]。 - **商业文案制作**:针对广告宣传页或者品牌故事叙述等内容生产需求,提供定制化模板及灵感启发。 - **数理逻辑推理计算**:可以完成基础至高等难度级别的数学题目解答过程演示说明。 ```python def solve_equation(a, b, c): """求解二次方程 ax^2 + bx + c = 0""" discriminant = (b**2) - (4*a*c) if discriminant >= 0: root1 = (-b + math.sqrt(discriminant)) / (2 * a) root2 = (-b - math.sqrt(discriminant)) / (2 * a) return f"The roots are {root1} and {root2}" else: realPart = -b/(2*a) imaginaryPart = math.sqrt(-discriminant)/(2*a) return f"The complex roots are {realPart}+{imaginaryPart}i and {realPart}-{imaginaryPart}i" ``` 上述代码展示了如何利用基本算法实现一个简单的数学运算任务,类似于文心一言可能执行的操作之一。 ### 技术优势 相比其他同类产品,文心一言的优势体现在以下几个方面: - 它特别注重中文环境下的优化调整,使得对于汉字特性的把握更加细腻到位; - 提供个性化的用户体验选项,允许根据不同用户的偏好设置相应的参数配置来获得最佳效果; 尽管如此,仍需注意的是任何单一的技术解决方案都不可能是完美的,在某些特定条件下可能存在局限性或挑战。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值