项目地址:/infiniflow/ragflow, 程序语言:TypeScript, 收藏: 38,800, 分支: 3,424, 今日收藏: 436 stars today。

什么是 RAGFlow?
RAGFlow 是一个基于深度文档理解的开源 RAG(检索增强生成)引擎。它为任何规模的企业提供了简化的 RAG 工作流,结合 LLM(大型语言模型)提供真实的问答能力,并以各种复杂格式数据的可靠引用为支持。
最新更新
2025-02-28 结合互联网搜索(Tavily),支持任何 LLM 的推理,如深度研究。2025-02-05 更新了 SILICONFLOW 的模型列表,并增加对 Deepseek-R1/DeepSeek-V3 的支持。2025-01-26 优化知识图谱提取和应用,提供各种配置选项。2024-12-18 升级 DeepDoc 中的文档布局分析模型。2024-12-04 增加知识库中的 pagerank 分数支持。2024-11-22 向 Agent 添加更多变量。2024-11-01 向解析的块添加关键字提取和相关问题生成,以提高检索的准确性。2024-08-22 通过 RAG 支持文本到 SQL 语句。主要特性
“优质输入,优质输出”
基于深度文档理解的知识提取,来自复杂格式的非结构化数据。在字面上无限的令牌数据堆中找到“数据的针”。基于模板的分块
智能且可解释。提供多种模板选项供选择。基于引用的减少幻觉
文本分块的可视化以允许人工干预。快速查看关键参考和可追溯引用以支持有根据的答案。兼容异构数据源
支持 Word、幻灯片、Excel、文本、图像、扫描副本、结构化数据、网页等。自动化且轻松的 RAG 工作流
针对个人和大型企业的流线型 RAG 协调。可配置的 LLM 以及嵌入模型。多次召回配对融合重排序。直观的 API 以便于与业务的无缝集成。系统架构
开始使用
CPU >= 4 核心RAM >= 16 GB磁盘 >= 50 GBDocker >= 24.0.0 & Docker Compose >= v2.26.1启动服务器
1.确保 vm.max_map_count >= 262144:
// 检查 `vm.max_map_count` 的值: $ sysctl vm.max_map_count // 如果不为 262144,请重置 `vm.max_map_count` 至至少 262144: $ sudo sysctl -w vm.max_map_count=262144 // 此更改在系统重启后将被重置。要确保更改保持永久,请相应地在 **/etc/sysctl.conf** 中添加或更新 `vm.max_map_count` 的值: vm.max_map_count=2621442.克隆仓库:
$ git clone git@github.com:infiniflow/ragflow.git3.使用预构建的 Docker 镜像启动服务器:
$ cd ragflow/docker $ docker compose -f docker-compose.yml up -d4.检查服务器状态:
$ docker logs -f ragflow-server5.在浏览器中输入服务器的 IP 地址并登录 RAGFlow。
6.在
service_conf.yaml.template 中,选择所需的 LLM 工厂并更新 API_KEY 字段。配置
在系统配置方面,您需要管理以下文件:
.env: 保持系统的基本设置,例如 SVR_HTTP_PORT、MYSQL_PASSWORD 和 MINIO_PASSWORD。service_conf.yaml.template: 配置后端服务。docker-compose.yml: 系统依赖于此文件启动。要更新默认 HTTP 服务端口(80),请在 docker-compose.yml 中将 80:80 更改为 :80。
从 Elasticsearch 切换到 Infinity 文档引擎
RAGFlow 默认使用 Elasticsearch 存储全文和向量。要切换到 Infinity,请按照以下步骤操作:
停止所有正在运行的容器:$ docker compose -f docker/docker-compose.yml down -v在 docker/.env 中将 DOC_ENGINE 设置为 infinity。启动容器:$ docker compose -f docker-compose.yml up -d构建不包含嵌入模型的 Docker 镜像
此镜像大小约为 2 GB,并依赖于外部 LLM 和嵌入服务。
git clone git@github.com:infiniflow/ragflow.git cd ragflow/ docker build –build-arg LIGHTEN=1 -f Dockerfile -t infiniflow/ragflow:nightly-slim .构建包含嵌入模型的 Docker 镜像
此镜像大小约为 9 GB。由于包含嵌入模型,因此仅依赖于外部 LLM 服务。
git clone git@github.com:infiniflow/ragflow.git cd ragflow/ docker build -f Dockerfile -t infiniflow/ragflow:nightly .从源代码启动服务进行开发
1.安装 uv,或者如果已经安装,则跳过此步骤:
pipx install uv2.克隆源代码并安装 Python 依赖:
git clone git@github.com:infiniflow/ragflow.git cd ragflow/ uv sync –python 3.10 –all-extras # 安装 RAGFlow 依赖的 Python 模块3.使用 Docker Compose 启动依赖服务(MinIO、Elasticsearch、Redis 和 MySQL):
docker compose -f docker/docker-compose-base.yml up -d4.如果无法访问 HuggingFace,请设置 HF_ENDPOINT 环境变量以使用镜像站点:
export HF_ENDPOINT=https://hf-mirror.com5.启动后端服务:
source .venv/bin/activate export PYTHONPATH=$(pwd) bash docker/launch_backend_service.sh6.安装前端依赖:
cd web npm install7.启动前端服务:
npm run dev