链载Ai

标题: [开源]RAGFlow: 基于深度文档理解的开源RAG引擎 [打印本页]

作者: 链载Ai    时间: 昨天 21:12
标题: [开源]RAGFlow: 基于深度文档理解的开源RAG引擎

什么是RAGFlow?

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">RAGFlow是一款基于深度文档理解构建的开源RAG(Retrieval-Augmented Generation)引擎。它为各种规模的企业及个人提供一套精简的RAG工作流程,结合大语言模型(LLM)针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">作为一个端到端的RAG解决方案,RAGFlow在开源首日即获得了GitHub千星,目前已接近3000星。它采用了完全重新研发的智能文档理解系统,而非现成的RAG中间件(如LangChain、LlamaIndex等),确保数据从"Garbage In Garbage Out"变为"Quality In Quality Out"。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0.3em 1em;color: rgb(255, 255, 255);background: rgb(0, 152, 116);border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px;">在线Demo

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">想要快速体验RAGFlow的强大功能?请访问官方演示网站:https://demo.ragflow.io

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0.3em 1em;color: rgb(255, 255, 255);background: rgb(0, 152, 116);border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px;">近期更新

核心功能

? "Quality in, quality out"

? 基于模板的文本切片

? 有理有据、最大程度降低幻觉(hallucination)

? 兼容各类异构数据源

? 全程无忧、自动化的RAG工作流

系统架构

RAGFlow的系统架构由以下关键组件构成:

  1. 1.文档解析层:自动识别和处理各种文档格式,解析出文档中的文字、标题、段落、换行、图片和表格等元素。
  2. 2.嵌入表示层:利用嵌入模型将每个文本块转换为向量表示,捕捉文本的语义和特征。
  3. 3.索引存储层:将生成的文本块向量存储在向量数据库中,并建立索引,以便快速检索。
  4. 4.相似性检索层:使用近似最近邻搜索算法,在向量数据库中查找与用户问题向量最相似的文本块。
  5. 5.信息提取与筛选层:从检索到的文本块中提取关键信息和有用的内容,并进行筛选和整理。
  6. 6.上下文构建层:将提取和筛选后的信息与用户的问题进行融合,构建一个包含外部知识的增强上下文。
  7. 7.模型输入与文本生成层:将融合后的上下文作为输入传递给预训练的大型语言模型(LLM),生成回答文本。

Agent功能与Agentic RAG

从0.8版本开始,RAGFlow正式步入Agentic时代,提供了以下重要功能:

应用场景

RAGFlow广泛应用于需要动态生成内容且依赖外部知识库的场景,如:

快速开始

前提条件

启动服务器

  1. 1.确保vm.max_map_count不小于262144
    # 检查当前值
    $ sysctl vm.max_map_count

    # 如果值小于262144,可以进行重置
    $sudosysctl -w vm.max_map_count=262144

    # 永久修改,在/etc/sysctl.conf文件中添加
    vm.max_map_count=262144
  2. 2.克隆仓库
    $gitclonehttps://github.com/infiniflow/ragflow.git
  3. 3.使用Docker启动服务
    $cdragflow/docker
    # 使用CPU进行嵌入和DeepDoc任务
    $ docker compose -f docker-compose.yml up -d

    # 使用GPU加速嵌入和DeepDoc任务
    # docker compose -f docker-compose-gpu.yml up -d
  4. 4.检查服务器状态
    $dockerlogs-fragflow-server

    成功启动后,将看到以下输出:

      ____  ___  ______ ______ __
    / __ \ / | / ____// ____// /____ _ __
    / /_/ // /| | / / __ / /_ / // __ \| | /| / /
    / _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ /
    /_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/

    * Running

Docker镜像版本

RAGFlow镜像标签
镜像大小(GB)
包含嵌入模型?
稳定性
v0.19.0
≈9
✔️
稳定发布
v0.19.0-slim
≈2
稳定发布
nightly
≈9
✔️
不稳定夜间构建
nightly-slim
≈2
不稳定夜间构建

提示:如果遇到Docker镜像拉不下来的问题,可以在docker/.env文件内根据变量RAGFLOW_IMAGE的注释提示选择华为云或者阿里云的相应镜像。

社区与支持

RAGFlow与其他RAG产品的对比

RAGFlow与市面上其他RAG产品相比具有以下独特优势:

  1. 1.深度文档理解:RAGFlow不仅仅依赖于简单的文档检索,还结合了文档的语义理解,通过对文档的深入分析,能够更精确地选择与用户查询相关的内容。
  2. 2.完全重新研发的文档处理系统:不同于使用现成的RAG中间件(如LangChain、LlamaIndex等),RAGFlow完全重新研发了一套智能文档理解系统,确保数据质量。
  3. 3.多路召回能力:RAGFlow强调多路召回对于RAG的重要性,同时进行关键词全文搜索和向量搜索,提高检索精度。
  4. 4.Agentic RAG:从0.8版本开始,RAGFlow提供了完整的基于图的任务编排框架,支持无代码方式编辑任务和工作流,正式步入Agentic时代。
  5. 5.多样化的文档智能处理:针对不同行业和岗位的文档需求,提供多种模板选择,如Q&A、Resume、Paper、Manual、Table、Book、Law等。

用户案例与实践

案例一:自然语言转SQL查询

通过RAGFlow的Agent功能,用户可以使用自然语言描述需求,系统能够自动转换为SQL查询语句。例如,用户输入"查询一年级学生的平均分",系统能够理解用户意图,分析可能的数据库结构,并生成相应的SQL查询语句:

SELECTAVG(成绩)AS平均分
FROM学生成绩表
WHERE年级='一年级'

案例二:企业知识库问答系统

某企业将内部文档(包括产品手册、技术文档、培训材料等)上传至RAGFlow,构建了一个企业知识库。员工可以通过自然语言提问,快速获取准确的信息,大大提高了工作效率和知识共享水平。

案例三:法律文档分析

律师事务所使用RAGFlow处理大量法律文件,包括合同、判例和法规。系统能够精确提取关键条款和信息,帮助律师快速定位相关法律依据,提高案件分析和法律研究的效率。

RAG技术发展趋势

RAG技术正在从1.0向2.0演进,主要特点包括:

  1. 1.以搜索为中心的端到端系统:将整个RAG按照搜索的典型流程划分为若干阶段,包含数据的信息抽取、文档预处理、构建索引以及检索。
  2. 2.AI基础设施化:RAG 2.0是典型的AI基础设施,环节之间相互耦合,接口尚未统一,并且存在循环依赖。
  3. 3.多种召回方式:需要更全面和强大的数据库,提供多种召回手段,采用多种方法混合搜索。
  4. 4.全链路优化:需要站在整个RAG的链路上,针对各环节进行优化,包括数据抽取和清洗、预处理等。
  5. 5.引入知识图谱:在文档预处理阶段引入知识图谱构建,服务于复杂问答场景,并引入实体去重、Token优化等改进。

作为RAG技术的前沿实践者,RAGFlow正在稳步向RAG 2.0方向推进,不断创新和优化,为用户提供更高质量的知识检索和生成服务。

结语

RAGFlow作为一款强大的开源RAG引擎,通过深度文档理解技术,为企业和个人用户提供了一套完整的知识检索增强生成解决方案。无论是处理复杂格式的文档,还是构建可靠的问答系统,RAGFlow都能提供高质量的输出结果。

随着RAGFlow不断发展和完善,它将在更多领域发挥重要作用,帮助用户更好地利用大语言模型处理和理解复杂数据,实现真正的知识驱动型AI应用。







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5