File size: 6,718 Bytes
2fd3125 8f39e7a 2fd3125 8887e47 2fd3125 8887e47 2fd3125 8f39e7a 2fd3125 c957852 e5aa7c3 99b8bda e5aa7c3 2fd3125 c957852 e5aa7c3 99b8bda c957852 2fd3125 99b8bda 2fd3125 99b8bda 2fd3125 99b8bda 2fd3125 8887e47 c957852 99b8bda c957852 99b8bda 2fd3125 c957852 2fd3125 99b8bda e5aa7c3 c957852 8887e47 e5aa7c3 c957852 d3d8d70 2fd3125 d3d8d70 e5aa7c3 d3d8d70 ce95639 99b8bda ce95639 2fd3125 e5aa7c3 8f39e7a e06e08c 99b8bda 8f39e7a c957852 2fd3125 99b8bda c957852 2fd3125 99b8bda f1ccc7f 99b8bda f1ccc7f e5aa7c3 99b8bda 2fd3125 e5aa7c3 2fd3125 c957852 2fd3125 99b8bda c957852 2fd3125 99b8bda 2fd3125 e5aa7c3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 |
<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>
## ๐ก 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.
## ๐ 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.
- 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.
- 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)
- For PDF files, layout and table structures including row, column and span of them are recognized.
- Put the table accrossing the pages together.
- Reconstruct the table structure components into html table.
- **Querying database dumped data are supported.** After uploading tables from any database, you can search any data records just by asking.
- You can now query a database using natural language instead of using SQL.
- The record number uploaded is not limited.
- **Reasoned and well-founded answers.** The cited document part in LLM's answer is provided and pointed out in the original document.
- The answers are based on retrieved result for which we apply vector-keyword hybrids search and re-rank.
- The part of document cited in the answer is presented in the most expressive way.
- For PDF file, the cited parts in document can be located in the original PDF.
## ๐ 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
### ๐ Prerequisites
- CPU >= 2 cores
- RAM >= 8 GB
- Docker: If you have not installed Docker on your local machine (Windows, Mac, or Linux), see [Install Docker Engine](https://docs.docker.com/engine/install/).
### Start up the server
1. Ensure `vm.max_map_count` > 65535:
> To check the value of `vm.max_map_count`:
>
> ```bash
> $ sysctl vm.max_map_count
> ```
>
> Reset `vm.max_map_count` to a value greater than 65535 if it is not.
>
> ```bash
> # In this case, we set it to 262144:
> $ 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 `vm.max_map_count` value in **/etc/sysctl.conf** accordingly:
>
> ```bash
> vm.max_map_count=262144
> ```
2. Clone the repo:
```bash
$ git clone https://github.com/infiniflow/ragflow.git
```
3. Build the pre-built Docker images and start up the server:
```bash
$ cd ragflow/docker
$ docker compose up -d
```
> The core image is about 15 GB in size and may take a while to load.
4. Check the server status after pulling all images and having Docker up and running:
```bash
$ docker logs -f ragflow-server
```
*The following output confirms a successful launch of the system:*
```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. In your web browser, enter the IP address of your server as prompted.
*The show is on!*
## ๐ง 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.
Please refer to this [README](./docker/README.md) to manually update the configuration.
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 change anything in [.env](./docker/.env), please check [service_conf.yaml](./docker/service_conf.yaml) which is a configuration of the back-end service and should be consistent with [.env](./docker/.env).
## ๐ ๏ธ Build from source
To build the Docker images from source:
```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
```
## ๐ Roadmap
See the [RAGFlow Roadmap 2024](https://github.com/infiniflow/ragflow/issues/162)
## ๐ Community
- [Discord](https://discord.gg/uqQ4YMDf)
- [Twitter](https://twitter.com/infiniflowai)
## ๐ Contributing
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.
|