Editorial updates (#168)

This commit is contained in:
writinwaters
2024-03-29 09:51:36 +08:00
committed by GitHub
parent 38e5737067
commit 88eadb5c47

View File

@ -20,16 +20,17 @@
<img height="21" src="https://img.shields.io/badge/License-Apache--2.0-ffffff?style=flat-square&labelColor=d4eaf7&color=7d09f1" alt="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> </a>
</p> </p>
[RagFlow](https://demo.ragflow.io) is a knowledge management platform built on custom-build document understanding engine and LLM, with reasoned and well-founded answers to your question. Clone this repository, you can deploy your own knowledge management platform to empower your business with AI. ## 💡 What is RagFlow?
[RagFlow](http://demo.ragflow.io) is a knowledge management platform built on custom-build document understanding engine and LLM, with reasoned and well-founded answers to your question. Clone this repository, you can deploy your own knowledge management platform to empower your business with AI.
<div align="center" style="margin-top:20px;margin-bottom:20px;"> <div align="center" style="margin-top:20px;margin-bottom:20px;">
<img src="https://github.com/infiniflow/ragflow/assets/12318111/b24a7a5f-4d1d-4a30-90b1-7b0ec558b79d" width="1000"/> <img src="https://github.com/infiniflow/ragflow/assets/12318111/b24a7a5f-4d1d-4a30-90b1-7b0ec558b79d" width="1000"/>
</div> </div>
## 🌟Key Features ## 🌟 Key Features
- 🍭**Custom-build document understanding engine.** Our deep learning engine is made according to the needs of analyzing and searching various type of documents in different domain. - 🍭**Custom-build document understanding engine.** Our deep learning engine is made according to the needs of analyzing and searching various type of documents in different domain.
- For documents from different domain for different purpose, the engine applys different analyzing and search strategy. - For documents from different domain for different purpose, the engine applies different analyzing and search strategy.
- Easily intervene and manipulate the data proccessing procedure when things goes beyond expectation. - Easily intervene and manipulate the data proccessing procedure when things goes beyond expectation.
- Multi-media document understanding is supported using OCR and multi-modal LLM. - Multi-media document understanding is supported using OCR and multi-modal LLM.
- 🍭**State-of-the-art table structure and layout recognition.** Precisely extract and understand the document including table content. See [README.](./deepdoc/README.md) - 🍭**State-of-the-art table structure and layout recognition.** Precisely extract and understand the document including table content. See [README.](./deepdoc/README.md)
@ -46,34 +47,52 @@
## 🤺RagFlow vs. other RAG applications ## 🤺RagFlow vs. other RAG applications
## 🔎 System Architecture
<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>
## 🎬 Get Started ## 🎬 Get Started
### 📝Prerequisites ### 📝 Prerequisites
- CPU >= 2 cores - CPU >= 2 cores
- RAM >= 8 GB - RAM >= 8 GB
- Docker
- `vm.max_map_count` > 65535
Then, you need to check the following command: > To check the value of `vm.max_map_count`:
```bash >
$ sysctl vm.max_map_count > ```bash
vm.max_map_count = 262144 > $ sysctl vm.max_map_count
``` > ```
If **vm.max_map_count** is not greater than 65535: >
```bash > Reset `vm.max_map_count` to a value greater than 65535 if it is not. In this case, we set it to 262144:
$ sudo sysctl -w vm.max_map_count=262144 >
``` > ```bash
Note that this change is reset after a system reboot. To render your change permanent, add or update the following line in **/etc/sysctl.conf**: > $ sudo sysctl -w vm.max_map_count=262144
> ```
>
> This change will be reset after a system reboot. To ensure your change remains permanent, add or update the following line in **/etc/sysctl.conf** accordingly:
>
> ```bash
> vm.max_map_count=262144
> ```
```bash
vm.max_map_count=262144
```
### Install docker
If you have not installed *Docker* on your local machine, see [Install Docker Engine](https://docs.docker.com/engine/install/) ### Start up the RagFlow server
### Quick Start 1. Clone the repo
```bash
$ git clone https://github.com/infiniflow/ragflow.git
```
2.
> - In [service_conf.yaml](./docker/service_conf.yaml), configuration of *LLM* in **user_default_llm** is strongly recommended. > - In [service_conf.yaml](./docker/service_conf.yaml), configuration of *LLM* in **user_default_llm** is strongly recommended.
> In **user_default_llm** of [service_conf.yaml](./docker/service_conf.yaml), you need to specify LLM factory and your own _API_KEY_. > In **user_default_llm** of [service_conf.yaml](./docker/service_conf.yaml), you need to specify LLM factory and your own _API_KEY_.
@ -83,7 +102,7 @@ Settings the next time you log in to the system.
> [OpenAI](https://platform.openai.com/login?launch), [Tongyi-Qianwen](https://dashscope.console.aliyun.com/model), > [OpenAI](https://platform.openai.com/login?launch), [Tongyi-Qianwen](https://dashscope.console.aliyun.com/model),
> [ZHIPU-AI](https://open.bigmodel.cn/), [Moonshot](https://platform.moonshot.cn/docs/docs) > [ZHIPU-AI](https://open.bigmodel.cn/), [Moonshot](https://platform.moonshot.cn/docs/docs)
```bash ```bash
$ git clone https://github.com/infiniflow/ragflow.git
$ cd ragflow/docker $ cd ragflow/docker
$ docker compose up -d $ docker compose up -d
``` ```
@ -98,11 +117,11 @@ $ docker compose up -d
``` ```
> The core image is about 15 GB in size and may take a while to load. > The core image is about 15 GB in size and may take a while to load.
Check the server status after pulling all images and running up: Check the server status after pulling all images and having Docker up and running:
```bash ```bash
$ docker logs -f ragflow-server $ docker logs -f ragflow-server
``` ```
*Hallelujah! The following outputs indicates that you have successfully launched the system:* *The following output confirms the successful launch of the system:*
```bash ```bash
____ ______ __ ____ ______ __
@ -118,20 +137,17 @@ $ docker logs -f ragflow-server
INFO:werkzeug:Press CTRL+C to quit INFO:werkzeug:Press CTRL+C to quit
``` ```
Open your browser, enter the IP address of your server, _**Hallelujah**_ again! In your browser, enter the IP address of your server.
> The default serving port is 80, if you want to change that, refer to the [docker-compose.yml](./docker-compose.yaml) and change the left part of *'80:80'*'.
## 🔎System Architecture
<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>
## 🔧 Configurations ## 🔧 Configurations
> The default serving port is 80, if you want to change that, refer to the [docker-compose.yml](./docker-compose.yaml) and change the left part of `80:80`, say `66:80`.
If you need to change the default setting of the system when you deploy it. There several ways to configure it. If you need to change the default setting of the system when you deploy it. There several ways to configure it.
Please refer to this [README](./docker/README.md) to manually update the configuration. Please refer to this [README](./docker/README.md) to manually update the configuration.
After changing something, please run *docker-compose up -d* again. Updates to system configurations require a system reboot to take effect *docker-compose up -d* again.
> If you want to change the basic setups, like port, password .etc., please refer to [.env](./docker/.env) before starting up the system. > If you want to change the basic setups, like port, password .etc., please refer to [.env](./docker/.env) before starting up the system.
@ -141,15 +157,12 @@ After changing something, please run *docker-compose up -d* again.
See the [RagFlow Roadmap 2024](https://github.com/infiniflow/ragflow/issues/162) See the [RagFlow Roadmap 2024](https://github.com/infiniflow/ragflow/issues/162)
## 🏄Community ## 🏄 Community
- [Discord](https://discord.gg/uqQ4YMDf) - [Discord](https://discord.gg/uqQ4YMDf)
- X - [Twitter](https://twitter.com/infiniflowai)
- [GitHub Discussions]() - GitHub Discussions
- YouTube
- WeChat
## 🙌 Contributing ## 🙌 Contributing
For those who'd like to contribute code, see our [Contribution Guide](https://github.com/infiniflow/ragflow/blob/main/CONTRIBUTING.md). RagFlow flourishes via open-source collaboration. In this spirit, we embrace diverse contributions from the community. If you would like to be a part, review our [Contribution Guidelines](https://github.com/infiniflow/ragflow/blob/main/CONTRIBUTING.md) first.