快速开发RAG应用平台-RAGFlow

快速开发RAG应用平台-RAGFlow
jwang如果需要为一个拥有大量PDF格式的规章制度、产品手册(包含图表)的企业快速构建一个内部问答系统,需要考虑的因素: 高效准确的解析这些PDF文档,保证信息完整性; 将文档切分成合适的块并建立索引; 易于使用的问答界面; 后续知识库的更新维护;
RAGFlow提供了一个相对完整的、可视化的平台,可以快速导入文档、位置RAG流程、并生成一个可用的问答应用,适用于需要快速开发RAG应用,同时对底层流程有一定控制的团队或开发者
RAGElow平台
是一个开源的、基于检索增强生成(Retrieval-Augmented Generation, RAG)思想构建的引擎。它旨在为企业和开发者提供一套深度优化的、可视化的RAG应用开发工具,简化从原始数据到高质量RAG应用的构建流程。即构建复杂RAG应用的”工作流引擎“或”流水线“
- 官方文档中Quality in\out反复出现,表明其核心即细粒度文档解析,同时其中提到没有使用任何RAG中间件,完全重新构建了一套智能文档解析系统,并以此为依托构建RAG任务编排体系,这也说明 文档解析 是其核心亮点
- RAGFlow在处理文档时,针对不同结构的文档给了不同的解析方法:General、Q&A、Resume、Manual、Table、Paper、Book、Laws、Presentation、One、Tag等
RAGFlow能力
- 数据处理复杂
企业内部文档格式多样,手动处理和提取信息慢
- 信息检索困难
传统关键词检索难以理解语义,无法找到真正相关的内容
- LLM知识局限
通用LLM缺乏企业内部或特定领域的专业知识,容易产生幻觉和回答错误
- 系统构建门槛高
从零开始搭建RAG系统设计多个技术环节,集成复杂
RAGFlow对比
RAGFlow通过自动化文档处理、高效的检索和LLM的集成,大大降低了构建企业级知识库问答系统的门槛
| 特性 | RAGFlow | FastGPT | Dify |
| 定位 | RAG引擎(Engine) | 应用平台 | 应用平台 |
| 核心 | 数据处理、RAG流程构建与优化 | 快速构建知识库问答应用 | 快速构建和编排LLM应用(含RAG) |
| 易用性 | 需要了解RAG流程 | 开箱即用 | 提供可视化编排 |
| 灵活性 | 可定制流程各环节 | 提供配置选项 | 可视化流程编排 |
| 数据处理 | 精细化文档解析、多种分块策略 | 相对标准 | 相对标准、支持数据集 |
| 部署 | 本地 | 云+本地 | 云+本地 |
| 扩展性 | 可通过代码扩展 | 依赖平台功能 | 可通过代码节点扩展 |
| 目标用户 | 开发者、需要深度定制RAG的企业 | 业务人员、快速应用构建 | 开发者、快速应用构建者 |
| 开源 | 是 | 是 | 是 |
RAGFlow安装并实现简易问答助手
安装配置
- CPU>=4
- 内存>=16GB
- 磁盘>=50GB
- docker >= 24.0.0 & docker compose >= 2.26.1
- 安装地址
| RAGFlow image tag | Image size (GB) | Has embedding models? | Stable? |
| v0.21.1 | ≈9 | ✔️ | Stable release |
| v0.21.1-slim | ≈2 | ❌ | Stable release |
- 默认下载docker 镜像的slim版本,其未内置嵌入模型,不太方便,直接下载完整版
安装环境配置修改
- 在docker/.env 中更新RAGFLOW_IMAGE的变量
- 在docker/docker-componse.yml中修改端口映射(主要用于其它项目共存)
- 执行命令
docker componse -p ragflow_docker -f docker-componse.yml up -d |
- 安装完成,检查
docker logs -f ragflow-server |
- docker dektop 中可以看到
界面访问
- 浏览器访问
http://localhost:180(先注册账号,再登陆)
- 调整界面-中文
配置模型
- 支持在线和本地大模型
- 配置阿里通义千问大模型
- 配置本地Ollama中的模型
- 本地部署的Ollama地址要用
http://host.docker.internal:11434(docker环境部署的RAGFlow)
- 缺省模型配置:上面的模型配置仅是告知RAGFlow有哪些模型可用,一般来说还需要配置一个系统模型
构建知识库问答助手
- 构建知识库
比如医疗知识库,可以从[huggingface](https://huggingface.co/datasets/infiniFlow/medical_QA)上获取, |
- 切片方法选择
比如CSV格式且为QA问答形式,切片方法选择Q&A |
- 解析
- 检索测试
- 选择知识库,不然模型不会从知识库中回答问题
- 模型选择,在线、本地都可
- 结果





















