diff --git a/README_zh.md b/README_zh.md index c43cc56657fd61c2fb5c0ad5091ea63856572215..f1e4fcb88a76a7c44e927aacc54a382647bfb727 100644 --- a/README_zh.md +++ b/README_zh.md @@ -1 +1,174 @@ -[English](./README.md) | 简体ä¸ć–‡ \ No newline at end of file +<div align="center"> +<a href="https://demo.ragflow.io/"> +<img src="https://github.com/infiniflow/ragflow/assets/12318111/f034fb27-b3bf-401b-b213-e1dfa7448d2a" width="320" alt="ragflow logo"> +</a> +</div> + + +<p align="center"> + <a href="./README.md">English</a> | + <a href="./README_zh.md">简体ä¸ć–‡</a> +</p> + +<p align="center"> + <a href="https://demo.ragflow.io" target="_blank"> + <img alt="Static Badge" src="https://img.shields.io/badge/RAGFLOW-LLM-white?&labelColor=dd0af7"></a> + <a href="https://hub.docker.com/r/infiniflow/ragflow" target="_blank"> + <img src="https://img.shields.io/badge/docker_pull-ragflow:v1.0-brightgreen" + alt="docker pull ragflow:v1.0"></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?style=flat-square&labelColor=d4eaf7&color=7d09f1" alt="license"> + </a> +</p> + +## đź’ˇ RAGFlow ćŻä»€äąďĽź + +[RAGFlow](http://demo.ragflow.io) ćŻä¸€ć¬ľĺźşäşŽĺ¤§ĺž‹čŻč¨€ć¨ˇĺž‹ďĽLLM)ă€ć·±ĺş¦ć–‡ćˇŁç†č§Łĺ’Śĺ¤šč·Żć‰ľĺ›žďĽmultiple recall)构建的开ćşćŁ€ç´˘ĺ˘žĺĽşĺž‹ç”źć引擎ďĽRetrieval-Augmented Generation Engine)。RAGFlow 可以为ĺ„种规模的äĽä¸šćŹäľ›ä¸€ĺĄ—精简的 RAG 工作ćµç¨‹,通过生ć式 AI ďĽGenerative AI)知识管ç†ĺąłĺŹ°ćŹäľ›ĺŹŻéť çš„é—®ç”以及有ç†ćś‰ćŤ®çš„引用。 + +## 🌟 主č¦ĺŠźč˝ + +### 🍠**"Quality in, quality out"** + - 基于深度文档ç†č§ŁďĽŚč˝ĺ¤źä»Žĺ„ç±»ĺ¤Ťćť‚ć ĽĺĽŹçš„éťžç»“ćž„ĺŚ–ć•°ćŤ®ä¸ćŹĺŹ–真知çĽč§ă€‚ + - çśźćŁĺś¨ć— é™ä¸Šä¸‹ć–‡ďĽtoken)的场景下快速完ć大海捞é’测试。 + +### 🍱 **基于模板的文本ĺ‡ç‰‡** + - 不仅仅ćŻć™şč˝ďĽŚć›´é‡Ťč¦çš„ćŻĺŹŻćŽ§ĺŹŻč§Łé‡Šă€‚ + - 多种文本模板可供选择 + +### 🌱 **有ç†ćś‰ćŤ®ă€ćś€ĺ¤§ç¨‹ĺş¦é™Ťä˝Žĺą»č§‰ďĽhallucination)** + - 文本ĺ‡ç‰‡čż‡ç¨‹ĺŹŻč§†ĺŚ–,支ćŚć‰‹ĺŠ¨č°ć•´ă€‚ + - 有ç†ćś‰ćŤ®ďĽšç”ćˇćŹäľ›ĺ…łé”®ĺĽ•ç”¨çš„快照并支ćŚčż˝ć ąćşŻćşă€‚ + +### 🍔 **Compatibility with heterogeneous data sources** + - ć”ŻćŚ Word 文档ă€PPTă€excel čˇ¨ć Ľă€txt 文件ă€ĺ›ľç‰‡ă€PDFă€ĺ˝±ĺŤ°ä»¶ă€ĺ¤ŤĺŤ°ä»¶ă€ç»“构化数据, 网页ç‰ă€‚ + +### 🛀 **ĺ…¨ç¨‹ć— ĺż§ă€č‡ŞĺŠ¨ĺŚ–çš„ RAG 工作ćµ** + - 全面äĽĺŚ–çš„ RAG 工作ćµĺŹŻä»Ąć”ŻćŚä»Žä¸Şäşşĺş”用äąč‡łč¶…大型äĽä¸šçš„ĺ„类生ć€çł»ç»źă€‚ + - 大čŻč¨€ć¨ˇĺž‹ LLM 以及ĺ‘量模型均支ćŚé…Ťç˝®ă€‚ + - 基于多路找回ă€čžŤĺ重排序。 + - ćŹäľ›ć“用的 APIs,可以轻松集ćĺ°ĺ„ç±»äĽä¸šçł»ç»źă€‚ + +## 🔎 系统架构 + +<div align="center" style="margin-top:20px;margin-bottom:20px;"> +<img src="https://github.com/infiniflow/ragflow/assets/12318111/d6ac5664-c237-4200-a7c2-a4a00691b485" width="1000"/> +</div> + +## 🎬 快速开始 + +### đź“ť 前ćŹćťˇä»¶ + +- CPU >= 2 ć ¸ +- RAM >= 8 GB +- Docker + > ĺ¦‚ćžśä˝ ĺą¶ć˛ˇćś‰ĺś¨ćś¬ćśşĺ®‰čŁ… DockerďĽWindowsă€Mac,ć–者 Linux), 可以参č€ć–‡ćˇŁ [Install Docker Engine](https://docs.docker.com/engine/install/) 自行安装。 + +### 🚀 ĺŻĺŠ¨ćśŤĺŠˇĺ™¨ + +1. 确保 `vm.max_map_count` 大于 65535: + + > 如需确认 `vm.max_map_count` 的大小: + > + > ```bash + > $ sysctl vm.max_map_count + > ``` + > + > 如果 `vm.max_map_count` 的值不大于 65535,可以进行重置: + > + > ```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** 文件夹,ĺ©ç”¨ćŹĺ‰ŤçĽ–译好的 Docker é•śĺŹĺŻĺŠ¨ćśŤĺŠˇĺ™¨ďĽš + + ```bash + $ cd ragflow/docker + $ docker compose up -d + ``` + + > ć ¸ĺżé•śĺŹć–‡ä»¶ĺ¤§çş¦ 15 GB,可č˝éś€č¦ä¸€ĺ®šć—¶é—´ć‹‰ĺŹ–。请č€ĺżç‰ĺľ…。 + +4. 服务器ĺŻĺŠ¨ć功ĺŽĺ†Ťć¬ˇçˇ®č®¤ćśŤĺŠˇĺ™¨çŠ¶ć€ďĽš + ```bash + $ docker logs -f ragflow-server + ``` + *出现以下界面ćŹç¤şčŻ´ćŽćśŤĺŠˇĺ™¨ĺŻĺŠ¨ć功:* + + ```bash + ____ ______ __ + / __ \ ____ _ ____ _ / ____// /____ _ __ + / /_/ // __ `// __ `// /_ / // __ \| | /| / / + / _, _// /_/ // /_/ // __/ / // /_/ /| |/ |/ / + /_/ |_| \__,_/ \__, //_/ /_/ \____/ |__/|__/ + /____/ + + * Running on all addresses (0.0.0.0) + * Running on http://127.0.0.1:9380 + * Running on http://172.22.0.5:9380 + INFO:werkzeug:Press CTRL+C to quit + ``` + +5. ć ąćŤ®ĺšć‰Ťçš„界面ćŹç¤şĺś¨ä˝ 的浏č§ĺ™¨ä¸čľ“ĺ…Ąä˝ çš„ćśŤĺŠˇĺ™¨ĺŻąĺş”çš„ IP 地址并登录 RAGFlow。 +6. 在 [service_conf.yaml](./docker/service_conf.yaml) 文件的 `user_default_llm` ć Źé…Ťç˝® LLM factory,并在 `API_KEY` ć Źĺˇ«ĺ†™ĺ’Śä˝ é€‰ć‹©çš„ĺ¤§ć¨ˇĺž‹ç›¸ĺŻąĺş”çš„ API key。 + > čŻ¦č§ [./docs/llm_api_key_setup.md](./docs/llm_api_key_setup.md)。 + + *好ćŹĺĽ€ĺ§‹ďĽŚćŽĄçť€ĺĄŹäąćŽĄçť€čžďĽ* + + +## 🔧 系统配置 + +系统配置涉及以下三份文件: + +- [.env](./docker/.env):ĺ放一些基本的系统环ĺ˘ĺŹé‡ŹďĽŚćŻ”如 `SVR_HTTP_PORT`ă€`MYSQL_PASSWORD`ă€`MINIO_PASSWORD` ç‰ă€‚ +- [service_conf.yaml](./docker/service_conf.yaml):配置ĺ„ç±»ĺŽĺŹ°ćśŤĺŠˇă€‚ +- [docker-compose-CN.yml](./docker/docker-compose-CN.yml): 系统依赖该文件完ćĺŻĺŠ¨ă€‚ + +请务必确保 [.env](./docker/.env) 文件ä¸çš„ĺŹé‡Źč®ľç˝®ä¸Ž [service_conf.yaml](./docker/service_conf.yaml) 文件ä¸çš„配置保ćŚä¸€č‡´ďĽ + +> [./docker/README](./docker/README.md) 文件ćŹäľ›äş†çŽŻĺ˘ĺŹé‡Źč®ľç˝®ĺ’ŚćśŤĺŠˇé…Ťç˝®çš„详细信ćŻă€‚请**一定č¦**确保 [./docker/README](./docker/README.md) 文件当ä¸ĺ—出来的环ĺ˘ĺŹé‡Źçš„值与 [service_conf.yaml](./docker/service_conf.yaml) 文件当ä¸çš„系统配置保ćŚä¸€č‡´ă€‚ + +如需更新é»č®¤çš„ serving port (80), 可以在 [docker-compose-CN.yml](./docker/docker-compose-CN.yml) 文件ä¸ĺ°†é…Ťç˝® `80:80` 改为 `<YOUR_SERVING_PORT>:80`。 + +> 所有系统配置é˝éś€č¦é€ščż‡çł»ç»źé‡ŤĺŻç”źć•ďĽš +> +> ```bash +> $ docker-compose-CN up -d +> ``` + +## 🛠️ Build from source + +如需从ćşç 安装 Docker é•śĺŹďĽš + +```bash +$ git clone https://github.com/infiniflow/ragflow.git +$ cd ragflow/ +$ docker build -t infiniflow/ragflow:v1.0 . +$ cd ragflow/docker +$ docker compose up -d +``` + +## đź“ś 路线图 + +čŻ¦č§ [RAGFlow Roadmap 2024](https://github.com/infiniflow/ragflow/issues/162)。 + +## 🏄 开ćşç¤ľĺŚş + +- [Discord](https://discord.gg/uqQ4YMDf) +- [Twitter](https://twitter.com/infiniflowai) + +## 🙌 贡献指南 + +RAGFlow 只有通过开ćşĺŤŹä˝ść‰Ťč˝č“¬ĺ‹ĺŹ‘展。秉ćŚčż™ä¸€ç˛ľçĄž,ć‘们欢迎来自社区的ĺ„种贡献。如果您有意参与其ä¸,请查é…ć‘们的[贡献者指南](https://github.com/infiniflow/ragflow/blob/main/CONTRIBUTING.md)。