RAGFlow 简介
RAGFlow 是一个基于深度文档理解的开源检索增强生成(RAG)引擎,旨在解决大语言模型在处理复杂非结构化数据时的幻觉问题。它支持从个人应用到超大型企业的各类生态系统,提供全面优化的 RAG 工作流。
核心特性
- 多路召回与融合重排序:结合关键词检索与向量检索,通过重排序模型提升检索精度。
- 异构数据源兼容:支持 Word、PPT、Excel、TXT、图片、PDF、影印件、结构化数据及网页等多种文件类型。
- 可视化文本切片:提供文本切片过程的可视化界面,支持手动调整分块策略,确保上下文完整性。
- 可解释性与溯源:答案生成时提供关键引用的快照,支持追根溯源,最大程度降低幻觉(Hallucination)。
- GraphRAG 支持:基于知识图谱的检索增强,能够处理复杂关系推理任务。
- AI 编排流:支持 Agent 模块,允许用户通过模板选择构建复杂的业务逻辑流程。
系统架构设计遵循微服务原则,包含解析服务、索引服务、向量数据库及 LLM 网关等组件,确保高可用性与可扩展性。
快速开始与环境要求
在部署 RAGFlow 之前,请确保服务器满足以下硬件与软件要求:
- CPU >= 4 核
- RAM >= 16 GB
- Disk >= 50 GB
- Docker >= 24.0.0 & Docker Compose >= v2.26.1
如果本机未安装 Docker,请参考官方文档 Install Docker Engine 进行安装。
启动服务器前置配置
vm.max_map_count 是 Linux 内核参数,定义进程可拥有的最大内存映射区域数。对于 Elasticsearch 等需要大量内存映射的应用,此参数至关重要。
- 性能优化:增加该值允许创建更多内存映射区域,提升大数据处理效率。
- 稳定性保障:若限制过低,可能导致映射失败或应用崩溃。
设置方法
- 临时设置:
sudo sysctl -w vm.max_map_count=262144 - 永久设置:
编辑
/etc/sysctl.conf文件,添加或更新:执行vm.max_map_count=262144sudo sysctl -p使更改生效。
确认当前值:
sysctl vm.max_map_count
克隆仓库与启动
使用 Git 克隆项目仓库:
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker
chmod +x ./entrypoint.sh
docker compose -f docker-compose-CN.yml up -d
注意:默认会拉取开发版本镜像。如需特定版本,请在
docker/.env中修改RAGFLOW_VERSION变量(例如v0.11.0)。


