什么是 RAGFlow?
在检索增强生成(RAG)技术迅速普及的今天,能够真正深入解析复杂文档的开源方案并不多见。RAGFlow 就是少数中的佼佼者——它基于深度文档理解技术,专为个人用户、中小企业及大型企业打造了一套精简高效的 RAG 工作流。简单来说,它可以从各种杂乱无章的格式数据中提取关键信息,并结合大语言模型(LLM)输出精准答案,每个答案还附带可靠引用,真正做到有据可查。

核心功能
“输入质量决定输出质量”
- 借助深度文档理解,从各类非结构化数据中精准抽取有价值的内容。
- 在无限上下文(token)场景下,依然能快速通过“大海捞针”式测试,保障检索效果。
基于模板的文本切片机制
- 不仅智能,更注重可控性与可解释性。
- 提供多种文本切片模板,灵活适配不同场景。
有理有据,最大程度减少幻觉
- 文本切片过程全程可视化,支持手动微调。
- 每个答案附带关键引用快照,便于追溯验证。
兼容多种异构数据源
- 支持丰富文件格式:Word、PPT、Excel、txt、图片、PDF、影印件、复印件、结构化数据、网页等,一站式处理。
自动化端到端 RAG 工作流
- 经过全面优化的 RAG 工作流,可覆盖个人级到超大型企业的各类应用生态。
- LLM 和向量模型均可自由配置,满足不同需求。
- 内置多路召回与融合重排序机制,提升检索精度。
- 提供易用 API,快速与企业现有系统集成。
更新日志
- 2024-04-16:新增嵌入模型 BCEmbedding。
- 2024-04-16:添加 FastEmbed,专为轻量级高速嵌入场景设计。
- 2024-04-11:支持通过 Xinference 进行大模型本地化部署。
- 2024-04-10:为“Laws”版面分析功能增加了底层模型。
- 2024-04-08:支持使用 Ollama 本地化部署大模型。
- 2024-04-07:支持中文界面,降低国内用户使用门槛。
系统架构
快速上手
环境要求
- CPU ≥ 2 核
- 内存 ≥ 8 GB
- Docker ≥ 24.0.0 且 Docker Compose ≥ v2.26.1
如果您的机器尚未安装 Docker(Windows、Mac 或 Linux),请参考 官方 Docker 安装指南 完成安装。
启动服务
1. 确保系统参数 vm.max_map_count 不小于 262144(具体原因详见官方文档)。
先查看当前值:
$ sysctl vm.max_map_count
如果该值小于 262144,可临时调整:
# 设置为 262144: $ sudo sysctl -w vm.max_map_count=262144
以上设置重启后失效,如需永久生效,请在 /etc/sysctl.conf 文件中追加:
vm.max_map_count=262144
2. 克隆代码仓库:
$ git clone https://github.com/infiniflow/ragflow.git
3. 进入 docker 目录,使用预编译镜像启动服务:
$ cd ragflow/docker $ chmod +x ./entrypoint.sh $ docker compose -f docker-compose-CN.yml up -d
核心镜像约 15GB,首次拉取需要一定时间,请耐心等待。
4. 启动完成后,通过以下命令确认服务状态:
$ docker logs -f ragflow-server
5. 在浏览器中输入服务器的 IP 地址即可访问 RAGFlow。按上例,直接输入 http://IP_OF_YOUR_MACHINE 即可(默认 HTTP 端口为 80,如未修改则无需指定端口)。
6. 编辑 service_conf.yaml 文件,在 user_default_llm 字段配置 LLM 工厂,并在 API_KEY 中填写对应大模型的 API 密钥。
详细指引请参考 ./docs/llm_api_key_setup.md。
配置完成,尽享 RAGFlow 的强大功能!
系统配置说明
系统配置涉及以下三个文件:
.env:存放基础系统环境变量,如SVR_HTTP_PORT、MYSQL_PASSWORD、MINIO_PASSWORD等。service_conf.yaml:配置各类后台服务参数。docker-compose-CN.yml:系统依赖此文件完成整体启动。
务必确保 .env 中的变量值与 service_conf.yaml 中的配置保持一致!
./docker/README文件提供了环境变量设置和服务配置的详细说明。请务必对照该文件,确保所有环境变量值均与service_conf.yaml中的系统配置一一对应。
如需更改默认 HTTP 服务端口(80),请在 docker-compose-CN.yml 中将 80:80 修改为 。
所有系统配置修改后均需重启服务才能生效:
$ docker compose -f docker-compose-CN.yml up -d
源码编译及 Docker 镜像构建
如果您希望从源码编译 Docker 镜像,请按以下步骤操作:
$ git clone https://github.com/infiniflow/ragflow.git $ cd ragflow/ $ docker build -t infiniflow/ragflow:v0.2.0 . $ cd ragflow/docker $ chmod +x ./entrypoint.sh $ docker compose up -d
