英語 | 簡體中文 | 日本語 | 한국어
?什麼是 RAGFlow?
?示範
?最新更新
?主要特點
?系統架構
?開始使用
?配置
?建置不嵌入模型的 docker 映像
?建置包含嵌入模型的 docker 映像
?從源頭啟動服務進行開發
?文件
?路線圖
?社群
?貢獻
RAGFlow 是一個基於深度文件理解的開源 RAG(檢索增強生成)引擎。它為任何規模的企業提供簡化的 RAG 工作流程,結合 LLM(大型語言模型)來提供真實的問答功能,並以來自各種複雜格式數據的有根據的引用為後盾。
請試試我們的示範:https://demo.ragflow.io。
2024-11-04 升級 deepdoc 中的 DLA(文件佈局分析)模型。
2024-11-01 在解析區塊中加入關鍵字擷取和相關問題生成,以提高檢索的準確性。
2024-09-13 新增知識庫問答搜尋模式。
2024-09-09 新增醫療顧問代理範本。
2024-08-22 透過RAG支援文字轉SQL語句。
2024-08-02 支援受 graphrag 和心智圖啟發的 GraphRAG。
⭐️ 給我們的儲存庫加註星標,以了解最新的令人興奮的新功能和改進!取得新版本的即時通知! ?
基於深度文件理解,從複雜格式的非結構化資料中提取知識。
找到幾乎無限的令牌的「數據大海撈針」。
智能且可解釋。
有大量模板選項可供選擇。
文本分塊的可視化以允許人工幹預。
快速查看關鍵參考文獻和可追溯的引文,以支持有根據的答案。
支援Word、幻燈片、Excel、txt、圖像、掃描件、結構化資料、網頁等。
簡化的 RAG 編排可滿足個人和大型企業的需求。
可配置的法學碩士以及嵌入模型。
多重召回與融合重新排名相結合。
直覺的 API,可與業務無縫整合。
CPU >= 4 核
內存 >= 16 GB
磁碟 >= 50 GB
Docker >= 24.0.0 & Docker Compose >= v2.26.1
如果您尚未在本機電腦(Windows、Mac 或 Linux)上安裝 Docker,請參閱安裝 Docker 引擎。
確保vm.max_map_count
>= 262144:
要檢查
vm.max_map_count
的值:$ sysctl vm.max_map_count如果不是,請將
vm.max_map_count
重設為至少 262144 的值。# 在本例中,我們將其設定為 262144:$ sudo sysctl -w vm.max_map_count=262144此變更將在系統重新啟動後重置。為了確保您的變更保持永久,請相應地新增或更新/etc/sysctl.conf中的
vm.max_map_count
值:vm.max_map_count=262144
克隆儲存庫:
$ git 克隆 https://github.com/infiniflow/ragflow.git
建置預先建置的 Docker 映像並啟動伺服器:
以下指令下載 RAGFlow slim (
dev-slim
) 的開發版本 Docker 映像。請注意,RAGFlow slim Docker 映像不包含嵌入模型或 Python 庫,因此大小約為 1GB。
$ cd ragflow/docker $ docker compose -f docker-compose.yml up -d
注意:包含嵌入模型和 Python 庫的 RAGFlow Docker 映像大小約為 9GB,並且可能需要更長的時間來載入。
若要下載特定版本的 RAGFlow slim Docker 映像,請將 * docker/.env * 中的RAGFlow_IMAGE
變數更新為您所需的版本。例如, RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0-slim
。進行此更改後,重新運行上面的命令以啟動下載。
若要下載包含嵌入模型和 Python 函式庫的 RAGFlow Docker 映像的開發版本,請將docker/.env中的RAGFlow_IMAGE
變數更新為RAGFLOW_IMAGE=infiniflow/ragflow:dev
。進行此更改後,重新運行上面的命令以啟動下載。
若要下載特定版本的 RAGFlow Docker 映像(包括嵌入模型和 Python 程式庫),請將docker/.env中的RAGFlow_IMAGE
變數更新為您所需的版本。例如, RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0
。進行此更改後,重新運行上面的命令以啟動下載。
伺服器啟動並運行後檢查伺服器狀態:
$ docker 日誌 -f ragflow-server
以下輸出確認系統已成功啟動:
____ ___ ______ __ __ / __ / | / ____// ____// /____ _ __ / /_/ // /| | // __ / /_ / // __ | | /| // / _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ / /_/ |_|/_/ |_|____//_/ /_/ ____/ |__/|__/ * 在所有位址 (0.0.0.0) 上運行 * 在 http://127.0.0.1:9380 上運行 * 在 http://xxxx:9380 上運行 資訊:werkzeug:按 CTRL+C 退出
如果您跳過此確認步驟直接登入 RAGFlow,您的瀏覽器可能會提示
network abnormal
錯誤,因為此時您的 RAGFlow 可能尚未完全初始化。
在 Web 瀏覽器中,輸入伺服器的 IP 位址並登入 RAGFlow。
使用預設設定時,您只需輸入
http://IP_OF_YOUR_MACHINE
(無連接埠號碼),因為使用預設設定時可以省略預設 HTTP 服務連接埠80
。
在 service_conf.yaml 中,在user_default_llm
中選擇所需的 LLM 工廠,並使用對應的 API 金鑰更新API_KEY
欄位。
有關詳細信息,請參閱 llm_api_key_setup。
演出開始啦!
當涉及到系統配置時,您將需要管理以下文件:
.env:保留系統的基本設置,例如SVR_HTTP_PORT
、 MYSQL_PASSWORD
和MINIO_PASSWORD
。
service_conf.yaml:設定後端服務。
docker-compose.yml:系統依賴docker-compose.yml啟動。
您必須確保對 .env 檔案的變更與 service_conf.yaml 檔案中的內容一致。
./docker/README 檔案提供了環境設定和服務配置的詳細描述,您需要確保 ./docker/README 檔案中列出的所有環境設定與 service_conf.yaml 檔案中的相應配置保持一致。
若要更新預設 HTTP 服務連接埠 (80),請前往 docker-compose.yml 並將80:80
變更為<YOUR_SERVING_PORT>:80
。
上述配置的更新需要重新啟動所有容器才能生效:
$ docker compose -f docker/docker-compose.yml up -d
此映像大小約為 1 GB,依賴外部 LLM 和嵌入服務。
git 克隆 https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3 安裝 Huggingface-hub nltk python3 download_deps.py docker build -f Dockerfile.slim -t infiniflow/ragflow:dev-slim 。
該影像的大小約為 9 GB。由於它包含嵌入模型,因此它僅依賴外部 LLM 服務。
git 克隆 https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3 安裝 Huggingface-hub nltk python3 download_deps.py docker build -f Dockerfile -t infiniflow/ragflow:dev 。
安裝 Poetry,如果已經安裝則跳過此步驟:
捲曲-sSL https://install.python-poetry.org |蟒蛇3 -
複製原始碼並安裝 Python 依賴項:
git clone https://github.com/infiniflow/ragflow.gitcd ragflow/export POETRY_VIRTUALENVS_CREATE=true POETRY_VIRTUALENVS_IN_PROJECT=true~/.local/bin/poetry install --syncs- #install --syncFlow模組
使用 Docker Compose 啟動依賴服務(MinIO、Elasticsearch、Redis 和 MySQL):
docker compose -f docker/docker-compose-base.yml up -d
將下列行新增至/etc/hosts
以將docker/service_conf.yaml中指定的所有主機解析為127.0.0.1
:
127.0.0.1 es01 mysql minio redis
在docker/service_conf.yaml中,將 mysql 連接埠更新為5455
,將 es 連接埠更新為1200
,如docker/.env中指定。
如果無法存取 HuggingFace,請設定HF_ENDPOINT
環境變數以使用鏡像網站:
匯出 HF_ENDPOINT=https://hf-mirror.com
啟動後端服務:
來源 .venv/bin/activateexport PYTHONPATH=$(pwd)bash docker/launch_backend_service.sh
安裝前端相依性:
光碟網 npm 安裝 --force
設定前端將.umirc.ts中的proxy.target
更新為http://127.0.0.1:9380
:
啟動前端服務:
npm 運行開發
以下輸出確認系統已成功啟動:
快速入門
使用者指南
參考
常問問題
請參閱 2024 年 RAGFlow 路線圖
不和諧
嘰嘰喳喳
GitHub 討論
RAGFlow 透過開源協作蓬勃發展。本著這種精神,我們接受社區的各種貢獻。如果您想成為其中一員,請先查看我們的貢獻指南。