jinhai-2012 commited on
Commit
3139b22
·
1 Parent(s): 37b4567

Update version and format (#1878)

Browse files

### What problem does this PR solve?

1. Update the change line to Unix style
2. Update version info.

### Type of change

- [x] Documentation Update

Signed-off-by: Jin Hai <[email protected]>

Files changed (2) hide show
  1. README.md +348 -348
  2. README_ja.md +291 -291
README.md CHANGED
@@ -1,348 +1,348 @@
1
- <div align="center">
2
- <a href="https://demo.ragflow.io/">
3
- <img src="web/src/assets/logo-with-text.png" width="520" alt="ragflow logo">
4
- </a>
5
- </div>
6
-
7
- <p align="center">
8
- <a href="./README.md">English</a> |
9
- <a href="./README_zh.md">简体中文</a> |
10
- <a href="./README_ja.md">日本語</a>
11
- </p>
12
-
13
- <p align="center">
14
- <a href="https://github.com/infiniflow/ragflow/releases/latest">
15
- <img src="https://img.shields.io/github/v/release/infiniflow/ragflow?color=blue&label=Latest%20Release" alt="Latest Release">
16
- </a>
17
- <a href="https://demo.ragflow.io" target="_blank">
18
- <img alt="Static Badge" src="https://img.shields.io/badge/Online-Demo-4e6b99"></a>
19
- <a href="https://hub.docker.com/r/infiniflow/ragflow" target="_blank">
20
- <img src="https://img.shields.io/badge/docker_pull-ragflow:v0.9.0-brightgreen" alt="docker pull infiniflow/ragflow:v0.9.0"></a>
21
- <a href="https://github.com/infiniflow/ragflow/blob/main/LICENSE">
22
- <img height="21" src="https://img.shields.io/badge/License-Apache--2.0-ffffff?labelColor=d4eaf7&color=2e6cc4" alt="license">
23
- </a>
24
- </p>
25
-
26
- <h4 align="center">
27
- <a href="https://ragflow.io/docs/dev/">Document</a> |
28
- <a href="https://github.com/infiniflow/ragflow/issues/162">Roadmap</a> |
29
- <a href="https://twitter.com/infiniflowai">Twitter</a> |
30
- <a href="https://discord.gg/4XxujFgUN7">Discord</a> |
31
- <a href="https://demo.ragflow.io">Demo</a>
32
- </h4>
33
-
34
- <details open>
35
- <summary></b>📕 Table of Contents</b></summary>
36
-
37
- - 💡 [What is RAGFlow?](#-what-is-ragflow)
38
- - 🎮 [Demo](#-demo)
39
- - 📌 [Latest Updates](#-latest-updates)
40
- - 🌟 [Key Features](#-key-features)
41
- - 🔎 [System Architecture](#-system-architecture)
42
- - 🎬 [Get Started](#-get-started)
43
- - 🔧 [Configurations](#-configurations)
44
- - 🛠️ [Build from source](#-build-from-source)
45
- - 🛠️ [Launch service from source](#-launch-service-from-source)
46
- - 📚 [Documentation](#-documentation)
47
- - 📜 [Roadmap](#-roadmap)
48
- - 🏄 [Community](#-community)
49
- - 🙌 [Contributing](#-contributing)
50
-
51
- </details>
52
-
53
- ## 💡 What is RAGFlow?
54
-
55
- [RAGFlow](https://ragflow.io/) is an open-source RAG (Retrieval-Augmented Generation) engine based on deep document understanding. It offers a streamlined RAG workflow for businesses of any scale, combining LLM (Large Language Models) to provide truthful question-answering capabilities, backed by well-founded citations from various complex formatted data.
56
-
57
- ## 🎮 Demo
58
-
59
- Try our demo at [https://demo.ragflow.io](https://demo.ragflow.io).
60
- <div align="center" style="margin-top:20px;margin-bottom:20px;">
61
- <img src="https://github.com/infiniflow/ragflow/assets/7248/2f6baa3e-1092-4f11-866d-36f6a9d075e5" width="1200"/>
62
- <img src="https://github.com/infiniflow/ragflow/assets/12318111/b083d173-dadc-4ea9-bdeb-180d7df514eb" width="1200"/>
63
- </div>
64
-
65
-
66
- ## 🔥 Latest Updates
67
-
68
- - 2024-08-02 Supports GraphRAG inspired by [graphrag](https://github.com/microsoft/graphrag) , and mind map.
69
-
70
- - 2024-07-23 Supports audio file parsing.
71
-
72
- - 2024-07-21 Supports more LLMs (LocalAI, OpenRouter, StepFun, and Nvidia).
73
-
74
- - 2024-07-18 Adds more components (Wikipedia, PubMed, Baidu, and Duckduckgo) to the graph.
75
-
76
- - 2024-07-08 Supports workflow based on [Graph](./graph/README.md).
77
- - 2024-06-27 Supports Markdown and Docx in the Q&A parsing method.
78
- - 2024-06-27 Supports extracting images from Docx files.
79
- - 2024-06-27 Supports extracting tables from Markdown files.
80
- - 2024-06-06 Supports [Self-RAG](https://huggingface.co/papers/2310.11511), which is enabled by default in dialog settings.
81
- - 2024-05-30 Integrates [BCE](https://github.com/netease-youdao/BCEmbedding) and [BGE](https://github.com/FlagOpen/FlagEmbedding) reranker models.
82
- - 2024-05-23 Supports [RAPTOR](https://arxiv.org/html/2401.18059v1) for better text retrieval.
83
- - 2024-05-15 Integrates OpenAI GPT-4o.
84
-
85
- ## 🌟 Key Features
86
-
87
- ### 🍭 **"Quality in, quality out"**
88
-
89
- - [Deep document understanding](./deepdoc/README.md)-based knowledge extraction from unstructured data with complicated formats.
90
- - Finds "needle in a data haystack" of literally unlimited tokens.
91
-
92
- ### 🍱 **Template-based chunking**
93
-
94
- - Intelligent and explainable.
95
- - Plenty of template options to choose from.
96
-
97
- ### 🌱 **Grounded citations with reduced hallucinations**
98
-
99
- - Visualization of text chunking to allow human intervention.
100
- - Quick view of the key references and traceable citations to support grounded answers.
101
-
102
- ### 🍔 **Compatibility with heterogeneous data sources**
103
-
104
- - Supports Word, slides, excel, txt, images, scanned copies, structured data, web pages, and more.
105
-
106
- ### 🛀 **Automated and effortless RAG workflow**
107
-
108
- - Streamlined RAG orchestration catered to both personal and large businesses.
109
- - Configurable LLMs as well as embedding models.
110
- - Multiple recall paired with fused re-ranking.
111
- - Intuitive APIs for seamless integration with business.
112
-
113
- ## 🔎 System Architecture
114
-
115
- <div align="center" style="margin-top:20px;margin-bottom:20px;">
116
- <img src="https://github.com/infiniflow/ragflow/assets/12318111/d6ac5664-c237-4200-a7c2-a4a00691b485" width="1000"/>
117
- </div>
118
-
119
- ## 🎬 Get Started
120
-
121
- ### 📝 Prerequisites
122
-
123
- - CPU >= 4 cores
124
- - RAM >= 16 GB
125
- - Disk >= 50 GB
126
- - Docker >= 24.0.0 & Docker Compose >= v2.26.1
127
- > If you have not installed Docker on your local machine (Windows, Mac, or Linux), see [Install Docker Engine](https://docs.docker.com/engine/install/).
128
-
129
- ### 🚀 Start up the server
130
-
131
- 1. Ensure `vm.max_map_count` >= 262144:
132
-
133
- > To check the value of `vm.max_map_count`:
134
- >
135
- > ```bash
136
- > $ sysctl vm.max_map_count
137
- > ```
138
- >
139
- > Reset `vm.max_map_count` to a value at least 262144 if it is not.
140
- >
141
- > ```bash
142
- > # In this case, we set it to 262144:
143
- > $ sudo sysctl -w vm.max_map_count=262144
144
- > ```
145
- >
146
- > 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:
147
- >
148
- > ```bash
149
- > vm.max_map_count=262144
150
- > ```
151
-
152
- 2. Clone the repo:
153
-
154
- ```bash
155
- $ git clone https://github.com/infiniflow/ragflow.git
156
- ```
157
-
158
- 3. Build the pre-built Docker images and start up the server:
159
-
160
- > Running the following commands automatically downloads the *dev* version RAGFlow Docker image. To download and run a specified Docker version, update `RAGFLOW_VERSION` in **docker/.env** to the intended version, for example `RAGFLOW_VERSION=v0.8.0`, before running the following commands.
161
-
162
- ```bash
163
- $ cd ragflow/docker
164
- $ chmod +x ./entrypoint.sh
165
- $ docker compose up -d
166
- ```
167
-
168
-
169
- > The core image is about 9 GB in size and may take a while to load.
170
-
171
- 4. Check the server status after having the server up and running:
172
-
173
- ```bash
174
- $ docker logs -f ragflow-server
175
- ```
176
-
177
- _The following output confirms a successful launch of the system:_
178
-
179
- ```bash
180
- ____ ______ __
181
- / __ \ ____ _ ____ _ / ____// /____ _ __
182
- / /_/ // __ `// __ `// /_ / // __ \| | /| / /
183
- / _, _// /_/ // /_/ // __/ / // /_/ /| |/ |/ /
184
- /_/ |_| \__,_/ \__, //_/ /_/ \____/ |__/|__/
185
- /____/
186
-
187
- * Running on all addresses (0.0.0.0)
188
- * Running on http://127.0.0.1:9380
189
- * Running on http://x.x.x.x:9380
190
- INFO:werkzeug:Press CTRL+C to quit
191
- ```
192
- > If you skip this confirmation step and directly log in to RAGFlow, your browser may prompt a `network anomaly` error because, at that moment, your RAGFlow may not be fully initialized.
193
-
194
- 5. In your web browser, enter the IP address of your server and log in to RAGFlow.
195
- > With the default settings, you only need to enter `http://IP_OF_YOUR_MACHINE` (**sans** port number) as the default HTTP serving port `80` can be omitted when using the default configurations.
196
- 6. In [service_conf.yaml](./docker/service_conf.yaml), select the desired LLM factory in `user_default_llm` and update the `API_KEY` field with the corresponding API key.
197
-
198
- > See [llm_api_key_setup](https://ragflow.io/docs/dev/llm_api_key_setup) for more information.
199
-
200
- _The show is now on!_
201
-
202
- ## 🔧 Configurations
203
-
204
- When it comes to system configurations, you will need to manage the following files:
205
-
206
- - [.env](./docker/.env): Keeps the fundamental setups for the system, such as `SVR_HTTP_PORT`, `MYSQL_PASSWORD`, and `MINIO_PASSWORD`.
207
- - [service_conf.yaml](./docker/service_conf.yaml): Configures the back-end services.
208
- - [docker-compose.yml](./docker/docker-compose.yml): The system relies on [docker-compose.yml](./docker/docker-compose.yml) to start up.
209
-
210
- You must ensure that changes to the [.env](./docker/.env) file are in line with what are in the [service_conf.yaml](./docker/service_conf.yaml) file.
211
-
212
- > The [./docker/README](./docker/README.md) file provides a detailed description of the environment settings and service configurations, and you are REQUIRED to ensure that all environment settings listed in the [./docker/README](./docker/README.md) file are aligned with the corresponding configurations in the [service_conf.yaml](./docker/service_conf.yaml) file.
213
-
214
- To update the default HTTP serving port (80), go to [docker-compose.yml](./docker/docker-compose.yml) and change `80:80` to `<YOUR_SERVING_PORT>:80`.
215
-
216
- > Updates to all system configurations require a system reboot to take effect:
217
- >
218
- > ```bash
219
- > $ docker-compose up -d
220
- > ```
221
-
222
- ## 🛠️ Build from source
223
-
224
- To build the Docker images from source:
225
-
226
- ```bash
227
- $ git clone https://github.com/infiniflow/ragflow.git
228
- $ cd ragflow/
229
- $ docker build -t infiniflow/ragflow:dev .
230
- $ cd ragflow/docker
231
- $ chmod +x ./entrypoint.sh
232
- $ docker compose up -d
233
- ```
234
-
235
- ## 🛠️ Launch service from source
236
-
237
- To launch the service from source:
238
-
239
- 1. Clone the repository:
240
-
241
- ```bash
242
- $ git clone https://github.com/infiniflow/ragflow.git
243
- $ cd ragflow/
244
- ```
245
-
246
- 2. Create a virtual environment, ensuring that Anaconda or Miniconda is installed:
247
-
248
- ```bash
249
- $ conda create -n ragflow python=3.11.0
250
- $ conda activate ragflow
251
- $ pip install -r requirements.txt
252
- ```
253
-
254
- ```bash
255
- # If your CUDA version is higher than 12.0, run the following additional commands:
256
- $ pip uninstall -y onnxruntime-gpu
257
- $ pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/
258
- ```
259
-
260
- 3. Copy the entry script and configure environment variables:
261
-
262
- ```bash
263
- # Get the Python path:
264
- $ which python
265
- # Get the ragflow project path:
266
- $ pwd
267
- ```
268
-
269
- ```bash
270
- $ cp docker/entrypoint.sh .
271
- $ vi entrypoint.sh
272
- ```
273
-
274
- ```bash
275
- # Adjust configurations according to your actual situation (the following two export commands are newly added):
276
- # - Assign the result of `which python` to `PY`.
277
- # - Assign the result of `pwd` to `PYTHONPATH`.
278
- # - Comment out `LD_LIBRARY_PATH`, if it is configured.
279
- # - Optional: Add Hugging Face mirror.
280
- PY=${PY}
281
- export PYTHONPATH=${PYTHONPATH}
282
- export HF_ENDPOINT=https://hf-mirror.com
283
- ```
284
-
285
- 4. Launch the third-party services (MinIO, Elasticsearch, Redis, and MySQL):
286
-
287
- ```bash
288
- $ cd docker
289
- $ docker compose -f docker-compose-base.yml up -d
290
- ```
291
-
292
- 5. Check the configuration files, ensuring that:
293
-
294
- - The settings in **docker/.env** match those in **conf/service_conf.yaml**.
295
- - The IP addresses and ports for related services in **service_conf.yaml** match the local machine IP and ports exposed by the container.
296
-
297
- 6. Launch the RAGFlow backend service:
298
-
299
- ```bash
300
- $ chmod +x ./entrypoint.sh
301
- $ bash ./entrypoint.sh
302
- ```
303
-
304
- 7. Launch the frontend service:
305
-
306
- ```bash
307
- $ cd web
308
- $ npm install --registry=https://registry.npmmirror.com --force
309
- $ vim .umirc.ts
310
- # Update proxy.target to http://127.0.0.1:9380
311
- $ npm run dev
312
- ```
313
-
314
- 8. Deploy the frontend service:
315
-
316
- ```bash
317
- $ cd web
318
- $ npm install --registry=https://registry.npmmirror.com --force
319
- $ umi build
320
- $ mkdir -p /ragflow/web
321
- $ cp -r dist /ragflow/web
322
- $ apt install nginx -y
323
- $ cp ../docker/nginx/proxy.conf /etc/nginx
324
- $ cp ../docker/nginx/nginx.conf /etc/nginx
325
- $ cp ../docker/nginx/ragflow.conf /etc/nginx/conf.d
326
- $ systemctl start nginx
327
- ```
328
-
329
- ## 📚 Documentation
330
-
331
- - [Quickstart](https://ragflow.io/docs/dev/)
332
- - [User guide](https://ragflow.io/docs/dev/category/user-guides)
333
- - [References](https://ragflow.io/docs/dev/category/references)
334
- - [FAQ](https://ragflow.io/docs/dev/faq)
335
-
336
- ## 📜 Roadmap
337
-
338
- See the [RAGFlow Roadmap 2024](https://github.com/infiniflow/ragflow/issues/162)
339
-
340
- ## 🏄 Community
341
-
342
- - [Discord](https://discord.gg/4XxujFgUN7)
343
- - [Twitter](https://twitter.com/infiniflowai)
344
- - [GitHub Discussions](https://github.com/orgs/infiniflow/discussions)
345
-
346
- ## 🙌 Contributing
347
-
348
- 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](./docs/references/CONTRIBUTING.md) first.
 
1
+ <div align="center">
2
+ <a href="https://demo.ragflow.io/">
3
+ <img src="web/src/assets/logo-with-text.png" width="520" alt="ragflow logo">
4
+ </a>
5
+ </div>
6
+
7
+ <p align="center">
8
+ <a href="./README.md">English</a> |
9
+ <a href="./README_zh.md">简体中文</a> |
10
+ <a href="./README_ja.md">日本語</a>
11
+ </p>
12
+
13
+ <p align="center">
14
+ <a href="https://github.com/infiniflow/ragflow/releases/latest">
15
+ <img src="https://img.shields.io/github/v/release/infiniflow/ragflow?color=blue&label=Latest%20Release" alt="Latest Release">
16
+ </a>
17
+ <a href="https://demo.ragflow.io" target="_blank">
18
+ <img alt="Static Badge" src="https://img.shields.io/badge/Online-Demo-4e6b99"></a>
19
+ <a href="https://hub.docker.com/r/infiniflow/ragflow" target="_blank">
20
+ <img src="https://img.shields.io/badge/docker_pull-ragflow:v0.9.0-brightgreen" alt="docker pull infiniflow/ragflow:v0.9.0"></a>
21
+ <a href="https://github.com/infiniflow/ragflow/blob/main/LICENSE">
22
+ <img height="21" src="https://img.shields.io/badge/License-Apache--2.0-ffffff?labelColor=d4eaf7&color=2e6cc4" alt="license">
23
+ </a>
24
+ </p>
25
+
26
+ <h4 align="center">
27
+ <a href="https://ragflow.io/docs/dev/">Document</a> |
28
+ <a href="https://github.com/infiniflow/ragflow/issues/162">Roadmap</a> |
29
+ <a href="https://twitter.com/infiniflowai">Twitter</a> |
30
+ <a href="https://discord.gg/4XxujFgUN7">Discord</a> |
31
+ <a href="https://demo.ragflow.io">Demo</a>
32
+ </h4>
33
+
34
+ <details open>
35
+ <summary></b>📕 Table of Contents</b></summary>
36
+
37
+ - 💡 [What is RAGFlow?](#-what-is-ragflow)
38
+ - 🎮 [Demo](#-demo)
39
+ - 📌 [Latest Updates](#-latest-updates)
40
+ - 🌟 [Key Features](#-key-features)
41
+ - 🔎 [System Architecture](#-system-architecture)
42
+ - 🎬 [Get Started](#-get-started)
43
+ - 🔧 [Configurations](#-configurations)
44
+ - 🛠️ [Build from source](#-build-from-source)
45
+ - 🛠️ [Launch service from source](#-launch-service-from-source)
46
+ - 📚 [Documentation](#-documentation)
47
+ - 📜 [Roadmap](#-roadmap)
48
+ - 🏄 [Community](#-community)
49
+ - 🙌 [Contributing](#-contributing)
50
+
51
+ </details>
52
+
53
+ ## 💡 What is RAGFlow?
54
+
55
+ [RAGFlow](https://ragflow.io/) is an open-source RAG (Retrieval-Augmented Generation) engine based on deep document understanding. It offers a streamlined RAG workflow for businesses of any scale, combining LLM (Large Language Models) to provide truthful question-answering capabilities, backed by well-founded citations from various complex formatted data.
56
+
57
+ ## 🎮 Demo
58
+
59
+ Try our demo at [https://demo.ragflow.io](https://demo.ragflow.io).
60
+ <div align="center" style="margin-top:20px;margin-bottom:20px;">
61
+ <img src="https://github.com/infiniflow/ragflow/assets/7248/2f6baa3e-1092-4f11-866d-36f6a9d075e5" width="1200"/>
62
+ <img src="https://github.com/infiniflow/ragflow/assets/12318111/b083d173-dadc-4ea9-bdeb-180d7df514eb" width="1200"/>
63
+ </div>
64
+
65
+
66
+ ## 🔥 Latest Updates
67
+
68
+ - 2024-08-02 Supports GraphRAG inspired by [graphrag](https://github.com/microsoft/graphrag) , and mind map.
69
+
70
+ - 2024-07-23 Supports audio file parsing.
71
+
72
+ - 2024-07-21 Supports more LLMs (LocalAI, OpenRouter, StepFun, and Nvidia).
73
+
74
+ - 2024-07-18 Adds more components (Wikipedia, PubMed, Baidu, and Duckduckgo) to the graph.
75
+
76
+ - 2024-07-08 Supports workflow based on [Graph](./graph/README.md).
77
+ - 2024-06-27 Supports Markdown and Docx in the Q&A parsing method.
78
+ - 2024-06-27 Supports extracting images from Docx files.
79
+ - 2024-06-27 Supports extracting tables from Markdown files.
80
+ - 2024-06-06 Supports [Self-RAG](https://huggingface.co/papers/2310.11511), which is enabled by default in dialog settings.
81
+ - 2024-05-30 Integrates [BCE](https://github.com/netease-youdao/BCEmbedding) and [BGE](https://github.com/FlagOpen/FlagEmbedding) reranker models.
82
+ - 2024-05-23 Supports [RAPTOR](https://arxiv.org/html/2401.18059v1) for better text retrieval.
83
+ - 2024-05-15 Integrates OpenAI GPT-4o.
84
+
85
+ ## 🌟 Key Features
86
+
87
+ ### 🍭 **"Quality in, quality out"**
88
+
89
+ - [Deep document understanding](./deepdoc/README.md)-based knowledge extraction from unstructured data with complicated formats.
90
+ - Finds "needle in a data haystack" of literally unlimited tokens.
91
+
92
+ ### 🍱 **Template-based chunking**
93
+
94
+ - Intelligent and explainable.
95
+ - Plenty of template options to choose from.
96
+
97
+ ### 🌱 **Grounded citations with reduced hallucinations**
98
+
99
+ - Visualization of text chunking to allow human intervention.
100
+ - Quick view of the key references and traceable citations to support grounded answers.
101
+
102
+ ### 🍔 **Compatibility with heterogeneous data sources**
103
+
104
+ - Supports Word, slides, excel, txt, images, scanned copies, structured data, web pages, and more.
105
+
106
+ ### 🛀 **Automated and effortless RAG workflow**
107
+
108
+ - Streamlined RAG orchestration catered to both personal and large businesses.
109
+ - Configurable LLMs as well as embedding models.
110
+ - Multiple recall paired with fused re-ranking.
111
+ - Intuitive APIs for seamless integration with business.
112
+
113
+ ## 🔎 System Architecture
114
+
115
+ <div align="center" style="margin-top:20px;margin-bottom:20px;">
116
+ <img src="https://github.com/infiniflow/ragflow/assets/12318111/d6ac5664-c237-4200-a7c2-a4a00691b485" width="1000"/>
117
+ </div>
118
+
119
+ ## 🎬 Get Started
120
+
121
+ ### 📝 Prerequisites
122
+
123
+ - CPU >= 4 cores
124
+ - RAM >= 16 GB
125
+ - Disk >= 50 GB
126
+ - Docker >= 24.0.0 & Docker Compose >= v2.26.1
127
+ > If you have not installed Docker on your local machine (Windows, Mac, or Linux), see [Install Docker Engine](https://docs.docker.com/engine/install/).
128
+
129
+ ### 🚀 Start up the server
130
+
131
+ 1. Ensure `vm.max_map_count` >= 262144:
132
+
133
+ > To check the value of `vm.max_map_count`:
134
+ >
135
+ > ```bash
136
+ > $ sysctl vm.max_map_count
137
+ > ```
138
+ >
139
+ > Reset `vm.max_map_count` to a value at least 262144 if it is not.
140
+ >
141
+ > ```bash
142
+ > # In this case, we set it to 262144:
143
+ > $ sudo sysctl -w vm.max_map_count=262144
144
+ > ```
145
+ >
146
+ > 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:
147
+ >
148
+ > ```bash
149
+ > vm.max_map_count=262144
150
+ > ```
151
+
152
+ 2. Clone the repo:
153
+
154
+ ```bash
155
+ $ git clone https://github.com/infiniflow/ragflow.git
156
+ ```
157
+
158
+ 3. Build the pre-built Docker images and start up the server:
159
+
160
+ > Running the following commands automatically downloads the *dev* version RAGFlow Docker image. To download and run a specified Docker version, update `RAGFLOW_VERSION` in **docker/.env** to the intended version, for example `RAGFLOW_VERSION=v0.9.0`, before running the following commands.
161
+
162
+ ```bash
163
+ $ cd ragflow/docker
164
+ $ chmod +x ./entrypoint.sh
165
+ $ docker compose up -d
166
+ ```
167
+
168
+
169
+ > The core image is about 9 GB in size and may take a while to load.
170
+
171
+ 4. Check the server status after having the server up and running:
172
+
173
+ ```bash
174
+ $ docker logs -f ragflow-server
175
+ ```
176
+
177
+ _The following output confirms a successful launch of the system:_
178
+
179
+ ```bash
180
+ ____ ______ __
181
+ / __ \ ____ _ ____ _ / ____// /____ _ __
182
+ / /_/ // __ `// __ `// /_ / // __ \| | /| / /
183
+ / _, _// /_/ // /_/ // __/ / // /_/ /| |/ |/ /
184
+ /_/ |_| \__,_/ \__, //_/ /_/ \____/ |__/|__/
185
+ /____/
186
+
187
+ * Running on all addresses (0.0.0.0)
188
+ * Running on http://127.0.0.1:9380
189
+ * Running on http://x.x.x.x:9380
190
+ INFO:werkzeug:Press CTRL+C to quit
191
+ ```
192
+ > If you skip this confirmation step and directly log in to RAGFlow, your browser may prompt a `network anomaly` error because, at that moment, your RAGFlow may not be fully initialized.
193
+
194
+ 5. In your web browser, enter the IP address of your server and log in to RAGFlow.
195
+ > With the default settings, you only need to enter `http://IP_OF_YOUR_MACHINE` (**sans** port number) as the default HTTP serving port `80` can be omitted when using the default configurations.
196
+ 6. In [service_conf.yaml](./docker/service_conf.yaml), select the desired LLM factory in `user_default_llm` and update the `API_KEY` field with the corresponding API key.
197
+
198
+ > See [llm_api_key_setup](https://ragflow.io/docs/dev/llm_api_key_setup) for more information.
199
+
200
+ _The show is now on!_
201
+
202
+ ## 🔧 Configurations
203
+
204
+ When it comes to system configurations, you will need to manage the following files:
205
+
206
+ - [.env](./docker/.env): Keeps the fundamental setups for the system, such as `SVR_HTTP_PORT`, `MYSQL_PASSWORD`, and `MINIO_PASSWORD`.
207
+ - [service_conf.yaml](./docker/service_conf.yaml): Configures the back-end services.
208
+ - [docker-compose.yml](./docker/docker-compose.yml): The system relies on [docker-compose.yml](./docker/docker-compose.yml) to start up.
209
+
210
+ You must ensure that changes to the [.env](./docker/.env) file are in line with what are in the [service_conf.yaml](./docker/service_conf.yaml) file.
211
+
212
+ > The [./docker/README](./docker/README.md) file provides a detailed description of the environment settings and service configurations, and you are REQUIRED to ensure that all environment settings listed in the [./docker/README](./docker/README.md) file are aligned with the corresponding configurations in the [service_conf.yaml](./docker/service_conf.yaml) file.
213
+
214
+ To update the default HTTP serving port (80), go to [docker-compose.yml](./docker/docker-compose.yml) and change `80:80` to `<YOUR_SERVING_PORT>:80`.
215
+
216
+ > Updates to all system configurations require a system reboot to take effect:
217
+ >
218
+ > ```bash
219
+ > $ docker-compose up -d
220
+ > ```
221
+
222
+ ## 🛠️ Build from source
223
+
224
+ To build the Docker images from source:
225
+
226
+ ```bash
227
+ $ git clone https://github.com/infiniflow/ragflow.git
228
+ $ cd ragflow/
229
+ $ docker build -t infiniflow/ragflow:dev .
230
+ $ cd ragflow/docker
231
+ $ chmod +x ./entrypoint.sh
232
+ $ docker compose up -d
233
+ ```
234
+
235
+ ## 🛠️ Launch service from source
236
+
237
+ To launch the service from source:
238
+
239
+ 1. Clone the repository:
240
+
241
+ ```bash
242
+ $ git clone https://github.com/infiniflow/ragflow.git
243
+ $ cd ragflow/
244
+ ```
245
+
246
+ 2. Create a virtual environment, ensuring that Anaconda or Miniconda is installed:
247
+
248
+ ```bash
249
+ $ conda create -n ragflow python=3.11.0
250
+ $ conda activate ragflow
251
+ $ pip install -r requirements.txt
252
+ ```
253
+
254
+ ```bash
255
+ # If your CUDA version is higher than 12.0, run the following additional commands:
256
+ $ pip uninstall -y onnxruntime-gpu
257
+ $ pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/
258
+ ```
259
+
260
+ 3. Copy the entry script and configure environment variables:
261
+
262
+ ```bash
263
+ # Get the Python path:
264
+ $ which python
265
+ # Get the ragflow project path:
266
+ $ pwd
267
+ ```
268
+
269
+ ```bash
270
+ $ cp docker/entrypoint.sh .
271
+ $ vi entrypoint.sh
272
+ ```
273
+
274
+ ```bash
275
+ # Adjust configurations according to your actual situation (the following two export commands are newly added):
276
+ # - Assign the result of `which python` to `PY`.
277
+ # - Assign the result of `pwd` to `PYTHONPATH`.
278
+ # - Comment out `LD_LIBRARY_PATH`, if it is configured.
279
+ # - Optional: Add Hugging Face mirror.
280
+ PY=${PY}
281
+ export PYTHONPATH=${PYTHONPATH}
282
+ export HF_ENDPOINT=https://hf-mirror.com
283
+ ```
284
+
285
+ 4. Launch the third-party services (MinIO, Elasticsearch, Redis, and MySQL):
286
+
287
+ ```bash
288
+ $ cd docker
289
+ $ docker compose -f docker-compose-base.yml up -d
290
+ ```
291
+
292
+ 5. Check the configuration files, ensuring that:
293
+
294
+ - The settings in **docker/.env** match those in **conf/service_conf.yaml**.
295
+ - The IP addresses and ports for related services in **service_conf.yaml** match the local machine IP and ports exposed by the container.
296
+
297
+ 6. Launch the RAGFlow backend service:
298
+
299
+ ```bash
300
+ $ chmod +x ./entrypoint.sh
301
+ $ bash ./entrypoint.sh
302
+ ```
303
+
304
+ 7. Launch the frontend service:
305
+
306
+ ```bash
307
+ $ cd web
308
+ $ npm install --registry=https://registry.npmmirror.com --force
309
+ $ vim .umirc.ts
310
+ # Update proxy.target to http://127.0.0.1:9380
311
+ $ npm run dev
312
+ ```
313
+
314
+ 8. Deploy the frontend service:
315
+
316
+ ```bash
317
+ $ cd web
318
+ $ npm install --registry=https://registry.npmmirror.com --force
319
+ $ umi build
320
+ $ mkdir -p /ragflow/web
321
+ $ cp -r dist /ragflow/web
322
+ $ apt install nginx -y
323
+ $ cp ../docker/nginx/proxy.conf /etc/nginx
324
+ $ cp ../docker/nginx/nginx.conf /etc/nginx
325
+ $ cp ../docker/nginx/ragflow.conf /etc/nginx/conf.d
326
+ $ systemctl start nginx
327
+ ```
328
+
329
+ ## 📚 Documentation
330
+
331
+ - [Quickstart](https://ragflow.io/docs/dev/)
332
+ - [User guide](https://ragflow.io/docs/dev/category/user-guides)
333
+ - [References](https://ragflow.io/docs/dev/category/references)
334
+ - [FAQ](https://ragflow.io/docs/dev/faq)
335
+
336
+ ## 📜 Roadmap
337
+
338
+ See the [RAGFlow Roadmap 2024](https://github.com/infiniflow/ragflow/issues/162)
339
+
340
+ ## 🏄 Community
341
+
342
+ - [Discord](https://discord.gg/4XxujFgUN7)
343
+ - [Twitter](https://twitter.com/infiniflowai)
344
+ - [GitHub Discussions](https://github.com/orgs/infiniflow/discussions)
345
+
346
+ ## 🙌 Contributing
347
+
348
+ 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](./docs/references/CONTRIBUTING.md) first.
README_ja.md CHANGED
@@ -1,291 +1,291 @@
1
- <div align="center">
2
- <a href="https://demo.ragflow.io/">
3
- <img src="web/src/assets/logo-with-text.png" width="350" alt="ragflow logo">
4
- </a>
5
- </div>
6
-
7
- <p align="center">
8
- <a href="./README.md">English</a> |
9
- <a href="./README_zh.md">简体中文</a> |
10
- <a href="./README_ja.md">日本語</a>
11
- </p>
12
-
13
- <p align="center">
14
- <a href="https://github.com/infiniflow/ragflow/releases/latest">
15
- <img src="https://img.shields.io/github/v/release/infiniflow/ragflow?color=blue&label=Latest%20Release" alt="Latest Release">
16
- </a>
17
- <a href="https://demo.ragflow.io" target="_blank">
18
- <img alt="Static Badge" src="https://img.shields.io/badge/Online-Demo-4e6b99"></a>
19
- <a href="https://hub.docker.com/r/infiniflow/ragflow" target="_blank">
20
- <img src="https://img.shields.io/badge/docker_pull-ragflow:v0.9.0-brightgreen"
21
- alt="docker pull infiniflow/ragflow:v0.9.0"></a>
22
- <a href="https://github.com/infiniflow/ragflow/blob/main/LICENSE">
23
- <img height="21" src="https://img.shields.io/badge/License-Apache--2.0-ffffff?labelColor=d4eaf7&color=2e6cc4" alt="license">
24
- </a>
25
- </p>
26
-
27
- <h4 align="center">
28
- <a href="https://ragflow.io/docs/dev/">Document</a> |
29
- <a href="https://github.com/infiniflow/ragflow/issues/162">Roadmap</a> |
30
- <a href="https://twitter.com/infiniflowai">Twitter</a> |
31
- <a href="https://discord.gg/4XxujFgUN7">Discord</a> |
32
- <a href="https://demo.ragflow.io">Demo</a>
33
- </h4>
34
-
35
- ## 💡 RAGFlow とは?
36
-
37
- [RAGFlow](https://ragflow.io/) は、深い文書理解に基づいたオープンソースの RAG (Retrieval-Augmented Generation) エンジンである。LLM(大規模言語モデル)を組み合わせることで、様々な複雑なフォーマットのデータから根拠のある引用に裏打ちされた、信頼できる質問応答機能を実現し、あらゆる規模のビジネスに適した RAG ワークフローを提供します。
38
-
39
- ## 🎮 Demo
40
-
41
- デモをお試しください:[https://demo.ragflow.io](https://demo.ragflow.io)。
42
- <div align="center" style="margin-top:20px;margin-bottom:20px;">
43
- <img src="https://github.com/infiniflow/ragflow/assets/7248/2f6baa3e-1092-4f11-866d-36f6a9d075e5" width="1200"/>
44
- <img src="https://github.com/infiniflow/ragflow/assets/12318111/b083d173-dadc-4ea9-bdeb-180d7df514eb" width="1200"/>
45
- </div>
46
-
47
-
48
- ## 🔥 最新情報
49
-
50
- - 2024-08-02 [graphrag](https://github.com/microsoft/graphrag) からインスピレーションを得た GraphRAG とマインド マップをサポートします。
51
- - 2024-07-23 音声ファイルの解析をサポートしました。
52
- - 2024-07-21 より多くの LLM サプライヤー (LocalAI/OpenRouter/StepFun/Nvidia) をサポートします。
53
- - 2024-07-18 グラフにコンポーネント(Wikipedia/PubMed/Baidu/Duckduckgo)を追加しました。
54
- - 2024-07-08 [Graph](./graph/README.md) ベースのワークフローをサポート
55
- - 2024-06-27 Q&A解析方式はMarkdownファイルとDocxファイルをサポートしています。
56
- - 2024-06-27 Docxファイルからの画像の抽出をサポートします。
57
- - 2024-06-27 Markdownファイルからテーブルを抽出することをサポートします。
58
- - 2024-06-06 会話設定でデフォルトでチェックされている [Self-RAG](https://huggingface.co/papers/2310.11511) をサポートします。
59
- - 2024-05-30 [BCE](https://github.com/netease-youdao/BCEmbedding) 、[BGE](https://github.com/FlagOpen/FlagEmbedding) reranker を統合。
60
- - 2024-05-23 より良いテキスト検索のために [RAPTOR](https://arxiv.org/html/2401.18059v1) をサポート。
61
- - 2024-05-15 OpenAI GPT-4oを統合しました。
62
-
63
- ## 🌟 主な特徴
64
-
65
- ### 🍭 **"Quality in, quality out"**
66
-
67
- - 複雑な形式の非構造化データからの[深い文書理解](./deepdoc/README.md)ベースの知識抽出。
68
- - 無限のトークンから"干し草の山の中の針"を見つける。
69
-
70
- ### 🍱 **テンプレートベースのチャンク化**
71
-
72
- - 知的で解釈しやすい。
73
- - テンプレートオプションが豊富。
74
-
75
- ### 🌱 **ハルシネーションが軽減された根拠のある引用**
76
-
77
- - 可視化されたテキストチャンキング(text chunking)で人間の介入を可能にする。
78
- - 重要な参考文献のクイックビューと、追跡可能な引用によって根拠ある答えをサポートする。
79
-
80
- ### 🍔 **多様なデータソースとの互換性**
81
-
82
- - Word、スライド、Excel、txt、画像、スキャンコピー、構造化データ、Web ページなどをサポート。
83
-
84
- ### 🛀 **自動化された楽な RAG ワークフロー**
85
-
86
- - 個人から大企業まで対応できる RAG オーケストレーション(orchestration)。
87
- - カスタマイズ可能な LLM とエンベッディングモデル。
88
- - 複数の想起と融合された再ランク付け。
89
- - 直感的な API によってビジネスとの統合がシームレスに��
90
-
91
- ## 🔎 システム構成
92
-
93
- <div align="center" style="margin-top:20px;margin-bottom:20px;">
94
- <img src="https://github.com/infiniflow/ragflow/assets/12318111/d6ac5664-c237-4200-a7c2-a4a00691b485" width="1000"/>
95
- </div>
96
-
97
- ## 🎬 初期設定
98
-
99
- ### 📝 必要条件
100
-
101
- - CPU >= 4 cores
102
- - RAM >= 16 GB
103
- - Disk >= 50 GB
104
- - Docker >= 24.0.0 & Docker Compose >= v2.26.1
105
- > ローカルマシン(Windows、Mac、または Linux)に Docker をインストールしていない場合は、[Docker Engine のインストール](https://docs.docker.com/engine/install/) を参照してください。
106
-
107
- ### 🚀 サーバーを起動
108
-
109
- 1. `vm.max_map_count` >= 262144 であることを確認する:
110
-
111
- > `vm.max_map_count` の値をチェックするには:
112
- >
113
- > ```bash
114
- > $ sysctl vm.max_map_count
115
- > ```
116
- >
117
- > `vm.max_map_count` が 262144 より大きい値でなければリセットする。
118
- >
119
- > ```bash
120
- > # In this case, we set it to 262144:
121
- > $ sudo sysctl -w vm.max_map_count=262144
122
- > ```
123
- >
124
- > この変更はシステム再起動後にリセットされる。変更を恒久的なものにするには、**/etc/sysctl.conf** の `vm.max_map_count` 値を適宜追加または更新する:
125
- >
126
- > ```bash
127
- > vm.max_map_count=262144
128
- > ```
129
-
130
- 2. リポジトリをクローンする:
131
-
132
- ```bash
133
- $ git clone https://github.com/infiniflow/ragflow.git
134
- ```
135
-
136
- 3. ビルド済みの Docker イメージをビルドし、サーバーを起動する:
137
-
138
- ```bash
139
- $ cd ragflow/docker
140
- $ chmod +x ./entrypoint.sh
141
- $ docker compose up -d
142
- ```
143
-
144
- > 上記のコマンドを実行すると、RAGFlowの開発版dockerイメージが自動的にダウンロードされます。 特定のバージョンのDockerイメージをダウンロードして実行したい場合は、docker/.envファイルのRAGFLOW_VERSION変数を見つけて、対応するバージョンに変更してください。 例えば、RAGFLOW_VERSION=v0.9.0として、上記のコマンドを実行してください。
145
-
146
- > コアイメージのサイズは約 9 GB で、ロードに時間がかかる場合があります。
147
-
148
- 4. サーバーを立ち上げた後、サーバーの状態を確認する:
149
-
150
- ```bash
151
- $ docker logs -f ragflow-server
152
- ```
153
-
154
- _以下の出力は、システムが正常に起動したことを確認するものです:_
155
-
156
- ```bash
157
- ____ ______ __
158
- / __ \ ____ _ ____ _ / ____// /____ _ __
159
- / /_/ // __ `// __ `// /_ / // __ \| | /| / /
160
- / _, _// /_/ // /_/ // __/ / // /_/ /| |/ |/ /
161
- /_/ |_| \__,_/ \__, //_/ /_/ \____/ |__/|__/
162
- /____/
163
-
164
- * Running on all addresses (0.0.0.0)
165
- * Running on http://127.0.0.1:9380
166
- * Running on http://x.x.x.x:9380
167
- INFO:werkzeug:Press CTRL+C to quit
168
- ```
169
- > もし確認ステップをスキップして直接 RAGFlow にログインした場合、その時点で RAGFlow が完全に初期化されていない可能性があるため、ブラウザーがネットワーク異常エラーを表示するかもしれません。
170
-
171
- 5. ウェブブラウザで、プロンプトに従ってサーバーの IP アドレスを入力し、RAGFlow にログインします。
172
- > デフォルトの設定を使用する場合、デフォルトの HTTP サービングポート `80` は省略できるので、与えられたシナリオでは、`http://IP_OF_YOUR_MACHINE`(ポート番号は省略)だけを入力すればよい。
173
- 6. [service_conf.yaml](./docker/service_conf.yaml) で、`user_default_llm` で希望の LLM ファクトリを選択し、`API_KEY` フィールドを対応する API キーで更新する。
174
-
175
- > 詳しくは [llm_api_key_setup](https://ragflow.io/docs/dev/llm_api_key_setup) を参照してください。
176
-
177
- _これで初期設定完了!ショーの開幕です!_
178
-
179
- ## 🔧 コンフィグ
180
-
181
- システムコンフィグに関しては、以下のファイルを管理する必要がある:
182
-
183
- - [.env](./docker/.env): `SVR_HTTP_PORT`、`MYSQL_PASSWORD`、`MINIO_PASSWORD` などのシステムの基本設定を保持する。
184
- - [service_conf.yaml](./docker/service_conf.yaml): バックエンドのサービスを設定します。
185
- - [docker-compose.yml](./docker/docker-compose.yml): システムの起動は [docker-compose.yml](./docker/docker-compose.yml) に依存している。
186
-
187
- [.env](./docker/.env) ファイルの変更が [service_conf.yaml](./docker/service_conf.yaml) ファイルの内容と一致していることを確認する必要があります。
188
-
189
- > [./docker/README](./docker/README.md) ファイルは環境設定とサービスコンフィグの詳細な説明を提供し、[./docker/README](./docker/README.md) ファイルに記載されている全ての環境設定が [service_conf.yaml](./docker/service_conf.yaml) ファイルの対応するコンフィグと一致している��とを確認することが義務付けられています。
190
-
191
- デフォルトの HTTP サービングポート(80)を更新するには、[docker-compose.yml](./docker/docker-compose.yml) にアクセスして、`80:80` を `<YOUR_SERVING_PORT>:80` に変更します。
192
-
193
- > すべてのシステム設定のアップデートを有効にするには、システムの再起動が必要です:
194
- >
195
- > ```bash
196
- > $ docker-compose up -d
197
- > ```
198
-
199
- ## 🛠️ ソースからビルドする
200
-
201
- ソースからDockerイメージをビルドするには:
202
-
203
- ```bash
204
- $ git clone https://github.com/infiniflow/ragflow.git
205
- $ cd ragflow/
206
- $ docker build -t infiniflow/ragflow:v0.8.0 .
207
- $ cd ragflow/docker
208
- $ chmod +x ./entrypoint.sh
209
- $ docker compose up -d
210
- ```
211
-
212
- ## 🛠️ ソースコードからサービスを起動する方法
213
-
214
- ソースコードからサービスを起動する場合は、以下の手順に従ってください:
215
-
216
- 1. リポジトリをクローンします
217
- ```bash
218
- $ git clone https://github.com/infiniflow/ragflow.git
219
- $ cd ragflow/
220
- ```
221
-
222
- 2. 仮想環境を作成します(AnacondaまたはMinicondaがインストールされていることを確認してください)
223
- ```bash
224
- $ conda create -n ragflow python=3.11.0
225
- $ conda activate ragflow
226
- $ pip install -r requirements.txt
227
- ```
228
- CUDAのバージョンが12.0以上の場合、以下の追加コマンドを実行してください:
229
- ```bash
230
- $ pip uninstall -y onnxruntime-gpu
231
- $ pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/
232
- ```
233
-
234
- 3. エントリースクリプトをコピーし、環境変数を設定します
235
- ```bash
236
- $ cp docker/entrypoint.sh .
237
- $ vi entrypoint.sh
238
- ```
239
- 以下のコマンドでPythonのパスとragflowプロジェクトのパスを取得します:
240
- ```bash
241
- $ which python
242
- $ pwd
243
- ```
244
-
245
- `which python`の出力を`PY`の値として、`pwd`の出力を`PYTHONPATH`の値として設定します。
246
-
247
- `LD_LIBRARY_PATH`が既に設定されている場合は、コメントアウトできます。
248
-
249
- ```bash
250
- # 実際の状況に応じて設定を調整してください。以下の二つのexportは新たに追加された設定です
251
- PY=${PY}
252
- export PYTHONPATH=${PYTHONPATH}
253
- # オプション:Hugging Faceミラーを追加
254
- export HF_ENDPOINT=https://hf-mirror.com
255
- ```
256
-
257
- 4. 基本サービスを起動します
258
- ```bash
259
- $ cd docker
260
- $ docker compose -f docker-compose-base.yml up -d
261
- ```
262
-
263
- 5. 設定ファイルを確認します
264
- **docker/.env**内の設定が**conf/service_conf.yaml**内の設定と一致していることを確認してください。**service_conf.yaml**内の関連サービスのIPアドレスとポートは、ローカルマシンのIPアドレスとコンテナが公開するポートに変更する必要があります。
265
-
266
- 6. サービスを起動します
267
- ```bash
268
- $ chmod +x ./entrypoint.sh
269
- $ bash ./entrypoint.sh
270
- ```
271
-
272
- ## 📚 ドキュメンテーション
273
-
274
- - [Quickstart](https://ragflow.io/docs/dev/)
275
- - [User guide](https://ragflow.io/docs/dev/category/user-guides)
276
- - [References](https://ragflow.io/docs/dev/category/references)
277
- - [FAQ](https://ragflow.io/docs/dev/faq)
278
-
279
- ## 📜 ロードマップ
280
-
281
- [RAGFlow ロードマップ 2024](https://github.com/infiniflow/ragflow/issues/162) を参照
282
-
283
- ## 🏄 コミュニティ
284
-
285
- - [Discord](https://discord.gg/4XxujFgUN7)
286
- - [Twitter](https://twitter.com/infiniflowai)
287
- - [GitHub Discussions](https://github.com/orgs/infiniflow/discussions)
288
-
289
- ## 🙌 コントリビュート
290
-
291
- RAGFlow はオープンソースのコラボレーションによって発展してきました。この精神に基づき、私たちはコミュニティからの多様なコントリビュートを受け入れています。 参加を希望される方は、まず[コントリビューションガイド](./docs/references/CONTRIBUTING.md)をご覧ください。
 
1
+ <div align="center">
2
+ <a href="https://demo.ragflow.io/">
3
+ <img src="web/src/assets/logo-with-text.png" width="350" alt="ragflow logo">
4
+ </a>
5
+ </div>
6
+
7
+ <p align="center">
8
+ <a href="./README.md">English</a> |
9
+ <a href="./README_zh.md">简体中文</a> |
10
+ <a href="./README_ja.md">日本語</a>
11
+ </p>
12
+
13
+ <p align="center">
14
+ <a href="https://github.com/infiniflow/ragflow/releases/latest">
15
+ <img src="https://img.shields.io/github/v/release/infiniflow/ragflow?color=blue&label=Latest%20Release" alt="Latest Release">
16
+ </a>
17
+ <a href="https://demo.ragflow.io" target="_blank">
18
+ <img alt="Static Badge" src="https://img.shields.io/badge/Online-Demo-4e6b99"></a>
19
+ <a href="https://hub.docker.com/r/infiniflow/ragflow" target="_blank">
20
+ <img src="https://img.shields.io/badge/docker_pull-ragflow:v0.9.0-brightgreen"
21
+ alt="docker pull infiniflow/ragflow:v0.9.0"></a>
22
+ <a href="https://github.com/infiniflow/ragflow/blob/main/LICENSE">
23
+ <img height="21" src="https://img.shields.io/badge/License-Apache--2.0-ffffff?labelColor=d4eaf7&color=2e6cc4" alt="license">
24
+ </a>
25
+ </p>
26
+
27
+ <h4 align="center">
28
+ <a href="https://ragflow.io/docs/dev/">Document</a> |
29
+ <a href="https://github.com/infiniflow/ragflow/issues/162">Roadmap</a> |
30
+ <a href="https://twitter.com/infiniflowai">Twitter</a> |
31
+ <a href="https://discord.gg/4XxujFgUN7">Discord</a> |
32
+ <a href="https://demo.ragflow.io">Demo</a>
33
+ </h4>
34
+
35
+ ## 💡 RAGFlow とは?
36
+
37
+ [RAGFlow](https://ragflow.io/) は、深い文書理解に基づいたオープンソースの RAG (Retrieval-Augmented Generation) エンジンである。LLM(大規模言語モデル)を組み合わせることで、様々な複雑なフォーマットのデータから根拠のある引用に裏打ちされた、信頼できる質問応答機能を実現し、あらゆる規模のビジネスに適した RAG ワークフローを提供します。
38
+
39
+ ## 🎮 Demo
40
+
41
+ デモをお試しください:[https://demo.ragflow.io](https://demo.ragflow.io)。
42
+ <div align="center" style="margin-top:20px;margin-bottom:20px;">
43
+ <img src="https://github.com/infiniflow/ragflow/assets/7248/2f6baa3e-1092-4f11-866d-36f6a9d075e5" width="1200"/>
44
+ <img src="https://github.com/infiniflow/ragflow/assets/12318111/b083d173-dadc-4ea9-bdeb-180d7df514eb" width="1200"/>
45
+ </div>
46
+
47
+
48
+ ## 🔥 最新情報
49
+
50
+ - 2024-08-02 [graphrag](https://github.com/microsoft/graphrag) からインスピレーションを得た GraphRAG とマインド マップをサポートします。
51
+ - 2024-07-23 音声ファイルの解析をサポートしました。
52
+ - 2024-07-21 より多くの LLM サプライヤー (LocalAI/OpenRouter/StepFun/Nvidia) をサポートします。
53
+ - 2024-07-18 グラフにコンポーネント(Wikipedia/PubMed/Baidu/Duckduckgo)を追加しました。
54
+ - 2024-07-08 [Graph](./graph/README.md) ベースのワークフローをサポート
55
+ - 2024-06-27 Q&A解析方式はMarkdownファイルとDocxファイルをサポートしています。
56
+ - 2024-06-27 Docxファイルからの画像の抽出をサポートします。
57
+ - 2024-06-27 Markdownファイルからテーブルを抽出することをサポートします。
58
+ - 2024-06-06 会話設定でデフォルトでチェックされている [Self-RAG](https://huggingface.co/papers/2310.11511) をサポートします。
59
+ - 2024-05-30 [BCE](https://github.com/netease-youdao/BCEmbedding) 、[BGE](https://github.com/FlagOpen/FlagEmbedding) reranker を統合。
60
+ - 2024-05-23 より良いテキスト検索のために [RAPTOR](https://arxiv.org/html/2401.18059v1) をサポート。
61
+ - 2024-05-15 OpenAI GPT-4oを統合しました。
62
+
63
+ ## 🌟 主な特徴
64
+
65
+ ### 🍭 **"Quality in, quality out"**
66
+
67
+ - 複雑な形式の非構造化データからの[深い文書理解](./deepdoc/README.md)ベースの知識抽出。
68
+ - 無限のトークンから"干し草の山の中の針"を見つける。
69
+
70
+ ### 🍱 **テンプレートベースのチャンク化**
71
+
72
+ - 知的で解釈しやすい。
73
+ - テンプレートオプションが豊富。
74
+
75
+ ### 🌱 **ハルシネーションが軽減された根拠のある引用**
76
+
77
+ - 可視化されたテキストチャンキング(text chunking)で人間の介入を可能にする。
78
+ - 重要な参考文献のクイックビューと、追跡可能な引用によって根拠ある答えをサポートする。
79
+
80
+ ### 🍔 **多様なデータソースとの互換性**
81
+
82
+ - Word、スライド、Excel、txt、画像、スキャンコピー、構造化データ、Web ページなどをサポート。
83
+
84
+ ### 🛀 **自動化された楽な RAG ワークフロー**
85
+
86
+ - 個人から大企業まで対応できる RAG オーケストレーション(orchestration)。
87
+ - カスタマイズ可能な LLM とエンベッディングモデル。
88
+ - 複数の想起と融合された再ランク付け。
89
+ - 直感的な API によってビジネスとの統合がシームレスに。
90
+
91
+ ## 🔎 システム構成
92
+
93
+ <div align="center" style="margin-top:20px;margin-bottom:20px;">
94
+ <img src="https://github.com/infiniflow/ragflow/assets/12318111/d6ac5664-c237-4200-a7c2-a4a00691b485" width="1000"/>
95
+ </div>
96
+
97
+ ## 🎬 初期設定
98
+
99
+ ### 📝 必要条件
100
+
101
+ - CPU >= 4 cores
102
+ - RAM >= 16 GB
103
+ - Disk >= 50 GB
104
+ - Docker >= 24.0.0 & Docker Compose >= v2.26.1
105
+ > ローカルマシン(Windows、Mac、または Linux)に Docker をインストールしていない場合は、[Docker Engine のインストール](https://docs.docker.com/engine/install/) を参照してください。
106
+
107
+ ### 🚀 サーバーを起動
108
+
109
+ 1. `vm.max_map_count` >= 262144 であることを確認する:
110
+
111
+ > `vm.max_map_count` の値をチェックするには:
112
+ >
113
+ > ```bash
114
+ > $ sysctl vm.max_map_count
115
+ > ```
116
+ >
117
+ > `vm.max_map_count` が 262144 より大きい値でなければリセットする。
118
+ >
119
+ > ```bash
120
+ > # In this case, we set it to 262144:
121
+ > $ sudo sysctl -w vm.max_map_count=262144
122
+ > ```
123
+ >
124
+ > この変更はシステム再起動後にリセットされる。変更を��久的なものにするには、**/etc/sysctl.conf** の `vm.max_map_count` 値を適宜追加または更新する:
125
+ >
126
+ > ```bash
127
+ > vm.max_map_count=262144
128
+ > ```
129
+
130
+ 2. リポジトリをクローンする:
131
+
132
+ ```bash
133
+ $ git clone https://github.com/infiniflow/ragflow.git
134
+ ```
135
+
136
+ 3. ビルド済みの Docker イメージをビルドし、サーバーを起動する:
137
+
138
+ ```bash
139
+ $ cd ragflow/docker
140
+ $ chmod +x ./entrypoint.sh
141
+ $ docker compose up -d
142
+ ```
143
+
144
+ > 上記のコマンドを実行すると、RAGFlowの開発版dockerイメージが自動的にダウンロードされます。 特定のバージョンのDockerイメージをダウンロードして実行したい場合は、docker/.envファイルのRAGFLOW_VERSION変数を見つけて、対応するバージョンに変更してください。 例えば、RAGFLOW_VERSION=v0.9.0として、上記のコマンドを実行してください。
145
+
146
+ > コアイメージのサイズは約 9 GB で、ロードに時間がかかる場合があります。
147
+
148
+ 4. サーバーを立ち上げた後、サーバーの状態を確認する:
149
+
150
+ ```bash
151
+ $ docker logs -f ragflow-server
152
+ ```
153
+
154
+ _以下の出力は、システムが正常に起動したことを確認するものです:_
155
+
156
+ ```bash
157
+ ____ ______ __
158
+ / __ \ ____ _ ____ _ / ____// /____ _ __
159
+ / /_/ // __ `// __ `// /_ / // __ \| | /| / /
160
+ / _, _// /_/ // /_/ // __/ / // /_/ /| |/ |/ /
161
+ /_/ |_| \__,_/ \__, //_/ /_/ \____/ |__/|__/
162
+ /____/
163
+
164
+ * Running on all addresses (0.0.0.0)
165
+ * Running on http://127.0.0.1:9380
166
+ * Running on http://x.x.x.x:9380
167
+ INFO:werkzeug:Press CTRL+C to quit
168
+ ```
169
+ > もし確認ステップをスキップして直接 RAGFlow にログインした場合、その時点で RAGFlow が完全に初期化されていない可能性があるため、ブラウザーがネットワーク異常エラーを表示するかもしれません。
170
+
171
+ 5. ウェブブラウザで、プロンプトに従ってサーバーの IP アドレスを入力し、RAGFlow にログインします。
172
+ > デフォルトの設定を使用する場合、デフォルトの HTTP サービングポート `80` は省略できるので、与えられたシナリオでは、`http://IP_OF_YOUR_MACHINE`(ポート番号は省略)だけを入力すればよい。
173
+ 6. [service_conf.yaml](./docker/service_conf.yaml) で、`user_default_llm` で希望の LLM ファクトリを選択し、`API_KEY` フィールドを対応する API キーで更新する。
174
+
175
+ > 詳しくは [llm_api_key_setup](https://ragflow.io/docs/dev/llm_api_key_setup) を参照してください。
176
+
177
+ _これで初期設定完了!ショーの開幕です!_
178
+
179
+ ## 🔧 コンフィグ
180
+
181
+ システムコンフィグに関しては、以下のファイルを管理する必要がある:
182
+
183
+ - [.env](./docker/.env): `SVR_HTTP_PORT`、`MYSQL_PASSWORD`、`MINIO_PASSWORD` などのシステムの基本設定を保持する。
184
+ - [service_conf.yaml](./docker/service_conf.yaml): バックエンドのサービスを設定します。
185
+ - [docker-compose.yml](./docker/docker-compose.yml): システムの起動は [docker-compose.yml](./docker/docker-compose.yml) に依存している。
186
+
187
+ [.env](./docker/.env) ファイルの変更が [service_conf.yaml](./docker/service_conf.yaml) ファイルの内容と一致していることを確認する必要があります。
188
+
189
+ > [./docker/README](./docker/README.md) ファイルは環境設定とサービスコンフィグの詳細な説明を提供し、[./docker/README](./docker/README.md) ファイルに記載されている全ての環境設定が [service_conf.yaml](./docker/service_conf.yaml) ファイルの対応するコンフィグと一致していることを確認することが義務付けられています。
190
+
191
+ デフォルトの HTTP サービングポート(80)を更新するには、[docker-compose.yml](./docker/docker-compose.yml) にアクセスして、`80:80` を `<YOUR_SERVING_PORT>:80` に変更します。
192
+
193
+ > すべてのシステム設定のアップデートを有効にするには、システムの再起動が必要です:
194
+ >
195
+ > ```bash
196
+ > $ docker-compose up -d
197
+ > ```
198
+
199
+ ## 🛠️ ソースからビルドする
200
+
201
+ ソースからDockerイメージをビルドするには:
202
+
203
+ ```bash
204
+ $ git clone https://github.com/infiniflow/ragflow.git
205
+ $ cd ragflow/
206
+ $ docker build -t infiniflow/ragflow:v0.9.0 .
207
+ $ cd ragflow/docker
208
+ $ chmod +x ./entrypoint.sh
209
+ $ docker compose up -d
210
+ ```
211
+
212
+ ## 🛠️ ソースコードからサービスを起動する方法
213
+
214
+ ソースコードからサービスを起動する場合は、以下の手順に従ってください:
215
+
216
+ 1. リポジトリをクローンします
217
+ ```bash
218
+ $ git clone https://github.com/infiniflow/ragflow.git
219
+ $ cd ragflow/
220
+ ```
221
+
222
+ 2. 仮想環境を作成します(AnacondaまたはMinicondaがインストールされていることを確認してください)
223
+ ```bash
224
+ $ conda create -n ragflow python=3.11.0
225
+ $ conda activate ragflow
226
+ $ pip install -r requirements.txt
227
+ ```
228
+ CUDAのバージョンが12.0以上の場合、以下の追加コマンドを実行してください:
229
+ ```bash
230
+ $ pip uninstall -y onnxruntime-gpu
231
+ $ pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/
232
+ ```
233
+
234
+ 3. エントリースクリプトをコピーし、環境変数を設定します
235
+ ```bash
236
+ $ cp docker/entrypoint.sh .
237
+ $ vi entrypoint.sh
238
+ ```
239
+ 以下のコマンドでPythonのパスとragflowプロジェクトのパスを取得します:
240
+ ```bash
241
+ $ which python
242
+ $ pwd
243
+ ```
244
+
245
+ `which python`の出力を`PY`の値として、`pwd`の出力を`PYTHONPATH`の値として設定します。
246
+
247
+ `LD_LIBRARY_PATH`が既に設定されている場合は、コメントアウトできます。
248
+
249
+ ```bash
250
+ # 実際の状況に応じて設定を調整してください。以下の二つのexportは新たに追加された設定です
251
+ PY=${PY}
252
+ export PYTHONPATH=${PYTHONPATH}
253
+ # オプション:Hugging Faceミラーを追加
254
+ export HF_ENDPOINT=https://hf-mirror.com
255
+ ```
256
+
257
+ 4. 基本サービスを起動します
258
+ ```bash
259
+ $ cd docker
260
+ $ docker compose -f docker-compose-base.yml up -d
261
+ ```
262
+
263
+ 5. 設定ファイルを確認します
264
+ **docker/.env**内の設定が**conf/service_conf.yaml**内の設定と一致していることを確認してください。**service_conf.yaml**内の関連サービスのIPアドレスとポートは、ローカルマシンのIPアドレスとコンテナが公開するポートに変更する必要があります。
265
+
266
+ 6. サービスを起動します
267
+ ```bash
268
+ $ chmod +x ./entrypoint.sh
269
+ $ bash ./entrypoint.sh
270
+ ```
271
+
272
+ ## 📚 ドキュメンテーション
273
+
274
+ - [Quickstart](https://ragflow.io/docs/dev/)
275
+ - [User guide](https://ragflow.io/docs/dev/category/user-guides)
276
+ - [References](https://ragflow.io/docs/dev/category/references)
277
+ - [FAQ](https://ragflow.io/docs/dev/faq)
278
+
279
+ ## 📜 ロードマップ
280
+
281
+ [RAGFlow ロードマップ 2024](https://github.com/infiniflow/ragflow/issues/162) を参照
282
+
283
+ ## 🏄 コミュニティ
284
+
285
+ - [Discord](https://discord.gg/4XxujFgUN7)
286
+ - [Twitter](https://twitter.com/infiniflowai)
287
+ - [GitHub Discussions](https://github.com/orgs/infiniflow/discussions)
288
+
289
+ ## 🙌 コントリビュート
290
+
291
+ RAGFlow はオープンソースのコラボレーションによって発展してきました。この精神に基づき、私たちはコミュニティからの多様なコントリビュートを受け入れています。 参加を希望される方は、まず[コントリビューションガイド](./docs/references/CONTRIBUTING.md)をご覧ください。