writinwaters commited on
Commit
99b8bda
·
1 Parent(s): b0b89da

0328 restructure readme (#165)

Browse files

* Added emojis

* Miscellaneous editorial updates

Files changed (1) hide show
  1. README.md +45 -46
README.md CHANGED
@@ -20,70 +20,66 @@
20
  <img height="21" src="https://img.shields.io/badge/License-Apache--2.0-ffffff?style=flat-square&labelColor=d4eaf7&color=7d09f1" alt="license">
21
  </a>
22
  </p>
23
-
24
- [RagFlow](http://demo.ragflow.io) is a knowledge management platform built on custom-build document understanding engine and LLM,
25
- with reasoned and well-founded answers to your question. Clone this repository, you can deploy your own knowledge management
26
- platform to empower your business with AI.
27
 
 
28
  <div align="center" style="margin-top:20px;margin-bottom:20px;">
29
  <img src="https://github.com/infiniflow/ragflow/assets/12318111/b24a7a5f-4d1d-4a30-90b1-7b0ec558b79d" width="1000"/>
30
  </div>
31
 
32
- # Key Features
33
- - **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.
34
  - For documents from different domain for different purpose, the engine applys different analyzing and search strategy.
35
  - Easily intervene and manipulate the data proccessing procedure when things goes beyond expectation.
36
  - Multi-media document understanding is supported using OCR and multi-modal LLM.
37
- - **State-of-the-art table structure and layout recognition.** Precisely extract and understand the document including table content. See [README.](./deepdoc/README.md)
38
  - For PDF files, layout and table structures including row, column and span of them are recognized.
39
  - Put the table accrossing the pages together.
40
  - Reconstruct the table structure components into html table.
41
  - **Querying database dumped data are supported.** After uploading tables from any database, you can search any data records just by asking.
42
- - Instead of using SQL to query a database, every one cat get the wanted data just by asking using natrual language.
43
- - The record number uploaded is not limited.
44
- - Some extra description of column headers should be provided.
45
  - **Reasoned and well-founded answers.** The cited document part in LLM's answer is provided and pointed out in the original document.
46
- - The answers are based on retrieved result for which we apply vector-keyword hybrids search and rerank.
47
  - The part of document cited in the answer is presented in the most expressive way.
48
  - For PDF file, the cited parts in document can be located in the original PDF.
49
-
50
 
51
- # Release Notification
52
- **Star us on GitHub, and be notified for a new releases instantly!**
53
- ![star-us](https://github.com/infiniflow/ragflow/assets/12318111/2c2fbb5e-c403-496f-a1fd-64ba0fdbf74f)
 
 
54
 
55
- # Installation
56
- ## System Requirements
57
- Be aware of the system minimum requirements before starting installation.
58
  - CPU >= 2 cores
59
- - RAM >= 8GB
60
 
61
  Then, you need to check the following command:
62
  ```bash
63
  121:/ragflow# sysctl vm.max_map_count
64
  vm.max_map_count = 262144
65
  ```
66
- If **vm.max_map_count** is not larger than 65535, please run the following commands:
67
  ```bash
68
  121:/ragflow# sudo sysctl -w vm.max_map_count=262144
69
  ```
70
- However, this change is not persistent and will be reset after a system reboot.
71
- To make the change permanent, you need to update the **/etc/sysctl.conf**.
72
- Add or update the following line in the file:
73
  ```bash
74
  vm.max_map_count=262144
75
  ```
76
 
77
- ## Install docker
78
 
79
- If your machine doesn't have *Docker* installed, please refer to [Install Docker Engine](https://docs.docker.com/engine/install/)
80
 
81
- ## Quick Start
82
 
83
  > - In [service_conf.yaml](./docker/service_conf.yaml), configuration of *LLM* in **user_default_llm** is strongly recommended.
84
  > In **user_default_llm** of [service_conf.yaml](./docker/service_conf.yaml), you need to specify LLM factory and your own _API_KEY_.
85
- > It's O.K if you don't have _API_KEY_ at the moment, you can specify it later at the setting part after starting and logging in the system.
86
- > - We have supported the flowing LLM factory, and the others is coming soon:
 
87
  > [OpenAI](https://platform.openai.com/login?launch), [Tongyi-Qianwen](https://dashscope.console.aliyun.com/model),
88
  > [ZHIPU-AI](https://open.bigmodel.cn/), [Moonshot](https://platform.moonshot.cn/docs/docs)
89
  ```bash
@@ -100,13 +96,15 @@ $ docker build -t infiniflow/ragflow:v1.0 .
100
  $ cd ragflow/docker
101
  $ docker compose up -d
102
  ```
103
- > The core image is about 15GB, please be patient for the first time
104
 
105
- After pulling all the images and running up, use the following command to check the server status. If you can have the following outputs,
106
- _**Hallelujah!**_ You have successfully launched the system.
107
  ```bash
108
  $ docker logs -f ragflow-server
 
 
109
 
 
110
  ____ ______ __
111
  / __ \ ____ _ ____ _ / ____// /____ _ __
112
  / /_/ // __ `// __ `// /_ / // __ \| | /| / /
@@ -121,35 +119,36 @@ INFO:werkzeug:Press CTRL+C to quit
121
 
122
  ```
123
  Open your browser, enter the IP address of your server, _**Hallelujah**_ again!
124
- > The default serving port is 80, if you want to change that, please refer to [docker-compose.yml](./docker-compose.yaml),
125
- > and change the left part of *'80:80'*'.
126
 
127
- # System Architecture Diagram
128
 
129
  <div align="center" style="margin-top:20px;margin-bottom:20px;">
130
  <img src="https://github.com/infiniflow/ragflow/assets/12318111/d6ac5664-c237-4200-a7c2-a4a00691b485" width="1000"/>
131
  </div>
 
132
 
133
- # Configuration
134
  If you need to change the default setting of the system when you deploy it. There several ways to configure it.
135
- Please refer to [README](./docker/README.md) and manually set the configuration.
136
  After changing something, please run *docker-compose up -d* again.
137
 
138
- > If you want to change the basic setups, like port, password .etc., please refer to [.env](./docker/.env) before starting the system.
139
 
140
- > If you change anything in [.env](./docker/.env), please check [service_conf.yaml](./docker/service_conf.yaml) which is a
141
- > configuration of the back-end service and should be consistent with [.env](./docker/.env).
142
 
143
- # RoadMap
144
 
145
- - [ ] File manager.
146
- - [ ] Support URLs. Crawl web and extract the main content.
147
 
 
148
 
149
- # Contributing
 
 
 
 
150
 
151
- For those who'd like to contribute code, see our [Contribution Guide](https://github.com/infiniflow/ragflow/blob/main/CONTRIBUTING.md).
152
 
153
- # License
154
 
155
- This repository is available under the [Ragflow Open Source License](LICENSE), which is essentially Apache 2.0 with a few additional restrictions.
 
20
  <img height="21" src="https://img.shields.io/badge/License-Apache--2.0-ffffff?style=flat-square&labelColor=d4eaf7&color=7d09f1" alt="license">
21
  </a>
22
  </p>
23
+ [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.
 
 
 
24
 
25
+
26
  <div align="center" style="margin-top:20px;margin-bottom:20px;">
27
  <img src="https://github.com/infiniflow/ragflow/assets/12318111/b24a7a5f-4d1d-4a30-90b1-7b0ec558b79d" width="1000"/>
28
  </div>
29
 
30
+ ## 🌟Key Features
31
+ - 🍭**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.
32
  - For documents from different domain for different purpose, the engine applys different analyzing and search strategy.
33
  - Easily intervene and manipulate the data proccessing procedure when things goes beyond expectation.
34
  - Multi-media document understanding is supported using OCR and multi-modal LLM.
35
+ - 🍭**State-of-the-art table structure and layout recognition.** Precisely extract and understand the document including table content. See [README.](./deepdoc/README.md)
36
  - For PDF files, layout and table structures including row, column and span of them are recognized.
37
  - Put the table accrossing the pages together.
38
  - Reconstruct the table structure components into html table.
39
  - **Querying database dumped data are supported.** After uploading tables from any database, you can search any data records just by asking.
40
+ - You can now query a database using natural language instead of using SQL.
41
+ - The record number uploaded is not limited.
 
42
  - **Reasoned and well-founded answers.** The cited document part in LLM's answer is provided and pointed out in the original document.
43
+ - The answers are based on retrieved result for which we apply vector-keyword hybrids search and re-rank.
44
  - The part of document cited in the answer is presented in the most expressive way.
45
  - For PDF file, the cited parts in document can be located in the original PDF.
 
46
 
47
+ ## 🤺RagFlow vs. other RAG applications
48
+
49
+
50
+
51
+ ## 🎬 Get Started
52
 
53
+ ### 📝Prerequisites
 
 
54
  - CPU >= 2 cores
55
+ - RAM >= 8 GB
56
 
57
  Then, you need to check the following command:
58
  ```bash
59
  121:/ragflow# sysctl vm.max_map_count
60
  vm.max_map_count = 262144
61
  ```
62
+ If **vm.max_map_count** is not greater than 65535:
63
  ```bash
64
  121:/ragflow# sudo sysctl -w vm.max_map_count=262144
65
  ```
66
+ 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**:
67
+
 
68
  ```bash
69
  vm.max_map_count=262144
70
  ```
71
 
72
+ ### Install docker
73
 
74
+ If you have not installed *Docker* on your local machine, see [Install Docker Engine](https://docs.docker.com/engine/install/)
75
 
76
+ ### Quick Start
77
 
78
  > - In [service_conf.yaml](./docker/service_conf.yaml), configuration of *LLM* in **user_default_llm** is strongly recommended.
79
  > In **user_default_llm** of [service_conf.yaml](./docker/service_conf.yaml), you need to specify LLM factory and your own _API_KEY_.
80
+ > If you do not have _API_KEY_ at the moment, you can specify it in
81
+ Settings the next time you log in to the system.
82
+ > - RagFlow supports the flowing LLM factory, with more coming in the pipeline:
83
  > [OpenAI](https://platform.openai.com/login?launch), [Tongyi-Qianwen](https://dashscope.console.aliyun.com/model),
84
  > [ZHIPU-AI](https://open.bigmodel.cn/), [Moonshot](https://platform.moonshot.cn/docs/docs)
85
  ```bash
 
96
  $ cd ragflow/docker
97
  $ docker compose up -d
98
  ```
99
+ > The core image is about 15 GB in size and may take a while to load.
100
 
101
+ Check the server status after pulling all images and running up:
 
102
  ```bash
103
  $ docker logs -f ragflow-server
104
+ ```
105
+ *Hallelujah! The following outputs indicates that you have successfully launched the system:*
106
 
107
+ ```bash
108
  ____ ______ __
109
  / __ \ ____ _ ____ _ / ____// /____ _ __
110
  / /_/ // __ `// __ `// /_ / // __ \| | /| / /
 
119
 
120
  ```
121
  Open your browser, enter the IP address of your server, _**Hallelujah**_ again!
122
+ > 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'*'.
 
123
 
124
+ ## 🔎System Architecture
125
 
126
  <div align="center" style="margin-top:20px;margin-bottom:20px;">
127
  <img src="https://github.com/infiniflow/ragflow/assets/12318111/d6ac5664-c237-4200-a7c2-a4a00691b485" width="1000"/>
128
  </div>
129
+ ## 🔧 Configurations
130
 
 
131
  If you need to change the default setting of the system when you deploy it. There several ways to configure it.
132
+ Please refer to this [README](./docker/README.md) to manually update the configuration.
133
  After changing something, please run *docker-compose up -d* again.
134
 
135
+ > If you want to change the basic setups, like port, password .etc., please refer to [.env](./docker/.env) before starting up the system.
136
 
137
+ > 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).
 
138
 
139
+ ## 📜 Roadmap
140
 
141
+ See the [RagFlow Roadmap 2024](https://github.com/infiniflow/ragflow/issues/162)
 
142
 
143
+ ## 🏄Community
144
 
145
+ - [Discord](https://discord.gg/uqQ4YMDf)
146
+ - X
147
+ - [GitHub Discussions]()
148
+ - YouTube
149
+ - WeChat
150
 
 
151
 
152
+ ## 🙌 Contributing
153
 
154
+ For those who'd like to contribute code, see our [Contribution Guide](https://github.com/infiniflow/ragflow/blob/main/CONTRIBUTING.md).