Ctrl K
ComunidadGuías…

README_tzh.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
<div align="center">
<a href="https://cloud.ragflow.io/">
<img src="https://raw.githubusercontent.com/infiniflow/ragflow/main/web/src/assets/logo-with-text.svg" width="520" alt="ragflow logo">
</a>
</div>

<p align="center">
  <a href="./README.md"><img alt="README in English" src="https://img.shields.io/badge/English-DFE0E5"></a>
  <a href="./README_zh.md"><img alt="簡體中文版自述文件" src="https://img.shields.io/badge/簡體中文-DFE0E5"></a>
  <a href="./README_tzh.md"><img alt="繁體版中文自述文件" src="https://img.shields.io/badge/繁體中文-DBEDFA"></a>
  <a href="./README_ja.md"><img alt="日本語のREADME" src="https://img.shields.io/badge/日本語-DFE0E5"></a>
  <a href="./README_ko.md"><img alt="한국어" src="https://img.shields.io/badge/한국어-DFE0E5"></a>
  <a href="./README_fr.md"><img alt="README en Français" src="https://img.shields.io/badge/Français-DFE0E5"></a>
  <a href="./README_id.md"><img alt="Bahasa Indonesia" src="https://img.shields.io/badge/Bahasa Indonesia-DFE0E5"></a>
  <a href="./README_pt_br.md"><img alt="Português(Brasil)" src="https://img.shields.io/badge/Português(Brasil)-DFE0E5"></a>
  <a href="./README_ar.md"><img alt="README in Arabic" src="https://img.shields.io/badge/Arabic-DFE0E5"></a>
  <a href="./README_tr.md"><img alt="Türkçe README" src="https://img.shields.io/badge/Türkçe-DFE0E5"></a>
  <a href="./README_ru.md"><img alt="Русская версия README" src="https://img.shields.io/badge/Русский-DFE0E5"></a>
</p>

<p align="center">
    <a href="https://x.com/intent/follow?screen_name=infiniflowai" target="_blank">
        <img src="https://img.shields.io/twitter/follow/infiniflow?logo=X&color=%20%23f5f5f5" alt="follow on X(Twitter)">
    </a>
    <a href="https://cloud.ragflow.io" target="_blank">
        <img alt="Static Badge" src="https://img.shields.io/badge/Get-Started-4e6b99">
    </a>
    <a href="https://hub.docker.com/r/infiniflow/ragflow" target="_blank">
        <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/infiniflow/ragflow-stats/main/badges/docker-pulls.json&style=flat-square&logo=docker&logoColor=white" alt="RAGFlow Docker image downloads">
    </a>
    <a href="https://github.com/infiniflow/ragflow/releases/latest">
        <img src="https://img.shields.io/github/v/release/infiniflow/ragflow?color=blue&label=Latest%20Release" alt="Latest Release">
    </a>
    <a href="https://github.com/infiniflow/ragflow/blob/main/LICENSE">
        <img height="21" src="https://img.shields.io/badge/License-Apache--2.0-ffffff?labelColor=d4eaf7&color=2e6cc4" alt="license">
    </a>
</p>

<h4 align="center">
  <a href="https://cloud.ragflow.io">Cloud</a> |
  <a href="https://ragflow.io/docs/dev/">Document</a> |
  <a href="https://github.com/infiniflow/ragflow/issues/12241">Roadmap</a> |
  <a href="https://discord.gg/NjYzJD3GM3">Discord</a>
</h4>

<div align="center" style="margin-top:20px;margin-bottom:20px;">
<img alt="RAGFlow in the GitHub Octoverse" src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/refs/heads/image/image/ragflow-octoverse.png" width="1200"/>
</div>

<div align="center">
<a href="https://trendshift.io/repositories/9064" target="_blank"><img src="https://trendshift.io/api/badge/repositories/9064" alt="infiniflow%2Fragflow | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
</div>

<details open>
<summary><b>📕 目錄</b></summary>

- 💡 [RAGFlow 是甚麼?](#-ragflow-是甚麼)
- 🎮 [快速開始](#-快速開始)
- 🔥 [近期更新](#-近期更新)
- 🌟 [主要功能](#-主要功能)
- 🔎 [系統架構](#-系統架構)
- 🏠 [本地部署](#-本地部署)
- 📚 [技術文檔](#-技術文檔)
- 📜 [路線圖](#-路線圖)
- 🏄 [開源社區](#-開源社區)
- 🙌 [貢獻指南](#-貢獻指南)
- 🤝 [商務合作](#-商務合作)
- 👥 [加入社區](#-加入社區)

</details>

## 💡 RAGFlow 是甚麼?

[RAGFlow](https://ragflow.io/) 是一款領先的開源檢索增強生成([RAG](https://ragflow.io/basics/what-is-rag))引擎,通過融合前沿的 RAG 技術與 Agent 能力,為大型語言模型提供卓越的上下文層。它提供可適配任意規模企業的端到端 RAG 工作流,憑借融合式[上下文引擎](https://ragflow.io/basics/what-is-agent-context-engine)與預置的 Agent 模板,助力開發者以極致效率與精度將複雜數據轉化為高可信、生產級的人工智能系統。

## 🎮 快速開始

請登錄網址 [https://cloud.ragflow.io](https://cloud.ragflow.io) 體驗雲服務。

如果想在本地部署,請參閱[本地部署](#-本地部署)。

<div align="center" style="margin-top:20px;margin-bottom:20px;">
<img alt="Chunking demonstration" src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/refs/heads/image/image/chunking.gif" width="1200"/>
<img alt="Agentic workflow demonstration" src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/refs/heads/image/image/agentic-dark.gif" width="1200"/>
</div>

## 🔥 近期更新

- 2026-11-06 發佈 RAGFlow 1.0.0。
- 2026-09-30 發佈 RAGFlow 1.0.0-rc1。
- 2026-09-10 支持通過 Sitemap 接入網站內容。
- 2026-08-19 推出知識編譯,支持在文檔級和知識庫級生成 Wiki、Graph、Tree、PageIndex、Mind Map、Timeline 及 Skills。
- 2026-08-19 推出 Agentic RAG,支持 Low、Medium、High、Ultra 四種思考模式。
- 2026-07-02 支持 Google BigQuery 數據源接入與增量同步。

更多更新請參閱[完整發佈記錄](https://ragflow.io/docs/dev/release_notes)。

## 🌟 主要功能

### 🍭 **"Quality in, quality out"**

- 基於深度文檔理解,能夠從各類複雜格式的非結構化數據中提取真知灼見。
- 真正在無限上下文(token)的場景下快速完成大海撈針測試。

### 🍱 **基於模板的文本切片**

- 不僅僅是智能,更重要的是可控可解釋。
- 多種文本模板可供選擇。

### 🧩 **知識編譯(Knowledge Compilation)**

- 支持文檔級和知識庫級編譯,將原始內容組織為結構化的知識產物。
- 通過編譯模板生成 Wiki、Graph、Tree、PageIndex、Mind Map、Timeline 及 Skills,滿足不同的知識組織和復用需求。
- 支持配置編譯模型與處理規則,並查看、更新和重新生成知識產物。

### 🧠 **Agentic Retrieval**

- 面向複雜問題進行多步檢索:模型會分析問題,並在需要時執行問題拆解、知識檢索和證據核驗。
- 通過多輪檢索與推理獲取更完整的上下文,幫助生成有依據的回答。
- 支持 Low、Medium、High、Ultra 思考模式,可按問題複雜度控制檢索和推理深度。

### 🌱 **有理有據、最大程度降低幻覺(hallucination)**

- 文本切片過程可視化,支持手動調整。
- 有理有據:答案提供關鍵引用的快照並支持追根溯源。

### 🍔 **兼容各類異構數據源**

- 支持豐富的文件類型,包括 Word 文檔、PPT、Excel 表格、TXT 文件、圖片、PDF、影印件、復印件、結構化數據、網頁等。

### 🛀 **全程無憂、自動化的 RAG 工作流**

- 自動化的 RAG 工作流可以支持從個人應用乃至超大型企業的各類生態系統。
- 大語言模型 LLM 以及向量模型均支持配置。
- 基於多路召回、融合重排序。
- 提供易用的 API,可以輕鬆集成到各類企業系統。

## 🔎 系統架構

<div align="center" style="margin-top:20px;margin-bottom:20px;">
  <img src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/main/images/structure.jpg" alt="RAGFlow system architecture" width="1000" />
</div>

## 🏠 本地部署

本地部署提供 Docker 部署和源碼啓動兩種方式:Docker 適合快速體驗、集成測試和生產部署;源碼啓動適合 RAGFlow 開發和調試。Docker 部署無需安裝 Go 編譯器,源碼啓動需要安裝 `go.mod` 指定版本的 Go 編譯器;前端開發還需要 Node.js 和 npm。

### 🐳 Docker 部署

#### 📝 Docker 部署前提條件

- 建議起步配置:4 核 CPU、16 GB 內存和 50 GB 可用磁盤。實際資源需求取決於文檔引擎、數據規模、解析任務和併發量;啓用本地模型或其他額外組件時,請同時滿足相應組件的資源要求。
- Docker ≥ 24.0.0,Docker Compose ≥ v2.26.1。

> ⚠️ **提示:** 如果你尚未在本機安裝 Docker(Windows、macOS 或 Linux),可以參考 [Install Docker Engine](https://docs.docker.com/engine/install/) 自行安裝。

#### 🚀 啓動服務器

1. 如果使用 Elasticsearch,將 Docker 宿主機的 `vm.max_map_count` 設置為至少 262144。使用 Infinity 時則不需要執行此步驟:

   > 如需確認 `vm.max_map_count` 的大小:
   >
   > ```bash
   > sysctl vm.max_map_count
   > ```
   >
   > 如果使用 Elasticsearch 且 `vm.max_map_count` 的值小於 262144,可以進行重置:
   >
   > ```bash
   > # 這裡我們設為 262144:
   > sudo sysctl -w vm.max_map_count=262144
   > ```
   >
   > 你的改動會在下次系統重啓時被重置。如果希望做永久改動,還需要在 **/etc/sysctl.conf** 文件里把 `vm.max_map_count` 的值再相應更新一遍:
   >
   > ```bash
   > vm.max_map_count=262144
   > ```

2. 克隆倉庫:

   ```bash
   git clone https://github.com/infiniflow/ragflow.git
   ```

3. 切換到發佈標籤並使用 Docker Compose 啓動服務器:

   進入倉庫中的 Docker 部署目錄。

   ```bash
   cd ragflow/docker
   ```

   切換到 `v1.0.0` 發佈標籤。

   ```bash
   git checkout v1.0.0
   ```

   在啓動 RAGFlow 服務及其依賴服務。

   ```bash
   docker compose -f docker-compose.yml up -d
   ```

   > 💡 **鏡像下載提示:** 如果無法從默認倉庫拉取鏡像,請先在 `docker/.env` 中將 `RAGFLOW_IMAGE` 設置為以下鏡像源之一,並保留 `v1.0.0` 標籤:
   >
   > - 華為雲:`swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow:v1.0.0`
   > - 阿里雲:`registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow:v1.0.0`

   默認 MySQL 配置下,鏡像入口會先執行數據庫遷移,再啓動 Admin、Syncer、Ingestor 和 API 等服務。

   > RAGFlow 開源版 1.0 的 DeepDoc 版面分析、OCR 和表格識別使用 CPU 推理。

4. 服務器啓動成功後再次確認服務器狀態:

   使用 `docker ps` 檢查依賴服務狀態;依賴服務顯示 `healthy` 且 RAGFlow 容器持續運行後,通過 HTTP 接口判斷 RAGFlow 是否就緒(RAGFlow 容器本身未定義 Compose healthcheck):

   ```bash
   curl -f http://localhost/api/v1/system/healthz
   ```

   返回 HTTP 200 後,再訪問 Web 頁面。如果修改了 `SVR_WEB_HTTP_PORT`,請將健康檢查地址中的端口替換為對應值。

   如果服務啓動異常,再查看對應容器日誌:

   ```bash
   docker logs --tail 50 ragflow-cpu
   ```

5. 在你的瀏覽器中輸入你的服務器對應的 IP 地址並登錄 RAGFlow。
   > 上面這個例子中,您只需輸入 http://IP_OF_YOUR_MACHINE 即可:未改動過配置則無需輸入端口(默認的 HTTP 服務端口 80)。

6. 登錄 RAGFlow 後,在模型提供商頁面添加 LLM、Embedding 和 Reranker,並填寫對應的模型名稱、服務地址和 API key。

   > 詳見 [llm_api_key_setup](https://ragflow.io/docs/dev/llm_api_key_setup)。

   _好戲開始,接著奏樂接著舞!_

詳情請見 [快速入門指南](./docs/quickstart.mdx)。

#### ⚙️ Docker 配置與調整

Docker 部署使用 `docker/.env` 和 `docker/docker-compose.yml`。鏡像、端口、密碼、文檔引擎及模型鏡像源請按[Docker 配置說明](./docker/README.md)修改;平台支持(注意:macOS 暫不受支持)請參閱[Go Docker 鏡像構建與平台支持指南](./docs/develop/build_docker_image.mdx)。源碼構建 Docker 鏡像請參閱[Go Docker 鏡像構建與平台支持指南](./docs/develop/build_docker_image.mdx)。

切換文檔引擎、修改配置後重啓服務,以及保留或清理已有數據的操作,也請按照上述 Docker 配置文檔執行。

### 🔨 以源代碼啓動

#### 📝 源碼啓動前提條件

1. 克隆倉庫,並安裝 `go.mod` 中指定版本的 Go 編譯器(當前為 Go 1.27)、Clang 20、LLD 20、CMake ≥ 4.0、PCRE2 開發文件 CGO 依賴的靜態庫;[build.sh](./build.sh) 會設置所需的構建參數。

   ```bash
   git clone https://github.com/infiniflow/ragflow.git
   cd ragflow
   ```

2. 執行依賴下載腳本,準備 Go 建置所需連結的原生靜態庫(`download_dev_deps.py`)與後端執行時載入的模型/分詞器資源(`download_deps.py`):

   ```bash
   uv run tools/scripts/download_dev_deps.py
   uv run deps/download_deps.py
   ```

   `download_dev_deps.py` 拉取並解壓 pdfium、pdf_oxide、office_oxide、onnxruntime 等到 `~/ragflow-native-libs`;`download_deps.py` 拉取 cl100k 詞表、DeepDoc 模型與 embedding 分詞器資源到 `deps/`。兩個腳本均為 Python 腳本,`uv run` 會自動安裝其聲明的依賴(`requests`,模型與分詞器下載另需 `huggingface-hub`)。如果已透過其他方式準備好相同資源,可跳過這一步。Go 服務從倉庫根目錄啓動時會自動查找 `internal/rag/res/deepdoc`;如需從其他目錄啓動,請將 `DEEPDOC_MODEL_DIR` 設為該目錄的絕對路徑。

3. 編譯:

   ```bash
   ./build.sh --all
   ```

4. 啓動本地依賴服務,並確認 **conf/service_conf.yaml** 中的主機與端口對應宿主機可訪問的地址。如果使用 Elasticsearch,還需先將 Docker 主機的 `vm.max_map_count` 設為至少 `262144`。

   ```bash
   sudo sysctl -w vm.max_map_count=262144
   docker compose --env-file docker/.env -f docker/docker-compose-base.yml up -d --wait es01 mysql minio nats kvrocks
   ```

5. 數據遷移:

   ```bash
   ./bin/ragflow_server --migrate
   ```

6. 啓動 4 個終端分別啓動 4 個服務:

   終端 1:啓動 Admin,監聽端口 `9381`。

   ```bash
   ./bin/ragflow_server --admin
   ```

   ```bash
   ./bin/ragflow_server --ingestor
   ```

   終端 3:啓動 Syncer。

   ```bash
   ./bin/ragflow_server --syncer
   ```

   終端 4:啓動 API,監聽端口 `9380`。

   ```bash
   ./bin/ragflow_server --api
   ```

   各啓動參數的作用如下:

   - `--migrate`:執行數據庫遷移,完成後即可退出。
   - `--admin`:啓動 Admin 服務,負責管理和初始化操作。
   - `--ingestor`:啓動 Ingestor 服務,負責數據攝取和解析任務。
   - `--syncer`:啓動 Syncer 服務,負責外部數據源的數據同步任務。
   - `--api`:啓動 API 服務,為 Web 和 SDK 提供 API 接口。

7. 僅在前端開發時安裝 Node.js 和 npm,然後啓動 React 前端:

   ```bash
   cd web
   npm install
   ```

   服務啓動後,運行下面命令來確認 API 服務已就緒:

   ```bash
   curl -f http://127.0.0.1:9380/api/v1/system/healthz
   ```

   返回 HTTP 200 表示 API 可以正常響應。前端 和 DeepDoc 的完整驗證步驟請參閱[從源代碼啓動服務](./docs/develop/launch_ragflow_from_source.md#5-verify-the-startup)。

詳情請見 [從源代碼啓動服務](./docs/develop/launch_ragflow_from_source.md)。

## 📚 技術文檔

- [Quickstart](https://ragflow.io/docs/dev/)
- [Configuration](https://ragflow.io/docs/dev/configurations)
- [Release notes](https://ragflow.io/docs/dev/release_notes)
- [User guides](https://ragflow.io/docs/category/user-guides)
- [Developer guides](https://ragflow.io/docs/category/developer-guides)
- [References](https://ragflow.io/docs/dev/category/references)
- [FAQs](https://ragflow.io/docs/dev/faq)

## 📜 路線圖

詳見 [RAGFlow Roadmap 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)。

## 🤝 商務合作

- [預約咨詢](https://aao615odquw.feishu.cn/share/base/form/shrcnjw7QleretCLqh1nuPo1xxh)

## 👥 加入社區

掃二維碼添加 RAGFlow 小助手,進 RAGFlow 交流群。

<p align="center">
  <img alt="RAGFlow assistant QR code" src="https://github.com/infiniflow/ragflow/assets/7248/bccf284f-46f2-4445-9809-8f1030fb7585" width=50% height=50%>
</p>