一、RAGFlow 概述
1、RAGFlow 是什么
RAGFlow 是一种融合了数据检索与生成式模型的新型系统架构。其核心在于将大规模检索系统与先进的生成式模型(如 Transformer、GPT 系列等)相结合。当面对用户查询时,它既能借助海量数据的知识库进行精准检索,又能利用生成模型生成符合上下文语义的自然语言回复。该系统主要包含数据检索和生成这两个关键模块 ,数据检索模块负责在海量数据中快速定位相关信息,生成模块则基于检索结果生成高质量的回答或文本内容。
2、RAGFlow 的特点
-
高效整合海量数据:凭借先进的检索算法,RAGFlow 能够在大数据中迅速找到相关信息,并将其运用到生成回答的过程中,大大提高了信息处理的效率。
-
增强生成质量:通过引入外部数据,生成模块得以突破模型记忆的限制,从而为用户提供更为丰富和准确的信息,有效提升了生成内容的质量。
-
应用场景广泛:在众多领域都能发挥重要作用,包括但不限于在线问答系统、智能客服、知识库问答、个性化推荐等,具有很强的通用性。
-
深度文档理解:能够从复杂格式的非结构化数据中精准提取知识,可处理如 Word、PPT、Excel、txt、图片、PDF、结构化数据、网页等多种格式的文档,满足多样化的数据需求。
-
模板化文本切片:支持基于模板的文本切片方式,不仅智能,而且可控可解释,同时提供多种文本模板供用户选择,以适应不同的应用场景。
-
可靠引用与低幻觉:文本切片过程可视化,方便人工干预和校对。生成的答案提供关键引用的快照并支持追根溯源,最大程度降低了大语言模型常出现的 “幻觉” 问题,使回答更具可靠性。
-
兼容异构数据源:对各类异构数据源表现出良好的兼容性,可支持丰富的文件类型,为数据的多样性处理提供了便利。
-
自动化工作流程:提供了简化、自动化的工作流程,全面优化的 RAG 工作流能够支持从个人应用到超大型企业的各类生态系统,并且大语言模型 LLM 以及向量模型均支持配置,还基于多路召回、融合重排序,同时提供易用的 API,便于集成到各类企业系统中。
3、RAGFlow 的应用场景
-
智能客服与虚拟助理:在电商平台等场景中,RAGFlow 能够实时从企业知识库中检索与用户查询相关的信息,如订单状态、产品信息、售后支持问题等,并生成精确、个性化的回答,极大地提升客户满意度和服务效率 。
-
文档生成与报告分析:对于企业年报、市场调查报告、技术文档等的自动生成,RAGFlow 能够从多个数据源中检索信息,并将其整合成结构化的文档或摘要,适用于大规模内容管理场景,提高文档生成的效率和质量。
-
实时数据分析与预测:以金融机构为例,RAGFlow 可实时收集和分析市场数据、财经新闻等信息,生成投资分析报告;在电力系统中,能够依据监控数据生成维护建议等,结合实时数据检索与生成分析,助力用户快速做出决策。
-
教育与科研辅助:智能辅导系统借助 RAGFlow,能够根据学生的问题动态生成解题步骤或学习资源;学生和研究人员可以利用它快速定位和分析相关的学术文献,高效完成文献综述的撰写,为教育和科研工作提供快速、精准的知识支持 。
-
医疗健康咨询:在线健康咨询平台利用 RAGFlow,从医学知识库中提取诊疗信息,并结合患者描述生成个性化的诊断和护理建议,为医疗健康领域的咨询服务提供有力支持。
-
法律和合规支持:在法律咨询平台中,RAGFlow 可实时从法律文本或法规中提取相关条款,并生成具体解读或建议,如合同条款优化建议等,帮助法律专业人员快速获取和分析法律信息。
-
内容推荐:新闻平台等可根据用户偏好,通过 RAGFlow 检索相关内容并生成个性化推荐内容,提升用户体验和内容传播的精准度。
4、RAGFlow系统架构
二、环境准备与系统搭建
环境需求
搭建 RAGFlow 系统前,需保证开发与运行环境符合以下条件:
- 硬件配置:建议配备多核 CPU、16GB 及以上内存,以及支持高并发访问的存储设备;若需部署大规模检索服务,可选用分布式存储集群。
- 操作系统:推荐使用 Linux 发行版(如 CentOS、Ubuntu),便于通过 Shell 脚本实现自动化管理;也支持 Windows 环境,但部署自动化脚本时可能需做适当调整。
- 开发语言与工具:系统核心模块主要采用 Java 开发,同时结合 Shell 脚本完成自动化运维工作。
- 依赖环境:需安装 Java 8 及以上版本,并配置 Maven 或 Gradle 进行依赖管理;数据检索部分可采用 ElasticSearch、Apache Solr 等开源检索引擎;生成模块依赖预训练模型,可借助 TensorFlow 或 PyTorch 实现。
服务器配置
- CPU >= 4 核
- RAM >= 16 GB
- Disk >= 50 GB
- Docker >= 24.0.0 & Docker Compose >= v2.26.1
安装
调整 max_map_count 值
要保证 vm.max_map_count
的值不低于 262144。
若想查看 vm.max_map_count
当前的数值,可执行以下命令:
$ sysctl vm.max_map_count
倘若 vm.max_map_count
的数值小于 262144,可按如下方式重新设置:
# 此处将其设为 262144:
$ sudo sysctl -w vm.max_map_count=262144
不过,你所做的修改会在系统下次重启时失效。要是想让改动永久生效,还需在 /etc/sysctl.conf 文件中,相应地更新 vm.max_map_count
的值:
vm.max_map_count=262144
克隆仓库代码
git clone https://github.com/infiniflow/ragflow.git
以下是改写后的内容,保持原意但表述更清晰流畅:
配置Docker镜像源与版本
步骤说明:切换至国内镜像源并启用Embedding模型
-
编辑项目配置文件
docker/.env
-
找到
RAGFLOW_IMAGE
配置项,将其值从默认配置:```
RAGFLOW_IMAGE=infiniflow/ragflow:v0.16.0-slim修改为阿里云国内镜像地址,并选择完整版(含Embedding模型):``` RAGFLOW_IMAGE=registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow:v0.16.0
版本选择指南
根据您的需求选择合适的镜像版本:
镜像标签 | 镜像大小 | Embedding模型 | 稳定性说明 |
---|---|---|---|
v0.16.0 | ≈9GB | ✅ 包含 | 稳定正式版本 |
v0.16.0-slim | ≈2GB | ❌ 不含 | 轻量运行版(无模型) |
nightly | ≈9GB | ✅ 包含 | 每日构建(开发预览版) |
nightly-slim | ≈2GB | ❌ 不含 | 轻量开发版(无模型) |
推荐配置:
- 生产环境建议使用
v0.16.0
版本 - 测试环境可选择
nightly
版本获取最新功能 - 仅需API服务时推荐使用
-slim
版本减少资源占用
运行命令拉取镜像
docker compose -f docker/docker-compose.yml up -d
查看日志
docker logs -f ragflow-server
提示下面提示说明启动成功
____ ___ ______ ______ __
/ __ \ / | / ____// ____// /____ _ __
/ /_/ // /| | / / __ / /_ / // __ \| | /| / /
/ _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ /
/_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:9380
* Running on http://x.x.x.x:9380
INFO:werkzeug:Press CTRL+C to quit
访问IP,进入 RAGFlow,注意不是 9380 端口,Web是http://127.0.01
默认为 80 端口
三、应用
注册账号
注册完直接登录
添加模型
本文用到的模型类型:Chat 和 Embedding。 Rerank 模型等后续在详细介绍。
点击右上角->模型提供商->添加模型
填写模型信息,模型类型选 chat
再添加一个 Embedding 模型用于知识库的向量转换(RAGFlow 默认也有 Embedding)
在系统模型设置中配置聊天模型和嵌入模型为我们刚刚添加的模型
创建知识库
填写相关配置
- 文档语言:中文
- 嵌入模型:选择我们自己运行的
bge-m3:latest
,也可以用默认的。具体效果大家自行评估
上传文件
这里我自己造了一个测试文档来验证知识库,内容是编的,介绍一个 ABCD 工具,文档在文末提供下载。
文件上传后是未解析状态,需要解析才可以使用,点击解析
解析成功后点击文件可以看到解析效果
效果
创建聊天
设置模型。token 调整大一些
验证效果
问题一:直接发送 ABCD
知识库回答
原文档
问题二:ABCD 错误代码有哪些
知识库回答
原文档
问题三:ABCD 支持哪些系统
知识库回答
原文档
问题四:ABCD 官网
知识库回答
你也可以在回答的结果看到他引用的知识库
四、总结
本文介绍了 RAGFlow 的基础使用方法,从演示效果来看尚可。然而,在实际应用场景中,各类文件格式与结构各不相同,文件解析成为一大难题。一旦解析不准确,即便使用性能强劲的 Deepseek-R1 大模型(经亲测),也会出现分析错误的情况。因此,在 RAG 过程中,文件解析、Embedding 以及 LLM 是提升准确率的三大关键攻克点。
那么,如何系统的去学习大模型LLM?
作为一名从业五年的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。
所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。
由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~
👉大模型学习指南+路线汇总👈
我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。
9周成为大模型工程师
第1周:基础入门
-
了解大模型基本概念与发展历程
-
学习Python编程基础与PyTorch/TensorFlow框架
-
掌握Transformer架构核心原理
-
第2周:数据处理与训练
-
学习数据清洗、标注与增强技术
-
掌握分布式训练与混合精度训练方法
-
实践小规模模型微调(如BERT/GPT-2)
第3周:模型架构深入
-
分析LLaMA、GPT等主流大模型结构
-
学习注意力机制优化技巧(如Flash Attention)
-
理解模型并行与流水线并行技术
第4周:预训练与微调
-
掌握全参数预训练与LoRA/QLoRA等高效微调方法
-
学习Prompt Engineering与指令微调
-
实践领域适配(如医疗/金融场景)
第5周:推理优化
-
学习模型量化(INT8/FP16)与剪枝技术
-
掌握vLLM/TensorRT等推理加速工具
-
部署模型到生产环境(FastAPI/Docker)
第6周:应用开发 - 构建RAG(检索增强生成)系统
-
开发Agent类应用(如AutoGPT)
-
实践多模态模型(如CLIP/Whisper)
第7周:安全与评估
-
学习大模型安全与对齐技术
-
掌握评估指标(BLEU/ROUGE/人工评测)
-
分析幻觉、偏见等常见问题
第8周:行业实战 - 参与Kaggle/天池大模型竞赛
- 复现最新论文(如Mixtral/Gemma)
- 企业级项目实战(客服/代码生成等)
第9周:前沿拓展
- 学习MoE、Long Context等前沿技术
- 探索AI Infra与MLOps体系
- 制定个人技术发展路线图
👉福利篇👈
最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】