48.4K+ Star!RAGFlow:一个基于深度文档理解的开源RAG引擎

欢迎关注我,持续获取更多内容,感谢&在看~

RAGFlow 简介

RAGFlow[1] 是一个基于深度文档理解的开源 RAG(Retrieval-Augmented Generation,检索增强生成)引擎。

RAGFlow 结合了大型语言模型(LLM),为企业提供真实可靠的问题回答能力,并通过各种复杂格式的数据提供有根据的引用。RAGFlow 适用于各种规模的企业,能够帮助企业高效地处理和利用大量文档数据。

在线示例

项目特点

主要特点

  • 深度文档理解:能够从复杂格式的非结构化数据中提取知识。
  • 模板化分块:智能且可解释,提供多种模板选项。
  • 减少幻觉的引用:支持可视化文本分块,允许人工干预,提供关键参考和可追溯的引用。
  • 兼容多种数据源:支持 Word、幻灯片、Excel、文本、图片、扫描件、结构化数据、网页等多种数据格式。
  • 自动化 RAG 流程:为个人和大型企业量身定制的 RAG 流程,支持多种召回策略和融合重排,提供直观的 API 以无缝集成到业务中。

使用场景

  • 企业知识管理:快速检索和生成企业内部文档中的知识。
  • 智能客服:基于文档提供准确的回答,减少人工客服的工作量。
  • 数据分析:从大量文档中提取关键信息,支持数据驱动的决策。
  • 研究与开发:加速研究过程,快速获取相关文献和资料。

项目使用

系统架构

RAGFlow 的系统架构包括多个模块,如文档解析、知识图谱提取、检索增强生成等。其架构图展示了各个模块之间的交互关系。

系统架构

启动服务器

  1. 硬件要求
  • CPU:至少 4 核
  • 内存:至少 16 GB
  • 磁盘:至少 50 GB
  • Docker:24.0.0 或更高版本
  • Docker Compose:v2.26.1 或更高版本
  1. 启动步骤
  • 确保 vm.max_map_count >= 262144。如果需要,可以通过以下命令设置:
sudo sysctl -w vm.max_map_count=262144
  • 克隆项目代码:
git clone https://github.com/infiniflow/ragflow.git
  • 使用预构建的 Docker 镜像启动服务器:
cd ragflow/docker
docker compose -f docker-compose.yml up -d

如果需要使用 GPU 加速,可以使用以下命令:

docker compose -f docker-compose-gpu.yml up -d
  • 检查服务器状态:
docker logs -f ragflow-server
  • 在浏览器中输入服务器 IP 地址,登录 RAGFlow。
  1. 配置文件
  • .env:存储系统的基本设置,如 HTTP 端口、MySQL 密码等。
  • service_conf.yaml.template:配置后端服务,环境变量会在 Docker 容器启动时自动填充。
  • docker-compose.yml:用于启动系统的配置文件。

构建 Docker 镜像

  • 不包含嵌入模型的 Docker 镜像(约 2 GB):
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
docker build --build-arg LIGHTEN=1 -f Dockerfile -t infiniflow/ragflow:nightly-slim .
  • 包含嵌入模型的 Docker 镜像(约 9 GB):
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
docker build -f Dockerfile -t infiniflow/ragflow:nightly .

从源代码启动服务(开发用途)

  1. 安装 uv(如果尚未安装):
pipx install uv
  1. 克隆源代码并安装 Python 依赖项:
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
uv sync --python 3.10 --all-extras
  1. 使用 Docker Compose 启动依赖服务:
docker compose -f docker/docker-compose-base.yml up -d
  1. 启动后端服务:
source .venv/bin/activate
export PYTHONPATH=$(pwd)
bash docker/launch_backend_service.sh
  1. 安装前端依赖项:
cd web
npm install
  1. 启动前端服务:
npm run dev

参考文档

  • RAGFlow 官方文档[2]
  • 配置指南[3]
  • 用户指南[4]
  • 在线 Demo[5]
  • 开发者指南[6]
  • Discord 社区[7]
  • Twitter[8]

注:本文内容仅供参考,具体项目特性请参照官方 GitHub 页面的最新说明。

欢迎关注&点赞&在看,感谢你的阅读~


资源列表
[1] 

Github地址: https://github.com/infiniflow/ragflow

[2] 

RAGFlow 官方文档: https://ragflow.io/docs/dev/

[3] 

配置指南: https://ragflow.io/docs/dev/configurations

[4] 

用户指南: https://ragflow.io/docs/dev/category/guides

[5] 

在线 Demo: https://demo.ragflow.io/

[6] 

开发者指南: https://ragflow.io/docs/dev/category/developers

[7] 

Discord 社区: https://discord.gg/MFpqqKyB

[8] 

Twitter: https://twitter.com/infiniflowai

(文:AIGC创想者)

发表评论