infiniflow/ragflow

GitHub: infiniflow/ragflow

RAGFlow 是一款融合检索增强生成与 Agent 能力的开源 RAG 引擎,致力于为 LLM 提供高质量上下文层以构建生产级 AI 系统。

Stars: 83009 | Forks: 9594

ragflow logo

README in English 简体中文版自述文件 繁體版中文自述文件 日本語のREADME 한국어 README en Français Bahasa Indonesia Português(Brasil) README in Arabic Türkçe README

follow on X(Twitter) Static Badge docker pull infiniflow/ragflow:v0.26.1 Latest Release license Ask DeepWiki

云服务 | 文档 | 路线图 | Discord

infiniflow%2Fragflow | Trendshift
📕 目录 - 💡 [什么是 RAGFlow?](#-what-is-ragflow) - 🎮 [快速开始](#-get-started) - 📌 [最新更新](#-latest-updates) - 🌟 [核心特性](#-key-features) - 🔎 [系统架构](#-system-architecture) - 🎬 [自托管部署](#-self-hosting) - 🔧 [配置说明](#-configurations) - 🔧 [构建 Docker 镜像](#-build-a-docker-image) - 🔨 [从源码启动服务进行开发](#-launch-service-from-source-for-development) - 📚 [文档](#-documentation) - 📜 [路线图](#-roadmap) - 🏄 [社区](#-community) - 🙌 [贡献指南](#-contributing)
## 💡 什么是 RAGFlow? [RAGFlow](https://ragflow.io/) 是一款领先的开源检索增强生成([RAG](https://ragflow.io/basics/what-is-rag))引擎,它将最前沿的 RAG 技术与 Agent 能力相融合,为 LLM 打造卓越的上下文层。它提供了精简的 RAG 工作流,可适应各种规模的企业。依托于融合的[上下文引擎](https://ragflow.io/basics/what-is-agent-context-engine)和预置的 Agent 模板,RAGFlow 使开发者能够以极高的效率和精准度,将复杂数据转化为高保真、生产就绪的 AI 系统。 ## 🎮 快速开始 在 [https://cloud.ragflow.io](https://cloud.ragflow.io) 体验我们的云服务。
## 🔥 最新更新 - 2026-06-15 支持多种聊天渠道,如飞书、Discord、Telegram、Line 等。 - 2026-04-24 支持 DeepSeek v4。 - 2026-03-24 [OpenClaw 上的 RAGFlow Skill](https://clawhub.ai/yingfeng/ragflow-skill) — 提供了一个官方 Skill,用于通过 OpenClaw 访问 RAGFlow 数据集。 - 2025-12-26 为 AI agent 支持“Memory”功能。 - 2025-11-19 支持 Gemini 3 Pro。 - 2025-11-12 支持从 Confluence、S3、Notion、Discord、Google Drive 同步数据。 - 2025-10-23 支持 MinerU 和 Docling 作为文档解析方法。 - 2025-10-15 支持可编排的摄入 pipeline。 - 2025-08-08 支持 OpenAI 最新 GPT-5 系列模型。 - 2025-08-01 支持 agentic workflow 和 MCP。 - 2025-05-23 在 Agent 中新增 Python/JavaScript 代码执行器组件。 - 2025-03-19 支持使用多模态模型来理解 PDF 或 DOCX 文件中的图像。 ## 🌟 核心特性 ### 🍭 **“垃圾进,垃圾出”(高质量输入,高质量输出)** - 基于对非结构化数据中复杂格式的[深度文档理解](./deepdoc/README.md)进行知识提取。 - 从近乎无限 token 的数据“大海捞针”中找到所需信息。 ### 🍱 **基于模板的分块** - 智能且可解释。 - 丰富的模板选项可供选择。 ### 🌱 **有据可循的引用,有效降低幻觉** - 可视化文本分块,支持人工干预。 - 快速查看关键参考和可追溯的引用,为有依据的回答提供支持。 ### 🍔 **兼容异构数据源** - 支持 Word、幻灯片、Excel、txt、图像、扫描件、结构化数据、网页等。 ### 🛀 **自动化、零门槛的 RAG 工作流** - 简化的 RAG 编排,满足个人用户和大型企业的双重需求。 - 可配置的 LLM 以及 embedding 模型。 - 多路召回搭配融合重排序。 - 直观的 API,可与业务系统无缝集成。 ## 🔎 系统架构
## 🎬 自托管部署 ### 📝 前置条件 - CPU >= 4 核 - 内存 >= 16 GB - 磁盘 >= 50 GB - Docker >= 24.0.0 且 Docker Compose >= v2.26.1 - Python >= 3.13 - [gVisor](https://gvisor.dev/docs/user_guide/install/):仅在您打算使用 RAGFlow 的代码执行器(sandbox)功能时才需要。 ### 🚀 启动服务器 1. 确保 `vm.max_map_count` >= 262144: 2. 克隆代码仓库: $ git clone https://github.com/infiniflow/ragflow.git 3. 使用预构建的 Docker 镜像启动服务器: ``` $ cd ragflow/docker # git checkout v0.26.1 # Optional: use a stable tag (see releases: https://github.com/infiniflow/ragflow/releases) # This step ensures the **entrypoint.sh** file in the code matches the Docker image version. # Use CPU for DeepDoc tasks: $ docker compose -f docker-compose.yml up -d # To use GPU to accelerate DeepDoc tasks: # sed -i '1i DEVICE=gpu' .env # docker compose -f docker-compose.yml up -d ``` | RAGFlow image tag | Image size (GB) | Has embedding models? | Stable? | |-------------------|-----------------|-----------------------|----------------| | v0.21.1 | ≈9 | ✔️ | Stable release | | v0.21.1-slim | ≈2 | ❌ | Stable release | 4. 服务器启动并运行后,检查服务器状态: $ docker logs -f docker-ragflow-cpu-1 _以下输出确认系统已成功启动:_ ____ ___ ______ ______ __ / __ \ / | / ____// ____// /____ _ __ / /_/ // /| | / / __ / /_ / // __ \| | /| / / / _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ / /_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/ * Running on all addresses (0.0.0.0) 5. 在 Web 浏览器中,输入服务器的 IP 地址并登录 RAGFlow。 6. 在 [service_conf.yaml.template](./docker/service_conf.yaml.template) 中,于 `user_default_llm` 处选择所需的 LLM 供应商,并使用相应的 API key 更新 `API_KEY` 字段。 _好戏开场了!_ ## 🔧 配置说明 在系统配置方面,您需要管理以下文件: - [.env](./docker/.env):保存系统的基本设置,例如 `SVR_HTTP_PORT`、`MYSQL_PASSWORD` 和 `MINIO_PASSWORD`。 - [service_conf.yaml.template](./docker/service_conf.yaml.template):配置后端服务。此文件中的环境变量将在 Docker 容器启动时自动填充。在 Docker 容器内设置的任何环境变量都将可供使用,允许您根据部署环境自定义服务行为。 - [docker-compose.yml](./docker/docker-compose.yml):系统依靠 [docker-compose.yml](./docker/docker-compose.yml) 来启动。 要更新默认的 HTTP 服务端口 (80),请转到 [docker-compose.yml](./docker/docker-compose.yml) 并将 `80:80` 更改为 `:80`。 对上述配置的更新需要重启所有容器才能生效: ### 将 doc engine 从 Elasticsearch 切换为 Infinity RAGFlow 默认使用 Elasticsearch 存储全文和向量。要切换到 [Infinity](https://github.com/infiniflow/infinity/),请按照以下步骤操作: 1. 停止所有正在运行的容器: $ docker compose -f docker/docker-compose.yml down -v 2. 将 **docker/.env** 中的 `DOC_ENGINE` 设置为 `infinity`。 3. 启动容器: $ docker compose -f docker-compose.yml up -d ## 🔧 构建 Docker 镜像 此镜像大小约为 2 GB,并依赖外部的 LLM 和 embedding 服务。 ``` git clone https://github.com/infiniflow/ragflow.git cd 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 . ``` ## 🔨 从源码启动服务进行开发 1. 安装 `uv` 和 `pre-commit`,如果已经安装过则可跳过此步: pipx install uv pre-commit 2. 克隆源代码并安装 Python 依赖: git clone https://github.com/infiniflow/ragflow.git cd ragflow/ uv sync --python 3.13 # 安装 RAGFlow 依赖的 Python 模块 uv run python3 download_deps.py pre-commit install 3. 使用 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 4. 如果您无法访问 HuggingFace,请设置 `HF_ENDPOINT` 环境变量以使用镜像站点: export HF_ENDPOINT=https://hf-mirror.com 5. 如果您的操作系统未安装 jemalloc,请按如下方式进行安装: # Ubuntu sudo apt-get install libjemalloc-dev # CentOS sudo yum install jemalloc # OpenSUSE sudo zypper install jemalloc # macOS sudo brew install jemalloc 6. 启动后端服务: source .venv/bin/activate export PYTHONPATH=$(pwd) bash docker/launch_backend_service.sh 7. 安装前端依赖: cd web npm install 8. 启动前端服务: npm run dev _以下输出确认系统已成功启动:_ ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/6fc6856681201231.png) 9. 开发完成后,停止 RAGFlow 前端和后端服务: pkill -f "ragflow_server.py|task_executor.py" ## 📚 文档 - [快速入门](https://ragflow.io/docs/dev/) - [配置](https://ragflow.io/docs/dev/configurations) - [版本发布说明](https://ragflow.io/docs/dev/release_notes) - [用户指南](https://ragflow.io/docs/category/user-guides) - [开发者指南](https://ragflow.io/docs/category/developer-guides) - [参考资料](https://ragflow.io/docs/dev/category/references) - [常见问题](https://ragflow.io/docs/dev/faq) ## 📜 路线图 请查看 [RAGFlow 2026 路线图](https://github.com/infiniflow/ragflow/issues/12241) ## 🏄 社区 - [Discord](https://discord.gg/NjYzJD3GM3) - [X](https://x.com/infiniflowai) - [GitHub Discussions](https://github.com/orgs/infiniflow/discussions) ## 🙌 贡献指南 RAGFlow 的繁荣离不开开源协作。秉承这一精神,我们欢迎社区的各种贡献。 如果您愿意参与其中,请先查阅我们的[贡献指南](https://ragflow.io/docs/dev/contributing)。
标签:DLL 劫持, RAG, Ruby, 人工智能, 向量检索, 大语言模型, 搜索引擎查询, 检索增强生成, 版权保护, 用户模式Hook绕过, 知识库, 请求拦截, 逆向工具