RAGFlow:融合RAG与智能体的开源引擎,为LLM构建卓越上下文层
RAGFlow是一款领先的开源检索增强生成(RAG)引擎,通过融合RAG与智能体能力,为LLM提供高质量上下文层,支持复杂数据处理和高效AI系统构建。
📕 目录RAGFlow是一款领先的开源检索增强生成(RAG)引擎,将尖端的RAG与智能体功能融合在一起,为LLM创建卓越的上下文层。它提供了可适应任何规模企业的简化RAG工作流程。
RAGFlow由融合上下文引擎和预构建的智能体模板提供支持,使开发人员能够以卓越的效率和精确度将复杂数据转换为高保真、可生产的人工智能系统。尝试我们的云服务:https://cloud.ragflow.io。
- 2026-04-24 支持DeepSeek v4。- 2026-03-24 OpenClaw上的RAGFlow技能——提供通过OpenClaw访问RAGFlow数据集的官方技能。- 2025-12-26 支持AI智能体的“记忆”功能。
- 2025-11-19 支持Gemini 3 Pro。- 2025-11-12 支持从Confluence、S3、Notion、Discord、Google Drive同步数据。- 2025-10-23 支持MinerU和Docling作为文档解析方法。
- 2025-10-15 支持可编排的摄入管道。- 2025-08-08 支持OpenAI最新的GPT-5系列模型。- 2025-08-01 支持智能体工作流和MCP。- 2025-05-23 为Agent添加Python/JavaScript代码执行器组件。
- 2025-05-05 支持跨语言查询。- 2025-03-19 支持使用多模态模型理解PDF或DOCX文件中的图像。⭐️ 给我们的仓库加星标,以随时了解令人兴奋的新功能和改进!获取新版本的即时通知!
🌟- 基于深度文档理解,从复杂格式的非结构化数据中提取知识。- 在几乎无限的令牌中“大海捞针”。- 智能且可解释。- 提供大量模板选项可供选择。- 文本分块可视化,允许人工干预。- 快速查看关键参考文献和可追溯的引文,以支持有依据的答案。
- 支持Word、幻灯片、Excel、txt、图像、扫描件、结构化数据、网页等。- 简化的RAG编排,满足个人和大型企业的需求。- 可配置的LLM以及嵌入模型。- 多重召回与融合重排序配对。- 直观的API,可与业务无缝集成。
- CPU >= 4核- RAM >= 16 GB- 磁盘 >= 50 GB- Docker >= 24.0.0 和 Docker Compose >= v2.26.1- Python >= 3.13- gVisor:
仅当您打算使用RAGFlow的代码执行器(沙盒)功能时才需要。提示如果您尚未在本地机器(Windows、Mac或Linux)上安装Docker,请参阅安装Docker Engine。
- 确保 vm.max_map_count >= 262144:检查 vm.max_map_count 的值:$ sysctl vm.max_map_count如果 vm.max_map_count 的值小于262144,则将其重置为至少262144。
# 在本例中,我们将其设置为262144:$ sudo sysctl -w vm.max_map_count=262144此更改在系统重启后会重置。要确保更改永久生效,请在 /etc/sysctl.conf 中添加或更新 vm.max_map_count 值:
max_map_count=262144- 克隆仓库:$ git clone https://github.com/infiniflow/ragflow.git- 使用预构建的Docker镜像启动服务器:注意所有Docker镜像均为x86平台构建。
我们目前不提供ARM64的Docker镜像。如果您使用ARM64平台,请按照本指南构建与您的系统兼容的Docker镜像。下面的命令下载 v0.25.6 版本的RAGFlow Docker镜像。
有关不同RAGFlow版本的描述,请参阅下表。要下载不同于 v0.25.6 的RAGFlow版本,请在 docker/.env 中相应更新 RAGFLOW_IMAGE 变量,然后使用 docker compose 启动服务器。
$ cd ragflow/docker# git checkout v0.25.6# 可选:使用稳定标签(参见发布版:https:
//github.com/infiniflow/ragflow/releases)# 此步骤确保代码中的 entrypoint.sh 文件与Docker镜像版本匹配。
# 使用CPU执行DeepDoc任务:$ docker compose -f docker-compose.yml up -d# 使用GPU加速DeepDoc任务:
# sed -i '1i DEVICE=gpu' .env# docker compose -f docker-compose.yml up -d注意:在 v0.22.0 之前,我们同时提供包含嵌入模型的镜像和不包含嵌入模型的精简镜像。
详情如下:从 v0.22.0 开始,我们仅提供精简版,并且不再在镜像标签上附加 -slim 后缀。
- 服务器启动并运行后检查服务器状态:$ docker logs -f docker-ragflow-cpu-1以下输出确认系统成功启动:
____ ___ ______ ______ __ / __ \ / | / ____// ____// /____ _ __ / /_/ // /| | / / __ / /_ / // __ \| | /| / / / _,
_// ___ |/ /_/ // __/ / // /_/ /| |/ |/ / /_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/ * Running on all addresses (0.0.0.0)如果您跳过此确认步骤并直接登
录RAGFlow,您的浏览器可能会提示“网络异常”错误,因为此时您的RAGFlow可能尚未完全初始化。- 在您的网络浏览器中,输入服务器的IP地址并登录RAGFlow。
使用默认设置时,您只需输入 http://IP_OF_YOUR_MACHINE(不带端口号),因为使用默认配置时可以省略默认的HTTP服务端口80。
- 在 service_conf.yaml.template 中,在 user_default_llm 下选择所需的LLM工厂,并用相应的API密钥更新 API_KEY 字段。有关更多信息,请参阅 llm_api_key_setup。
演出开始了!在系统配置方面,您需要管理以下文件:- .env:保存系统的基本设置,例如 SVR_HTTP_PORT、MYSQL_PASSWORD 和 MINIO_PASSWORD。- service_conf.yaml.template:配置后端服务。
当Docker容器启动时,该文件中的环境变量将自动填充。
Docker容器中设置的任何环境变量都将可供使用,允许您根据部署环境自定义服务行为。- docker-compose.yml:系统依赖于 docker-compose.yml 启动。
./docker/README 文件提供了环境设置和服务配置的详细描述,这些可以在 service_conf.yaml.template 文件中用作 ${ENV_VARS}。
要更新默认的HTTP服务端口(80),请转到 docker-compose.yml 并将 80:80 改为 <YOUR_SERVING_PORT>:80。
上述配置的更新需要重启所有容器才能生效:$ docker compose -f docker-compose.yml up -dRAGFlow默认使用Elasticsearch来存储全文和向量。
要切换到Infinity,请遵循以下步骤:- 停止所有运行的容器:$ docker compose -f docker/docker-compose.yml down -v警告:-v 将删除docker容器卷,现有数据将被清除。
- 将 docker/.env 中的 DOC_ENGINE 设置为 infinity。- 启动容器:$ docker compose -f docker-compose.yml up -d警告:尚未正式支持在Linux/arm64机器上切换到Infinity。
此镜像大小约为2 GB,依赖外部LLM和嵌入服务。
git clone https://github.com/infiniflow/ragflow.gitcd ragflow/docker build --platform linux/amd64 -f Dockerfile -t infiniflow/ragflow:
nightly .
或者,如果您在代理后面,可以传递代理参数:docker build --platform linux/amd64 \--build-arg http_proxy=http://YOUR_PROXY:PORT \--build-arg https_proxy=http:
//YOUR_PROXY:
PORT \-f Dockerfile -t infiniflow/ragflow:nightly .- 安装 uv 和 pre-commit,如果已安装则跳过此步骤:pipx install uv pre-commit- 克隆源代码并安装Python依赖:
git clone https:
//github.com/infiniflow/ragflow.gitcd ragflow/uv sync --python 3.13 # 安装RAGFlow依赖的Python模块uv run python3 download_deps.pypre-commit inst
all- 使用Docker Compose启动依赖服务(MinIO、
Elasticsearch、Redis和MySQL):docker compose -f docker/docker-compose-base.yml up -d将以下行添加到 /etc/hosts,将 docker/.env 中指定的所有主机解析到 127.0.0.1:
127.0.0.1 es01 infinity mysql minio redis sandbox-executor-manager- 如果无法访问HuggingFace,请设置 HF_E
本文为机器翻译辅以 AI 润色,仅供参考。原始事实以原文为准。