
RAGFlow:企业级知识库的完整生命周期管理

你有一个企业。
你有海量的文档、PDF、Word、Excel、PPT。
你想建立一个知识库。
但你有三个问题:
怎么建立?怎么审核?怎么维护?
还有,怎么让 AI 理解用户的意图?
RAGFlow 是一个开源的 RAG 引擎。
它给你一个完整的答案。
核心愿景
RAGFlow 是什么?
RAGFlow 是一个开源的 RAG 引擎。
它融合了最先进的 RAG 技术和 Agent 能力。
它为企业规模的部署提供了一个简化的 RAG 工作流。
核心价值:
- 深度文档理解 — 从复杂格式的非结构化数据中提取知识
- 无限 tokens — 在无限 tokens 的数据干草堆中找到「针」
- 智能且可解释 — 可解释的召回和重排序
- 多种模板 — 多种模板选项
- 可视化分块 — 文本分块可视化,允许人工干预
- 快速引用 — 关键引用的快速视图和可追溯的引用
一、知识库怎么建立
1. 数据接入
RAGFlow 支持多种数据源:
- 本地文件:Word、PPT、Excel、TXT、图片、扫描件
- 结构化数据:数据库、CSV、JSON
- 网页内容:网页爬取
- 云服务:Confluence、S3、Notion、Discord、Google Drive
支持的数据格式:
| 格式 | 说明 |
|---|---|
| Word | .doc, .docx |
| PPT | .ppt, .pptx |
| Excel | .xls, .xlsx |
| 文本 PDF、图片 PDF、扫描件 | |
| TXT | 纯文本 |
| 图片 .jpg, .png, .gif | |
| 网页 | HTML、Markdown |
| 结构化数据 | CSV、JSON、数据库 |
数据接入流程:
数据源 → 文件上传 → 格式检测 → 解析策略选择 → 分块 → 向量化 → 存储2. 文档解析
RAGFlow 提供多种文档解析方法:
- MinerU — 强大的文档解析工具
- Docling — 高精度文档解析
- DeepDoc — 深度文档理解
深度文档理解(DeepDoc)是 RAGFlow 的核心技术。
它能处理:
- 复杂布局 — 多栏、表格、图表
- 混合内容 — 文本、图片、公式、代码
- 扫描件 — OCR 识别
- 多模态 — 使用多模态模型理解 PDF 或 DOCX 文件中的图片
3. 文本分块
RAGFlow 的分块策略是智能的。
不是简单的固定长度分块。
而是基于语义的分块。
分块可视化:
RAGFlow 提供文本分块可视化功能。
你可以:
- 查看分块结果 — 看到文档是如何被分割的
- 人工干预 — 手动调整分块边界
- 优化策略 — 根据内容调整分块参数
分块策略:
| 策略 | 适用场景 |
|---|---|
| 固定长度 | 简单文档 |
| 语义分块 | 技术文档、论文 |
| 段落分块 | 新闻、博客 |
| 表格分块 | Excel、CSV |
| 代码分块 | 代码文档 |
4. 向量化与存储
RAGFlow 支持多种向量存储:
- Elasticsearch(默认) — 存储全文和向量
- Infinity — 高性能向量数据库
向量化流程:
分块 → 嵌入模型 → 向量 → 存储到向量数据库支持的嵌入模型:
- OpenAI — text-embedding-3-small、text-embedding-3-large
- Gemini — Gemini Embedding
- 本地模型 — 通过 HuggingFace 加载
向量存储切换:
# 切换到 Infinity
docker compose -f docker/docker-compose.yml down -v
# 设置 docker/.env 中的 DOC_ENGINE=infinity
docker compose -f docker/docker-compose.yml up -d二、知识库怎么审核
1. 分块审核
RAGFlow 提供分块可视化功能。
你可以审核:
- 分块边界 — 是否合理
- 分块大小 — 是否合适
- 分块质量 — 是否包含完整信息
人工干预:
如果发现分块不合理,你可以:
- 调整分块参数 — 修改分块策略
- 手动合并 — 将多个小块合并
- 手动分割 — 将大块分割
2. 引用审核
RAGFlow 提供快速引用功能。
你可以审核:
- 引用来源 — 答案来自哪个文档
- 引用准确度 — 引用是否正确
- 引用完整性 — 是否遗漏重要信息
可追溯的引用:
每个答案都附有引用。
你可以点击引用查看原文。
3. 质量评估
RAGFlow 提供智能且可解释的召回和重排序。
你可以评估:
- 召回质量 — 召回的文档是否相关
- 重排序效果 — 重排序后的文档是否更相关
- 答案准确度 — 答案是否准确
4. 人工审核流程
RAGFlow 支持人工审核流程:
文档上传 → 自动分块 → 可视化审核 → 人工调整 → 向量化 → 存储审核要点:
- 分块合理性 — 分块是否合理
- 引用准确性 — 引用是否准确
- 答案质量 — 答案是否准确
- 用户体验 — 用户是否满意
三、知识库怎么维护
1. 数据同步
RAGFlow 支持数据同步。
从多个数据源同步:
- Confluence — 同步 Wiki 文档
- S3 — 同步对象存储
- Notion — 同步 Notion 文档
- Discord — 同步 Discord 消息
- Google Drive — 同步 Google Drive 文件
同步策略:
- 实时同步 — 数据更新时自动同步
- 定时同步 — 按计划同步
- 手动同步 — 手动触发同步
2. 增量更新
RAGFlow 支持增量更新。
不需要重新处理整个知识库。
只需要处理更新的部分。
更新流程:
检测变更 → 增量分块 → 增量向量化 → 增量存储3. 版本管理
RAGFlow 支持版本管理。
你可以:
- 查看历史版本 — 查看文档的历史版本
- 回滚版本 — 回滚到之前的版本
- 比较版本 — 比较不同版本的差异
4. 质量监控
RAGFlow 提供质量监控功能。
你可以监控:
- 召回率 — 召回的文档有多少是相关的
- 准确率 — 答案有多少是准确的
- 用户满意度 — 用户是否满意
监控指标:
| 指标 | 说明 |
|---|---|
| 召回率 | 召回的文档中相关文档的比例 |
| 准确率 | 答案中正确答案的比例 |
| 用户满意度 | 用户对答案的满意度 |
四、怎么去意图识别
1. 多召回策略
RAGFlow 提供多召回 + 融合重排序。
不是单一的召回策略。
而是多种召回策略的组合。
召回策略:
- 关键词召回 — 基于关键词匹配
- 向量召回 — 基于向量相似度
- 混合召回 — 关键词 + 向量
- 重排序 — 对召回的文档重新排序
多召回的价值:
不同的召回策略有不同的优势。
关键词召回速度快。
向量召回语义理解强。
混合召回兼顾速度和语义。
2. 融合重排序
RAGFlow 提供融合重排序。
对召回的文档重新排序。
确保最相关的文档排在前面。
重排序策略:
- 基于相似度 — 按向量相似度排序
- 基于相关性 — 按相关性评分排序
- 基于多样性 — 确保多样性
- 基于新鲜度 — 优先显示最新内容
3. 意图理解
RAGFlow 使用 LLM 理解用户意图。
不仅仅是关键词匹配。
而是语义理解。
意图理解流程:
用户提问 → 意图识别 → 召回策略选择 → 文档召回 → 重排序 → 答案生成意图类型:
| 意图类型 | 说明 | 召回策略 |
|---|---|---|
| 事实查询 | 查询具体事实 | 关键词召回 |
| 概念查询 | 查询概念、定义 | 向量召回 |
| 流程查询 | 查询流程、步骤 | 混合召回 |
| 对比查询 | 对比多个事物 | 混合召回 + 重排序 |
4. 上下文理解
RAGFlow 支持跨语言查询。
用户可以用中文提问。
RAGFlow 可以召回英文文档。
上下文理解流程:
用户提问 → 翻译 → 召回 → 翻译回原语言 → 答案生成5. Agent 能力
RAGFlow 融合了 Agent 能力。
不仅仅是检索。
而是可以执行任务。
Agent 能力:
- 代码执行 — Python/JavaScript 代码执行器
- 工具调用 — 调用外部工具和 API
- 任务编排 — 编排多个任务
- 记忆管理 — 支持 AI Agent 的 Memory
Agent 流程:
用户提问 → 意图识别 → 任务分解 → 工具调用 → 结果整合 → 答案生成核心功能对比
| 功能 | RAGFlow | 传统 RAG |
|---|---|---|
| 文档解析 | DeepDoc(深度理解) | 简单解析 |
| 分块策略 | 语义分块 + 可视化 | 固定长度分块 |
| 召回策略 | 多召回 + 融合重排序 | 单一召回 |
| 意图识别 | LLM 理解 | 关键词匹配 |
| 人工审核 | 可视化 + 人工干预 | 无审核 |
| 数据同步 | 多数据源实时同步 | 手动上传 |
| 增量更新 | 支持 | 不支持 |
| Agent 能力 | 代码执行、工具调用 | 无 |
部署方式
1. Docker 部署(推荐)
系统要求:
- CPU >= 4 cores
- RAM >= 16 GB
- Disk >= 50 GB
- Docker >= 24.0.0
- Docker Compose >= v2.26.1
部署步骤:
# 克隆仓库
git clone https://github.com/infiniflow/ragflow.git
# 启动服务
cd ragflow/docker
docker compose -f docker-compose.yml up -d
# 检查服务状态
docker logs -f docker-ragflow-cpu-12. 源码部署
适用于开发环境。
# 安装依赖
pipx install uv pre-commit
# 克隆仓库
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
# 安装 Python 依赖
uv sync --python 3.13
uv run python3 download_deps.py
pre-commit install
# 启动依赖服务
docker compose -f docker/docker-compose-base.yml up -d
# 启动后端服务
source .venv/bin/activate
export PYTHONPATH=$(pwd)
bash docker/launch_backend_service.sh
# 启动前端服务
cd web
npm install
npm run dev3. 云服务
RAGFlow 提供云服务。
访问:https://cloud.ragflow.io
核心价值
1. 企业级
RAGFlow 为企业规模的部署设计。
支持:
- 海量文档 — 处理海量文档
- 多数据源 — 从多个数据源同步
- 增量更新 — 增量更新知识库
- 质量监控 — 监控知识库质量
2. 可解释
RAGFlow 提供可解释的召回和重排序。
每个答案都有引用。
你可以追溯答案的来源。
3. 可控制
RAGFlow 提供可视化分块。
你可以人工干预分块过程。
你可以调整分块策略。
4. 智能
RAGFlow 使用 LLM 理解用户意图。
不仅仅是关键词匹配。
而是语义理解。
使用场景
场景 1:企业知识库
需求: 建立企业知识库,让员工快速找到信息
方案:
- 接入数据源 — Confluence、Google Drive、本地文件
- 文档解析 — 使用 DeepDoc 深度理解文档
- 分块审核 — 可视化分块,人工审核
- 增量更新 — 实时同步更新
- 意图识别 — 理解员工提问的意图
场景 2:客服系统
需求: 让 AI 客服理解客户问题并提供准确答案
方案:
- 知识库建立 — 接入产品文档、FAQ、客服记录
- 多召回策略 — 关键词 + 向量召回
- 融合重排序 — 确保最相关的答案排在前面
- 意图识别 — 理解客户问题的意图
- 答案生成 — 生成准确的答案并附引用
场景 3:技术文档搜索
需求: 让工程师快速找到技术文档
方案:
- 文档接入 — 接入 Wiki、GitHub、Confluence
- 深度理解 — 使用 DeepDoc 理解技术文档
- 语义分块 — 基于语义的分块
- 跨语言查询 — 支持跨语言查询
- 代码执行 — Agent 可以执行代码验证
关键洞察
- 知识库不是一次性的工程,是持续维护的资产
收尾金句:
- RAGFlow 给你完整的知识库生命周期管理
- 从建立到审核到维护到意图识别,一个完整的闭环
- 这就是企业级 RAG 引擎
RAGFlow
企业级知识库的完整生命周期管理
"
