本文较长,建议点赞收藏。更多AI大模型应用开发学习视频及资料,在智泊AI。
随着大模型在企业落地加速,"如何让LLM精准理解私有数据、避免幻觉"成为核心痛点。Retrieval-Augmented Generation(RAG)技术因能连接外部知识库、提升回答可信度,成为解决该问题的关键方案。
今天要介绍的RAGFlow,正是一款将前沿RAG与Agent能力深度融合的开源引擎------无论是个人搭建知识库,还是企业级部署,它都能帮你快速将复杂数据转化为生产级AI系统。

先直观体验下官方Demo:demo.ragflow.io,感受它的文件管理、AI对话与Agent协作能力~
一、什么是RAGFlow?
RAGFlow是由infiniflow开源的企业级RAG引擎,核心定位是"为LLM构建更优的上下文层"。它并非简单的"检索+生成"工具,而是整合了三大核心能力:
-
RAG+Agent双驱动
既支持精准的外部知识检索,又能通过Agent模板实现自动化任务执行(如技术支持、产品咨询);
-
统一上下文引擎
能处理海量非结构化数据,从扫描件到网页内容,都能精准提取知识;
-
灵活适配性
提供从个人到大型企业的全场景工作流,无需从零搭建RAG链路。
简言之,RAGFlow要解决的是"从数据到AI应用"的全链路问题------接入数据、配置模型,就能快速生成高保真的AI问答系统。
二、RAGFlow核心功能:直击RAG落地4大痛点
RAGFlow的功能设计精准匹配开发者在实践中的难题,每个特性都对应明确的业务价值:
. 1. 深度文档理解:从"混乱数据"中抽取出精准知识
传统RAG工具常栽在"非结构化数据解析"上------比如PDF扫描件的文字提取不全、Excel表格结构丢失。而RAGFlow通过自研的DeepDoc引擎,能做到:
-
全格式兼容
支持Word、PPT、Excel、TXT、图片、扫描件、网页等异构数据源;
-
精细信息提取
不仅识别文本,还能解析表格结构、图片中的文字(结合OCR),甚至理解PDF中的复杂排版;
-
无限token检索
无需担心文件过大导致信息丢失,能在海量数据中精准找到"关键信息针"。
. 2. 模板化分块:让"数据切割"更智能、可解释
文本分块是RAG的基础,分块质量直接影响检索效果。RAGFlow提供:
-
多场景模板
针对报告、合同、技术文档等不同类型,预置专属分块逻辑,无需手动调试;
-
透明可干预
分块过程可视化,开发者能清晰知道数据如何拆分,便于优化检索策略。
. 3. 接地引用:彻底告别大模型"幻觉"
"回答没依据"是LLM落地的重大风险,RAGFlow通过两大机制解决:
-
分块可视化干预
支持查看文本分块过程,避免关键信息被拆分或遗漏;
-
可追溯引用来源
生成回答时附带原始文档片段,每个结论都能对应到具体出处,既方便验证,也符合企业合规需求。
. 4. 自动化RAG工作流:从"配置到上线"零代码/低代码
无需手动拼接"解析-分块-召回-重排序-生成"等模块,RAGFlow已做好全链路封装:
-
多模型适配
支持OpenAI、Kimi、Grok、DeepSeek等主流LLM与嵌入模型,灵活切换;
-
智能检索策略
多轮召回(关键词+向量)结合融合重排序,提升检索精度;
-
便捷集成
提供直观API,轻松与现有业务系统对接(如客服、技术支持平台)。
三、2025最新更新:紧跟大模型技术前沿
RAGFlow的开发团队迭代非常活跃,2025年以来的关键升级值得关注,确保工具始终适配最新技术:
- 2025-08-08:支持OpenAI最新GPT-5系列模型,进一步提升生成质量;
- 2025-08-04:新增对Kimi K2、Grok 4的支持,模型选择更灵活;
- 2025-08-01:正式支持Agentic工作流与MCP(多组件协调平台) ,可搭建多Agent协作系统(如"技术支持Agent+检索Subagent");
- 2025-05-23:为Agent新增Python/JavaScript代码执行器,支持自动运行代码处理数据(如计算、分析);
- 2025-03-19:接入多模态模型,可解析PDF/DOCX中的图片内容(如识别图表、截图文字);
- 2024年底:升级DeepDoc的文档布局分析模型,提升复杂格式文件解析成功率。
四、快速上手:3步启动RAGFlow服务
RAGFlow基于Docker部署,无需复杂环境配置,新手也能在10分钟内启动。
. 1. 确认环境要求
首先确保本地满足基础配置:
- CPU ≥ 4核,RAM ≥ 16GB,磁盘 ≥ 50GB;
- Docker ≥ 24.0.0 + Docker Compose ≥ v2.26.1;
- (可选)若需使用代码执行器,需额外安装gVisor。
. 2. 关键前置配置:调整内存映射限制
RAGFlow依赖的服务需要足够的内存映射,执行以下命令检查并设置:
bash
# 1. 检查当前vm.max_map_count值
sysctl vm.max_map_count
# 2. 若小于262144,临时设置(重启后失效)
sudo sysctl -w vm.max_map_count=262144
# 3. 永久设置(推荐):编辑/etc/sysctl.conf
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
# 生效永久配置
sudo sysctl -p
. 3. 克隆仓库并启动服务
bash
# 1. 克隆RAGFlow源码
git clone https://github.com/infiniflow/ragflow.git
# 2. 进入Docker配置目录
cd ragflow/docker
# 3. 启动CPU版本(适合快速测试)
docker compose -f docker-compose.yml up -d
# 若有GPU(需NVIDIA Docker),启动GPU加速版(提升嵌入/解析速度)
# docker compose -f docker-compose-gpu.yml up -d
4. 验证启动与访问
javascript
# 查看服务日志,确认启动成功
docker logs -f ragflow-server
# 成功标志:出现以下输出
____ ___ ______ ______ __
/ __ \ / | / ____// ____// /____ _ __
/ /_/ // /| | / / __ / /_ / // __ \| | /| / /
/ _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ /
/_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/
* Running on all addresses (0.0.0.0)
启动成功后,浏览器输入 http://你的服务器IP(默认端口80,可省略),再在 service_conf.yaml.template中配置LLM API Key(如OpenAI、Kimi的Key),就能开始使用AI对话功能。
五、进阶配置:满足个性化需求
对于有定制化需求的开发者,RAGFlow提供多种进阶方案:
. 1. 选择合适的Docker镜像
RAGFlow提供4类镜像,可根据场景灵活选择:
| RAGFlow镜像标签 | 镜像大小 | 包含嵌入模型 | 稳定性 | 适用场景 |
|---|---|---|---|---|
| v0.20.5 | ≈9GB | ✔️ | 稳定版 | 生产环境,无需依赖外部嵌入服务 |
| v0.20.5-slim | ≈2GB | ❌ | 稳定版 | 测试/开发,依赖外部嵌入服务(如OpenAI Embeddings) |
| nightly | ≈9GB | ✔️ | 开发版 | 体验最新功能,不建议生产用 |
| nightly-slim | ≈2GB | ❌ | 开发版 | 轻量测试最新功能 |
切换镜像只需修改 docker/.env中的 RAGFLOW_IMAGE变量,例如:
ini
RAGFLOW_IMAGE=infiniflow/ragflow:v0.20.5
. 2. 切换文档引擎:从Elasticsearch到Infinity
RAGFlow默认用Elasticsearch存储文本和向量,若需切换到高效向量数据库Infinity,步骤如下:
bash
# 1. 停止并删除现有容器(注意:-v会清除数据,需提前备份)
docker compose -f docker/docker-compose.yml down -v
# 2. 修改docker/.env,设置文档引擎为infinity
echo "DOC_ENGINE=infinity" | sudo tee -a docker/.env
# 3. 重启服务
docker compose -f docker-compose.yml up -d
⚠️ 注意:Linux/ARM64平台暂不支持Infinity引擎。
. 3. 从源码启动:适合二次开发
若需定制功能,可从源码启动服务:
bash
# 1. 安装依赖工具
pipx install uv pre-commit
# 2. 克隆源码并安装Python依赖
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
uv sync --python 3.10 --all-extras # 安装Python依赖
uv run download_deps.py # 下载额外依赖
pre-commit install # 安装pre-commit钩子
# 3. 启动依赖服务(MinIO、ES、Redis、MySQL)
docker compose -f docker/docker-compose-base.yml up -d
# 4. 配置hosts(将服务域名解析到本地)
echo "127.0.0.1 es01 infinity mysql minio redis sandbox-executor-manager" | sudo tee -a /etc/hosts
# 5. (可选)设置HF镜像(无法访问HuggingFace时)
export HF_ENDPOINT=https://hf-mirror.com
# 6. 安装jemalloc(提升内存效率)
# Ubuntu: sudo apt-get install libjemalloc-dev
# CentOS: sudo yum install jemalloc
# macOS: sudo brew install jemalloc
# 7. 启动后端服务
source .venv/bin/activate
export PYTHONPATH=$(pwd)
bash docker/launch_backend_service.sh
# 8. 启动前端服务
cd web
npm install
npm run dev
前端启动后,可通过 http://127.0.0.1:9222访问。
六、文档与社区:获取全方位支持
RAGFlow提供完善的文档和活跃的社区,助力开发者快速上手:
. 官方文档
涵盖从入门到进阶的全流程指南:
- 快速开始:新手入门步骤;
- 配置指南:环境变量、服务配置详解;
- 用户指南:文件上传、AI对话、Agent使用教程;
- 开发者指南:源码结构、二次开发教程;
- FAQs:常见问题解决方案。
. 社区渠道
有问题或想参与贡献,可通过以下渠道交流:
- Discord:实时沟通,获取官方支持;
- Twitter:关注最新动态;
- GitHub Discussions:分享使用经验、讨论技术问题;
- GitHub Issues:提交bug反馈或功能需求。
七、总结:为什么选择RAGFlow?
在众多RAG工具中,RAGFlow的核心优势很突出:
-
开源免费
无商业许可成本,可自由定制;
-
功能全面
RAG+Agent双核心,覆盖数据解析、检索、生成、协作全链路;
-
易上手
Docker一键部署,无需复杂配置;
-
高适配性
支持多模型、多数据源、多部署方式;
-
持续迭代
活跃的开发团队,频繁更新以支持最新技术(如GPT-5、Kimi K2)。
无论你是想搭建个人知识库,还是部署企业级AI客服、技术支持系统,RAGFlow都是值得尝试的选择。现在就去GitHub给它点个Star吧:github.com/infiniflow/...,一起参与开源生态建设!
最后,欢迎在评论区分享你的RAGFlow使用体验,或提出你关心的功能------开源的进步,离不开每一位开发者的参与~
学习资源推荐
如果你想更深入地学习大模型,以下是一些非常有价值的学习资源,这些资源将帮助你从不同角度学习大模型,提升你的实践能力。
本文较长,建议点赞收藏。更多AI大模型应用开发学习视频及资料,在智泊AI。