writinwaters commited on
Commit
e090e58
·
1 Parent(s): 326ea88

Reorganized docs for docusaurus publish (#860)

Browse files

### What problem does this PR solve?

_Briefly describe what this PR aims to solve. Include background context
that will help reviewers understand the purpose of the PR._

### Type of change

- [x] Documentation Update

README.md CHANGED
@@ -34,11 +34,11 @@
34
  - 2024-05-15 Integrates OpenAI GPT-4o.
35
  - 2024-05-08 Integrates LLM DeepSeek-V2.
36
  - 2024-04-26 Adds file management.
37
- - 2024-04-19 Supports conversation API ([detail](./docs/conversation_api.md)).
38
  - 2024-04-16 Integrates an embedding model 'bce-embedding-base_v1' from [BCEmbedding](https://github.com/netease-youdao/BCEmbedding), and [FastEmbed](https://github.com/qdrant/fastembed), which is designed specifically for light and speedy embedding.
39
- - 2024-04-11 Supports [Xinference](./docs/xinference.md) for local LLM deployment.
40
  - 2024-04-10 Adds a new layout recognition model for analyzing legal documents.
41
- - 2024-04-08 Supports [Ollama](./docs/ollama.md) for local LLM deployment.
42
  - 2024-04-07 Supports Chinese UI.
43
 
44
  ## 🌟 Key Features
@@ -87,7 +87,7 @@
87
 
88
  ### 🚀 Start up the server
89
 
90
- 1. Ensure `vm.max_map_count` >= 262144 ([more](./docs/max_map_count.md)):
91
 
92
  > To check the value of `vm.max_map_count`:
93
  >
@@ -154,7 +154,7 @@
154
  > With 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.
155
  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.
156
 
157
- > See [./docs/llm_api_key_setup.md](./docs/llm_api_key_setup.md) for more information.
158
 
159
  _The show is now on!_
160
 
@@ -288,7 +288,7 @@ To launch the service from source:
288
  ## 📚 Documentation
289
 
290
  - [Quickstart](./docs/quickstart.md)
291
- - [FAQ](./docs/faq.md)
292
 
293
  ## 📜 Roadmap
294
 
@@ -301,4 +301,4 @@ See the [RAGFlow Roadmap 2024](https://github.com/infiniflow/ragflow/issues/162)
301
 
302
  ## 🙌 Contributing
303
 
304
- 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/docs/CONTRIBUTING.md) first.
 
34
  - 2024-05-15 Integrates OpenAI GPT-4o.
35
  - 2024-05-08 Integrates LLM DeepSeek-V2.
36
  - 2024-04-26 Adds file management.
37
+ - 2024-04-19 Supports conversation API ([detail](./docs/references/api.md)).
38
  - 2024-04-16 Integrates an embedding model 'bce-embedding-base_v1' from [BCEmbedding](https://github.com/netease-youdao/BCEmbedding), and [FastEmbed](https://github.com/qdrant/fastembed), which is designed specifically for light and speedy embedding.
39
+ - 2024-04-11 Supports [Xinference](./docs/guides/deploy_local_llm.md) for local LLM deployment.
40
  - 2024-04-10 Adds a new layout recognition model for analyzing legal documents.
41
+ - 2024-04-08 Supports [Ollama](./docs/guides/deploy_local_llm.md) for local LLM deployment.
42
  - 2024-04-07 Supports Chinese UI.
43
 
44
  ## 🌟 Key Features
 
87
 
88
  ### 🚀 Start up the server
89
 
90
+ 1. Ensure `vm.max_map_count` >= 262144 ([more](./docs/guides/max_map_count.md)):
91
 
92
  > To check the value of `vm.max_map_count`:
93
  >
 
154
  > With 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.
155
  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.
156
 
157
+ > See [./docs/guides/llm_api_key_setup.md](./docs/guides/llm_api_key_setup.md) for more information.
158
 
159
  _The show is now on!_
160
 
 
288
  ## 📚 Documentation
289
 
290
  - [Quickstart](./docs/quickstart.md)
291
+ - [FAQ](./docs/references/faq.md)
292
 
293
  ## 📜 Roadmap
294
 
 
301
 
302
  ## 🙌 Contributing
303
 
304
+ 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
@@ -34,12 +34,12 @@
34
  - 2024-05-15 OpenAI GPT-4oを統合しました。
35
  - 2024-05-08 LLM DeepSeek-V2を統合しました。
36
  - 2024-04-26 「ファイル管理」機能を追加しました。
37
- - 2024-04-19 会話 API をサポートします ([詳細](./docs/conversation_api.md))。
38
  - 2024-04-16 [BCEmbedding](https://github.com/netease-youdao/BCEmbedding) から埋め込みモデル「bce-embedding-base_v1」を追加します。
39
  - 2024-04-16 [FastEmbed](https://github.com/qdrant/fastembed) は、軽量かつ高速な埋め込み用に設計されています。
40
- - 2024-04-11 ローカル LLM デプロイメント用に [Xinference](./docs/xinference.md) をサポートします。
41
  - 2024-04-10 メソッド「Laws」に新しいレイアウト認識モデルを追加します。
42
- - 2024-04-08 [Ollama](./docs/ollama.md) を使用した大規模モデルのローカライズされたデプロイメントをサポートします。
43
  - 2024-04-07 中国語インターフェースをサポートします。
44
 
45
 
@@ -89,7 +89,7 @@
89
 
90
  ### 🚀 サーバーを起動
91
 
92
- 1. `vm.max_map_count` >= 262144 であることを確認する【[もっと](./docs/max_map_count.md)】:
93
 
94
  > `vm.max_map_count` の値をチェックするには:
95
  >
@@ -155,7 +155,7 @@
155
  > デフォルトの設定を使用する場合、デフォルトの HTTP サービングポート `80` は省略できるので、与えられたシナリオでは、`http://IP_OF_YOUR_MACHINE`(ポート番号は省略)だけを入力すればよい。
156
  6. [service_conf.yaml](./docker/service_conf.yaml) で、`user_default_llm` で希望の LLM ファクトリを選択し、`API_KEY` フィールドを対応する API キーで更新する。
157
 
158
- > 詳しくは [./docs/llm_api_key_setup.md](./docs/llm_api_key_setup.md) を参照してください。
159
 
160
  _これで初期設定完了!ショーの開幕です!_
161
 
@@ -255,7 +255,7 @@ $ bash ./entrypoint.sh
255
  ## 📚 ドキュメンテーション
256
 
257
  - [Quickstart](./docs/quickstart.md)
258
- - [FAQ](./docs/faq.md)
259
 
260
  ## 📜 ロードマップ
261
 
@@ -268,4 +268,4 @@ $ bash ./entrypoint.sh
268
 
269
  ## 🙌 コントリビュート
270
 
271
- RAGFlow はオープンソースのコラボレーションによって発展してきました。この精神に基づき、私たちはコミュニティからの多様なコントリビュートを受け入れています。 参加を希望される方は、まず[コントリビューションガイド](https://github.com/infiniflow/ragflow/blob/main/docs/CONTRIBUTING.md)をご覧ください。
 
34
  - 2024-05-15 OpenAI GPT-4oを統合しました。
35
  - 2024-05-08 LLM DeepSeek-V2を統合しました。
36
  - 2024-04-26 「ファイル管理」機能を追加しました。
37
+ - 2024-04-19 会話 API をサポートします ([詳細](./docs/references/api.md))。
38
  - 2024-04-16 [BCEmbedding](https://github.com/netease-youdao/BCEmbedding) から埋め込みモデル「bce-embedding-base_v1」を追加します。
39
  - 2024-04-16 [FastEmbed](https://github.com/qdrant/fastembed) は、軽量かつ高速な埋め込み用に設計されています。
40
+ - 2024-04-11 ローカル LLM デプロイメント用に [Xinference](./docs/guides/deploy_local_llm.md) をサポートします。
41
  - 2024-04-10 メソッド「Laws」に新しいレイアウト認識モデルを追加します。
42
+ - 2024-04-08 [Ollama](./docs/guides/deploy_local_llm.md) を使用した大規模モデルのローカライズされたデプロイメントをサポートします。
43
  - 2024-04-07 中国語インターフェースをサポートします。
44
 
45
 
 
89
 
90
  ### 🚀 サーバーを起動
91
 
92
+ 1. `vm.max_map_count` >= 262144 であることを確認する【[もっと](./docs/guides/max_map_count.md)】:
93
 
94
  > `vm.max_map_count` の値をチェックするには:
95
  >
 
155
  > デフォルトの設定を使用する場合、デフォルトの HTTP サービングポート `80` は省略できるので、与えられたシナリオでは、`http://IP_OF_YOUR_MACHINE`(ポート番号は省略)だけを入力すればよい。
156
  6. [service_conf.yaml](./docker/service_conf.yaml) で、`user_default_llm` で希望の LLM ファクトリを選択し、`API_KEY` フィールドを対応する API キーで更新する。
157
 
158
+ > 詳しくは [./docs/guides/llm_api_key_setup.md](./docs/guides/llm_api_key_setup.md) を参照してください。
159
 
160
  _これで初期設定完了!ショーの開幕です!_
161
 
 
255
  ## 📚 ドキュメンテーション
256
 
257
  - [Quickstart](./docs/quickstart.md)
258
+ - [FAQ](./docs/references/faq.md)
259
 
260
  ## 📜 ロードマップ
261
 
 
268
 
269
  ## 🙌 コントリビュート
270
 
271
+ RAGFlow はオープンソースのコラボレーションによって発展してきました。この精神に基づき、私たちはコミュニティからの多様なコントリビュートを受け入れています。 参加を希望される方は、まず[コントリビューションガイド](./docs/references/CONTRIBUTING.md)をご覧ください。
README_zh.md CHANGED
@@ -34,11 +34,11 @@
34
  - 2024-05-15 集成大模型 OpenAI GPT-4o。
35
  - 2024-05-08 集成大模型 DeepSeek。
36
  - 2024-04-26 增添了'文件管理'功能。
37
- - 2024-04-19 支持对话 API ([更多](./docs/conversation_api.md))。
38
  - 2024-04-16 集成嵌入模型 [BCEmbedding](https://github.com/netease-youdao/BCEmbedding) 和 专为轻型和高速嵌入而设计的 [FastEmbed](https://github.com/qdrant/fastembed)。
39
- - 2024-04-11 支持用 [Xinference](./docs/xinference.md) 本地化部署大模型。
40
  - 2024-04-10 为‘Laws’版面分析增加了底层模型。
41
- - 2024-04-08 支持用 [Ollama](./docs/ollama.md) 本地化部署大模型。
42
  - 2024-04-07 支持中文界面。
43
 
44
  ## 🌟 主要功能
@@ -87,7 +87,7 @@
87
 
88
  ### 🚀 启动服务器
89
 
90
- 1. 确保 `vm.max_map_count` 不小于 262144 【[更多](./docs/max_map_count.md)】:
91
 
92
  > 如需确认 `vm.max_map_count` 的大小:
93
  >
@@ -153,7 +153,7 @@
153
  > 上面这个例子中,您只需输入 http://IP_OF_YOUR_MACHINE 即可:未改动过配置则无需输入端口(默认的 HTTP 服务端口 80)。
154
  6. 在 [service_conf.yaml](./docker/service_conf.yaml) 文件的 `user_default_llm` 栏配置 LLM factory,并在 `API_KEY` 栏填写和你选择的大模型相对应的 API key。
155
 
156
- > 详见 [./docs/llm_api_key_setup.md](./docs/llm_api_key_setup.md)。
157
 
158
  _好戏开始,接着奏乐接着舞!_
159
 
@@ -274,7 +274,7 @@ $ systemctl start nginx
274
  ## 📚 技术文档
275
 
276
  - [Quickstart](./docs/quickstart.md)
277
- - [FAQ](./docs/faq.md)
278
 
279
  ## 📜 路线图
280
 
@@ -287,7 +287,7 @@ $ systemctl start nginx
287
 
288
  ## 🙌 贡献指南
289
 
290
- RAGFlow 只有通过开源协作才能蓬勃发展。秉持这一精神,我们欢迎来自社区的各种贡献。如果您有意参与其中,请查阅我们的[贡献者指南](https://github.com/infiniflow/ragflow/blob/main/docs/CONTRIBUTING.md) 。
291
 
292
  ## 👥 加入社区
293
 
 
34
  - 2024-05-15 集成大模型 OpenAI GPT-4o。
35
  - 2024-05-08 集成大模型 DeepSeek。
36
  - 2024-04-26 增添了'文件管理'功能。
37
+ - 2024-04-19 支持对话 API ([更多](./docs/references/api.md))。
38
  - 2024-04-16 集成嵌入模型 [BCEmbedding](https://github.com/netease-youdao/BCEmbedding) 和 专为轻型和高速嵌入而设计的 [FastEmbed](https://github.com/qdrant/fastembed)。
39
+ - 2024-04-11 支持用 [Xinference](./docs/guides/deploy_local_llm.md) 本地化部署大模型。
40
  - 2024-04-10 为‘Laws’版面分析增加了底层模型。
41
+ - 2024-04-08 支持用 [Ollama](./docs/guides/deploy_local_llm.md) 本地化部署大模型。
42
  - 2024-04-07 支持中文界面。
43
 
44
  ## 🌟 主要功能
 
87
 
88
  ### 🚀 启动服务器
89
 
90
+ 1. 确保 `vm.max_map_count` 不小于 262144 【[更多](./docs/guides/max_map_count.md)】:
91
 
92
  > 如需确认 `vm.max_map_count` 的大小:
93
  >
 
153
  > 上面这个例子中,您只需输入 http://IP_OF_YOUR_MACHINE 即可:未改动过配置则无需输入端口(默认的 HTTP 服务端口 80)。
154
  6. 在 [service_conf.yaml](./docker/service_conf.yaml) 文件的 `user_default_llm` 栏配置 LLM factory,并在 `API_KEY` 栏填写和你选择的大模型相对应的 API key。
155
 
156
+ > 详见 [./docs/guides/llm_api_key_setup.md](./docs/guides/llm_api_key_setup.md)。
157
 
158
  _好戏开始,接着奏乐接着舞!_
159
 
 
274
  ## 📚 技术文档
275
 
276
  - [Quickstart](./docs/quickstart.md)
277
+ - [FAQ](./docs/references/faq.md)
278
 
279
  ## 📜 路线图
280
 
 
287
 
288
  ## 🙌 贡献指南
289
 
290
+ RAGFlow 只有通过开源协作才能蓬勃发展。秉持这一精神,我们欢迎来自社区的各种贡献。如果您有意参与其中,请查阅我们的[贡献者指南](./docs/references/CONTRIBUTING.md) 。
291
 
292
  ## 👥 加入社区
293
 
docs/_category_.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "label": "Get Started",
3
+ "position": 1,
4
+ "link": {
5
+ "type": "generated-index",
6
+ "description": "RAGFlow Quick Start"
7
+ }
8
+ }
docs/guides/_category_.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "label": "User Guides",
3
+ "position": 2,
4
+ "link": {
5
+ "type": "generated-index",
6
+ "description": "RAGFlow User Guides"
7
+ }
8
+ }
docs/{configure_knowledge_base.md → guides/configure_knowledge_base.md} RENAMED
@@ -1,3 +1,8 @@
 
 
 
 
 
1
  # Configure a knowledge base
2
 
3
  Knowledge base, hallucination-free chat, and file management are three pillars of RAGFlow. RAGFlow's AI chats are based on knowledge bases. Each of RAGFlow's knowledge bases serves as a knowledge source, *parsing* files uploaded from your local machine and file references generated in **File Management** into the real 'knowledge' for future AI chats. This guide demonstrates some basic usages of the knowledge base feature, covering the following topics:
@@ -118,7 +123,7 @@ RAGFlow uses multiple recall of both full-text search and vector search in its c
118
 
119
  ## Search for knowledge base
120
 
121
- As of RAGFlow v0.5.0, the search feature is still in a rudimentary form, supporting only knowledge base search by name.
122
 
123
  ![search knowledge base](https://github.com/infiniflow/ragflow/assets/93570324/836ae94c-2438-42be-879e-c7ad2a59693e)
124
 
 
1
+ ---
2
+ sidebar_position: 1
3
+ slug: /configure_knowledge_base
4
+ ---
5
+
6
  # Configure a knowledge base
7
 
8
  Knowledge base, hallucination-free chat, and file management are three pillars of RAGFlow. RAGFlow's AI chats are based on knowledge bases. Each of RAGFlow's knowledge bases serves as a knowledge source, *parsing* files uploaded from your local machine and file references generated in **File Management** into the real 'knowledge' for future AI chats. This guide demonstrates some basic usages of the knowledge base feature, covering the following topics:
 
123
 
124
  ## Search for knowledge base
125
 
126
+ As of RAGFlow v0.6.0, the search feature is still in a rudimentary form, supporting only knowledge base search by name.
127
 
128
  ![search knowledge base](https://github.com/infiniflow/ragflow/assets/93570324/836ae94c-2438-42be-879e-c7ad2a59693e)
129
 
docs/{xinference.md → guides/deploy_local_llm.md} RENAMED
@@ -1,43 +1,75 @@
1
- # Xinference
2
-
3
- <div align="center" style="margin-top:20px;margin-bottom:20px;">
4
- <img src="https://github.com/infiniflow/ragflow/assets/12318111/2c5e86a7-807b-4d29-bd2b-f73fb1018866" width="130"/>
5
- </div>
6
-
7
- Xorbits Inference([Xinference](https://github.com/xorbitsai/inference)) empowers you to unleash the full potential of cutting-edge AI models.
8
-
9
- ## Install
10
-
11
- - [pip install "xinference[all]"](https://inference.readthedocs.io/en/latest/getting_started/installation.html)
12
- - [Docker](https://inference.readthedocs.io/en/latest/getting_started/using_docker_image.html)
13
-
14
- To start a local instance of Xinference, run the following command:
15
- ```bash
16
- $ xinference-local --host 0.0.0.0 --port 9997
17
- ```
18
- ## Launch Xinference
19
-
20
- Decide which LLM you want to deploy ([here's a list for supported LLM](https://inference.readthedocs.io/en/latest/models/builtin/)), say, **mistral**.
21
- Execute the following command to launch the model, remember to replace ${quantization} with your chosen quantization method from the options listed above:
22
- ```bash
23
- $ xinference launch -u mistral --model-name mistral-v0.1 --size-in-billions 7 --model-format pytorch --quantization ${quantization}
24
- ```
25
-
26
- ## Use Xinference in RAGFlow
27
-
28
- - Go to 'Settings > Model Providers > Models to be added > Xinference'.
29
-
30
- <div align="center" style="margin-top:20px;margin-bottom:20px;">
31
- <img src="https://github.com/infiniflow/ragflow/assets/12318111/bcbf4d7a-ade6-44c7-ad5f-0a92c8a73789" width="1300"/>
32
- </div>
33
-
34
- > Base URL: Enter the base URL where the Xinference service is accessible, like, `http://<your-xinference-endpoint-domain>:9997/v1`.
35
-
36
- - Use Xinference Models.
37
-
38
- <div align="center" style="margin-top:20px;margin-bottom:20px;">
39
- <img src="https://github.com/infiniflow/ragflow/assets/12318111/b01fcb6f-47c9-4777-82e0-f1e947ed615a" width="530"/>
40
- </div>
41
- <div align="center" style="margin-top:20px;margin-bottom:20px;">
42
- <img src="https://github.com/infiniflow/ragflow/assets/12318111/1763dcd1-044f-438d-badd-9729f5b3a144" width="530"/>
43
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ sidebar_position: 5
3
+ slug: /deploy_local_llm
4
+ ---
5
+
6
+ # Deploy a local LLM
7
+
8
+ RAGFlow supports deploying LLMs locally using Ollama or Xinference.
9
+
10
+ ## Ollama
11
+
12
+ One-click deployment of local LLMs, that is [Ollama](https://github.com/ollama/ollama).
13
+
14
+ ### Install
15
+
16
+ - [Ollama on Linux](https://github.com/ollama/ollama/blob/main/docs/linux.md)
17
+ - [Ollama Windows Preview](https://github.com/ollama/ollama/blob/main/docs/windows.md)
18
+ - [Docker](https://hub.docker.com/r/ollama/ollama)
19
+
20
+ ### Launch Ollama
21
+
22
+ Decide which LLM you want to deploy ([here's a list for supported LLM](https://ollama.com/library)), say, **mistral**:
23
+ ```bash
24
+ $ ollama run mistral
25
+ ```
26
+ Or,
27
+ ```bash
28
+ $ docker exec -it ollama ollama run mistral
29
+ ```
30
+
31
+ ### Use Ollama in RAGFlow
32
+
33
+ - Go to 'Settings > Model Providers > Models to be added > Ollama'.
34
+
35
+ ![](https://github.com/infiniflow/ragflow/assets/12318111/a9df198a-226d-4f30-b8d7-829f00256d46)
36
+
37
+ > Base URL: Enter the base URL where the Ollama service is accessible, like, `http://<your-ollama-endpoint-domain>:11434`.
38
+
39
+ - Use Ollama Models.
40
+
41
+ ![](https://github.com/infiniflow/ragflow/assets/12318111/60ff384e-5013-41ff-a573-9a543d237fd3)
42
+
43
+ ## Xinference
44
+
45
+ Xorbits Inference([Xinference](https://github.com/xorbitsai/inference)) empowers you to unleash the full potential of cutting-edge AI models.
46
+
47
+ ### Install
48
+
49
+ - [pip install "xinference[all]"](https://inference.readthedocs.io/en/latest/getting_started/installation.html)
50
+ - [Docker](https://inference.readthedocs.io/en/latest/getting_started/using_docker_image.html)
51
+
52
+ To start a local instance of Xinference, run the following command:
53
+ ```bash
54
+ $ xinference-local --host 0.0.0.0 --port 9997
55
+ ```
56
+ ### Launch Xinference
57
+
58
+ Decide which LLM you want to deploy ([here's a list for supported LLM](https://inference.readthedocs.io/en/latest/models/builtin/)), say, **mistral**.
59
+ Execute the following command to launch the model, remember to replace ${quantization} with your chosen quantization method from the options listed above:
60
+ ```bash
61
+ $ xinference launch -u mistral --model-name mistral-v0.1 --size-in-billions 7 --model-format pytorch --quantization ${quantization}
62
+ ```
63
+
64
+ ### Use Xinference in RAGFlow
65
+
66
+ - Go to 'Settings > Model Providers > Models to be added > Xinference'.
67
+
68
+ ![](https://github.com/infiniflow/ragflow/assets/12318111/bcbf4d7a-ade6-44c7-ad5f-0a92c8a73789)
69
+
70
+ > Base URL: Enter the base URL where the Xinference service is accessible, like, `http://<your-xinference-endpoint-domain>:9997/v1`.
71
+
72
+ - Use Xinference Models.
73
+
74
+ ![](https://github.com/infiniflow/ragflow/assets/12318111/b01fcb6f-47c9-4777-82e0-f1e947ed615a)
75
+ ![](https://github.com/infiniflow/ragflow/assets/12318111/1763dcd1-044f-438d-badd-9729f5b3a144)
docs/{llm_api_key_setup.md → guides/llm_api_key_setup.md} RENAMED
@@ -1,19 +1,25 @@
1
-
2
- ## Set Before Starting The System
3
-
4
- In **user_default_llm** of [service_conf.yaml](./docker/service_conf.yaml), you need to specify LLM factory and your own _API_KEY_.
5
- RagFlow supports the flowing LLM factory, and with more coming in the pipeline:
6
-
7
- > [OpenAI](https://platform.openai.com/login?launch), [Tongyi-Qianwen](https://dashscope.console.aliyun.com/model),
8
- > [ZHIPU-AI](https://open.bigmodel.cn/), [Moonshot](https://platform.moonshot.cn/docs)
9
-
10
- After sign in these LLM suppliers, create your own API-Key, they all have a certain amount of free quota.
11
-
12
- ## After Starting The System
13
-
14
- You can also set API-Key in **User Setting** as following:
15
-
16
- <div align="center" style="margin-top:20px;margin-bottom:20px;">
17
- <img src="https://github.com/infiniflow/ragflow/assets/12318111/e4e4066c-e964-45ff-bd56-c3fc7fb18bd3" width="1000"/>
18
- </div>
19
-
 
 
 
 
 
 
 
1
+ ---
2
+ sidebar_position: 4
3
+ slug: /llm_api_key_setup
4
+ ---
5
+
6
+ # Set your LLM API key
7
+
8
+ You have two ways to input your LLM API key.
9
+
10
+ ## Before Starting The System
11
+
12
+ In **user_default_llm** of [service_conf.yaml](./docker/service_conf.yaml), you need to specify LLM factory and your own _API_KEY_.
13
+ RagFlow supports the flowing LLM factory, and with more coming in the pipeline:
14
+
15
+ > [OpenAI](https://platform.openai.com/login?launch), [Tongyi-Qianwen](https://dashscope.console.aliyun.com/model),
16
+ > [ZHIPU-AI](https://open.bigmodel.cn/), [Moonshot](https://platform.moonshot.cn/docs)
17
+
18
+ After sign in these LLM suppliers, create your own API-Key, they all have a certain amount of free quota.
19
+
20
+ ## After Starting The System
21
+
22
+ You can also set API-Key in **User Setting** as following:
23
+
24
+ ![](https://github.com/infiniflow/ragflow/assets/12318111/e4e4066c-e964-45ff-bd56-c3fc7fb18bd3)
25
+
docs/{manage_files.md → guides/manage_files.md} RENAMED
@@ -1,3 +1,8 @@
 
 
 
 
 
1
  # Manage files
2
 
3
  Knowledge base, hallucination-free chat, and file management are three pillars of RAGFlow. RAGFlow's file management allows you to upload files individually or in bulk. You can then link an uploaded file to multiple target knowledge bases. This guide showcases some basic usages of the file management feature.
@@ -40,11 +45,11 @@ You can link your file to one knowledge base or multiple knowledge bases at one
40
 
41
  ## Move file to specified folder
42
 
43
- As of RAGFlow v0.5.0, this feature is *not* available.
44
 
45
  ## Search files or folders
46
 
47
- As of RAGFlow v0.5.0, the search feature is still in a rudimentary form, supporting only file and folder search in the current directory by name (files or folders in the child directory will not be retrieved).
48
 
49
  ![search file](https://github.com/infiniflow/ragflow/assets/93570324/77ffc2e5-bd80-4ed1-841f-068e664efffe)
50
 
@@ -76,4 +81,4 @@ RAGFlow's file management allows you to download an uploaded file:
76
 
77
  ![download_file](https://github.com/infiniflow/ragflow/assets/93570324/cf3b297f-7d9b-4522-bf5f-4f45743e4ed5)
78
 
79
- > As of RAGFlow v0.5.0, bulk download is not supported, nor can you download an entire folder.
 
1
+ ---
2
+ sidebar_position: 3
3
+ slug: /manage_files
4
+ ---
5
+
6
  # Manage files
7
 
8
  Knowledge base, hallucination-free chat, and file management are three pillars of RAGFlow. RAGFlow's file management allows you to upload files individually or in bulk. You can then link an uploaded file to multiple target knowledge bases. This guide showcases some basic usages of the file management feature.
 
45
 
46
  ## Move file to specified folder
47
 
48
+ As of RAGFlow v0.6.0, this feature is *not* available.
49
 
50
  ## Search files or folders
51
 
52
+ As of RAGFlow v0.6.0, the search feature is still in a rudimentary form, supporting only file and folder search in the current directory by name (files or folders in the child directory will not be retrieved).
53
 
54
  ![search file](https://github.com/infiniflow/ragflow/assets/93570324/77ffc2e5-bd80-4ed1-841f-068e664efffe)
55
 
 
81
 
82
  ![download_file](https://github.com/infiniflow/ragflow/assets/93570324/cf3b297f-7d9b-4522-bf5f-4f45743e4ed5)
83
 
84
+ > As of RAGFlow v0.6.0, bulk download is not supported, nor can you download an entire folder.
docs/{max_map_count.md → guides/max_map_count.md} RENAMED
@@ -1,66 +1,71 @@
1
- # Set vm.max_map_count to at least 262144
2
-
3
- ## Linux
4
-
5
- To check the value of `vm.max_map_count`:
6
-
7
- ```bash
8
- $ sysctl vm.max_map_count
9
- ```
10
-
11
- Reset `vm.max_map_count` to a value at least 262144 if it is not.
12
-
13
- ```bash
14
- # In this case, we set it to 262144:
15
- $ sudo sysctl -w vm.max_map_count=262144
16
- ```
17
-
18
- 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:
19
-
20
- ```bash
21
- vm.max_map_count=262144
22
- ```
23
-
24
- ## Mac
25
-
26
- ```bash
27
- $ screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
28
- $ sysctl -w vm.max_map_count=262144
29
- ```
30
- To exit the screen session, type Ctrl a d.
31
-
32
- ## Windows and macOS with Docker Desktop
33
-
34
- The vm.max_map_count setting must be set via docker-machine:
35
-
36
- ```bash
37
- $ docker-machine ssh
38
- $ sudo sysctl -w vm.max_map_count=262144
39
- ```
40
-
41
- ## Windows with Docker Desktop WSL 2 backend
42
-
43
- To manually set it every time you reboot, you must run the following commands in a command prompt or PowerShell window every time you restart Docker:
44
-
45
- ```bash
46
- $ wsl -d docker-desktop -u root
47
- $ sysctl -w vm.max_map_count=262144
48
- ```
49
- If you are on these versions of WSL and you do not want to have to run those commands every time you restart Docker, you can globally change every WSL distribution with this setting by modifying your %USERPROFILE%\.wslconfig as follows:
50
-
51
- ```bash
52
- [wsl2]
53
- kernelCommandLine = "sysctl.vm.max_map_count=262144"
54
- ```
55
- This will cause all WSL2 VMs to have that setting assigned when they start.
56
-
57
- If you are on Windows 11, or Windows 10 version 22H2 and have installed the Microsoft Store version of WSL, you can modify the /etc/sysctl.conf within the "docker-desktop" WSL distribution, perhaps with commands like this:
58
-
59
- ```bash
60
- $ wsl -d docker-desktop -u root
61
- $ vi /etc/sysctl.conf
62
- ```
63
- and appending a line which reads:
64
- ```bash
65
- vm.max_map_count = 262144
 
 
 
 
 
66
  ```
 
1
+ ---
2
+ sidebar_position: 7
3
+ slug: /max_map_count
4
+ ---
5
+
6
+ # Update vm.max_map_count
7
+
8
+ ## Linux
9
+
10
+ To check the value of `vm.max_map_count`:
11
+
12
+ ```bash
13
+ $ sysctl vm.max_map_count
14
+ ```
15
+
16
+ Reset `vm.max_map_count` to a value at least 262144 if it is not.
17
+
18
+ ```bash
19
+ # In this case, we set it to 262144:
20
+ $ sudo sysctl -w vm.max_map_count=262144
21
+ ```
22
+
23
+ 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:
24
+
25
+ ```bash
26
+ vm.max_map_count=262144
27
+ ```
28
+
29
+ ## Mac
30
+
31
+ ```bash
32
+ $ screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
33
+ $ sysctl -w vm.max_map_count=262144
34
+ ```
35
+ To exit the screen session, type Ctrl a d.
36
+
37
+ ## Windows and macOS with Docker Desktop
38
+
39
+ The vm.max_map_count setting must be set via docker-machine:
40
+
41
+ ```bash
42
+ $ docker-machine ssh
43
+ $ sudo sysctl -w vm.max_map_count=262144
44
+ ```
45
+
46
+ ## Windows with Docker Desktop WSL 2 backend
47
+
48
+ To manually set it every time you reboot, you must run the following commands in a command prompt or PowerShell window every time you restart Docker:
49
+
50
+ ```bash
51
+ $ wsl -d docker-desktop -u root
52
+ $ sysctl -w vm.max_map_count=262144
53
+ ```
54
+ If you are on these versions of WSL and you do not want to have to run those commands every time you restart Docker, you can globally change every WSL distribution with this setting by modifying your %USERPROFILE%\.wslconfig as follows:
55
+
56
+ ```bash
57
+ [wsl2]
58
+ kernelCommandLine = "sysctl.vm.max_map_count=262144"
59
+ ```
60
+ This will cause all WSL2 VMs to have that setting assigned when they start.
61
+
62
+ If you are on Windows 11, or Windows 10 version 22H2 and have installed the Microsoft Store version of WSL, you can modify the /etc/sysctl.conf within the "docker-desktop" WSL distribution, perhaps with commands like this:
63
+
64
+ ```bash
65
+ $ wsl -d docker-desktop -u root
66
+ $ vi /etc/sysctl.conf
67
+ ```
68
+ and appending a line which reads:
69
+ ```bash
70
+ vm.max_map_count = 262144
71
  ```
docs/{start_chat.md → guides/start_chat.md} RENAMED
@@ -1,3 +1,8 @@
 
 
 
 
 
1
  # Start an AI chat
2
 
3
  Knowledge base, hallucination-free chat, and file management are three pillars of RAGFlow. Chats in RAGFlow are based on a particular knowledge base or multiple knowledge bases. Once you have created your knowledge base and finished file parsing, you can go ahead and start an AI conversation.
 
1
+ ---
2
+ sidebar_position: 2
3
+ slug: /start_chat
4
+ ---
5
+
6
  # Start an AI chat
7
 
8
  Knowledge base, hallucination-free chat, and file management are three pillars of RAGFlow. Chats in RAGFlow are based on a particular knowledge base or multiple knowledge bases. Once you have created your knowledge base and finished file parsing, you can go ahead and start an AI conversation.
docs/ollama.md DELETED
@@ -1,40 +0,0 @@
1
- # Ollama
2
-
3
- <div align="center" style="margin-top:20px;margin-bottom:20px;">
4
- <img src="https://github.com/infiniflow/ragflow/assets/12318111/2019e7ee-1e8a-412e-9349-11bbf702e549" width="130"/>
5
- </div>
6
-
7
- One-click deployment of local LLMs, that is [Ollama](https://github.com/ollama/ollama).
8
-
9
- ## Install
10
-
11
- - [Ollama on Linux](https://github.com/ollama/ollama/blob/main/docs/linux.md)
12
- - [Ollama Windows Preview](https://github.com/ollama/ollama/blob/main/docs/windows.md)
13
- - [Docker](https://hub.docker.com/r/ollama/ollama)
14
-
15
- ## Launch Ollama
16
-
17
- Decide which LLM you want to deploy ([here's a list for supported LLM](https://ollama.com/library)), say, **mistral**:
18
- ```bash
19
- $ ollama run mistral
20
- ```
21
- Or,
22
- ```bash
23
- $ docker exec -it ollama ollama run mistral
24
- ```
25
-
26
- ## Use Ollama in RAGFlow
27
-
28
- - Go to 'Settings > Model Providers > Models to be added > Ollama'.
29
-
30
- <div align="center" style="margin-top:20px;margin-bottom:20px;">
31
- <img src="https://github.com/infiniflow/ragflow/assets/12318111/a9df198a-226d-4f30-b8d7-829f00256d46" width="1300"/>
32
- </div>
33
-
34
- > Base URL: Enter the base URL where the Ollama service is accessible, like, `http://<your-ollama-endpoint-domain>:11434`.
35
-
36
- - Use Ollama Models.
37
-
38
- <div align="center" style="margin-top:20px;margin-bottom:20px;">
39
- <img src="https://github.com/infiniflow/ragflow/assets/12318111/60ff384e-5013-41ff-a573-9a543d237fd3" width="530"/>
40
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
docs/quickstart.md CHANGED
@@ -1,4 +1,9 @@
1
- # Quickstart
 
 
 
 
 
2
 
3
  RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine based on deep document understanding. When integrated with LLMs, it is capable of providing truthful question-answering capabilities, backed by well-founded citations from various complex formatted data.
4
 
@@ -20,7 +25,7 @@ This quick start guide describes a general process from:
20
 
21
  ## Start up the server
22
 
23
- 1. Ensure `vm.max_map_count` >= 262144 ([more](./docs/max_map_count.md)):
24
 
25
  > To check the value of `vm.max_map_count`:
26
  >
 
1
+ ---
2
+ sidebar_position: 1
3
+ slug: /
4
+ ---
5
+
6
+ # Quick start
7
 
8
  RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine based on deep document understanding. When integrated with LLMs, it is capable of providing truthful question-answering capabilities, backed by well-founded citations from various complex formatted data.
9
 
 
25
 
26
  ## Start up the server
27
 
28
+ 1. Ensure `vm.max_map_count` >= 262144:
29
 
30
  > To check the value of `vm.max_map_count`:
31
  >
docs/{CONTRIBUTING.md → references/CONTRIBUTING.md} RENAMED
@@ -1,52 +1,52 @@
1
- ---
2
- sidebar_position: 0
3
- slug: /contribution_guidelines
4
- ---
5
-
6
- # Contribution Guidelines
7
-
8
- Thanks for wanting to contribute to RAGFlow. This document offers guidlines and major considerations for submitting your contributions.
9
-
10
- - To report a bug, file a [GitHub issue](https://github.com/infiniflow/ragflow/issues/new/choose) with us.
11
- - For further questions, you can explore existing discussions or initiate a new one in [Discussions](https://github.com/orgs/infiniflow/discussions).
12
-
13
-
14
- ## What you can contribute
15
-
16
- The list below mentions some contributions you can make, but it is not a complete list.
17
-
18
- - Proposing or implementing new features
19
- - Fixing a bug
20
- - Adding test cases or demos
21
- - Posting a blog or tutorial
22
- - Updates to existing documents, codes, or annotations.
23
- - Suggesting more user-friendly error codes
24
-
25
- ## File a pull request (PR)
26
-
27
- ### General workflow
28
-
29
- 1. Fork our GitHub repository.
30
- 2. Clone your fork to your local machine:
31
- `git clone [email protected]:<yourname>/ragflow.git`
32
- 3. Create a local branch:
33
- `git checkout -b my-branch`
34
- 4. Provide sufficient information in your commit message
35
- `git commit -m 'Provide sufficient info in your commit message'`
36
- 5. Commit changes to your local branch, and push to GitHub: (include necessary commit message)
37
- `git push origin my-branch.`
38
- 6. Submit a pull request for review.
39
-
40
- ### Before filing a PR
41
-
42
- - Consider splitting a large PR into multiple smaller, standalone PRs to keep a traceable development history.
43
- - Ensure that your PR addresses just one issue, or keep any unrelated changes small.
44
- - Add test cases when contributing new features. They demonstrate that your code functions correctly and protect against potential issues from future changes.
45
- ### Describing your PR
46
-
47
- - Ensure that your PR title is concise and clear, providing all the required information.
48
- - Refer to a corresponding GitHub issue in your PR description if applicable.
49
- - Include sufficient design details for *breaking changes* or *API changes* in your description.
50
-
51
- ### Reviewing & merging a PR
52
  - Ensure that your PR passes all Continuous Integration (CI) tests before merging it.
 
1
+ ---
2
+ sidebar_position: 0
3
+ slug: /contribution_guidelines
4
+ ---
5
+
6
+ # Contribution guidelines
7
+
8
+ Thanks for wanting to contribute to RAGFlow. This document offers guidlines and major considerations for submitting your contributions.
9
+
10
+ - To report a bug, file a [GitHub issue](https://github.com/infiniflow/ragflow/issues/new/choose) with us.
11
+ - For further questions, you can explore existing discussions or initiate a new one in [Discussions](https://github.com/orgs/infiniflow/discussions).
12
+
13
+
14
+ ## What you can contribute
15
+
16
+ The list below mentions some contributions you can make, but it is not a complete list.
17
+
18
+ - Proposing or implementing new features
19
+ - Fixing a bug
20
+ - Adding test cases or demos
21
+ - Posting a blog or tutorial
22
+ - Updates to existing documents, codes, or annotations.
23
+ - Suggesting more user-friendly error codes
24
+
25
+ ## File a pull request (PR)
26
+
27
+ ### General workflow
28
+
29
+ 1. Fork our GitHub repository.
30
+ 2. Clone your fork to your local machine:
31
+ `git clone [email protected]:<yourname>/ragflow.git`
32
+ 3. Create a local branch:
33
+ `git checkout -b my-branch`
34
+ 4. Provide sufficient information in your commit message
35
+ `git commit -m 'Provide sufficient info in your commit message'`
36
+ 5. Commit changes to your local branch, and push to GitHub: (include necessary commit message)
37
+ `git push origin my-branch.`
38
+ 6. Submit a pull request for review.
39
+
40
+ ### Before filing a PR
41
+
42
+ - Consider splitting a large PR into multiple smaller, standalone PRs to keep a traceable development history.
43
+ - Ensure that your PR addresses just one issue, or keep any unrelated changes small.
44
+ - Add test cases when contributing new features. They demonstrate that your code functions correctly and protect against potential issues from future changes.
45
+ ### Describing your PR
46
+
47
+ - Ensure that your PR title is concise and clear, providing all the required information.
48
+ - Refer to a corresponding GitHub issue in your PR description if applicable.
49
+ - Include sufficient design details for *breaking changes* or *API changes* in your description.
50
+
51
+ ### Reviewing & merging a PR
52
  - Ensure that your PR passes all Continuous Integration (CI) tests before merging it.
docs/references/_category_.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "label": "References",
3
+ "position": 1,
4
+ "link": {
5
+ "type": "generated-index",
6
+ "description": "RAGFlow References"
7
+ }
8
+ }
docs/{conversation_api.md → references/api.md} RENAMED
@@ -1,403 +1,406 @@
1
- # Conversation API Instruction
2
-
3
- <div align="center" style="margin-top:20px;margin-bottom:20px;">
4
- <img src="https://github.com/infiniflow/ragflow/assets/12318111/df0dcc3d-789a-44f7-89f1-7a5f044ab729" width="830"/>
5
- </div>
6
-
7
- ## Base URL
8
- ```buildoutcfg
9
- https://demo.ragflow.io/v1/
10
- ```
11
-
12
- ## Authorization
13
-
14
- All the APIs are authorized with API-Key. Please keep it safe and private. Don't reveal it in any way from the front-end.
15
- The API-Key should put in the header of request:
16
- ```buildoutcfg
17
- Authorization: Bearer {API_KEY}
18
- ```
19
-
20
- ## Start a conversation
21
-
22
- This should be called whenever there's new user coming to chat.
23
- ### Path: /api/new_conversation
24
- ### Method: GET
25
- ### Parameter:
26
-
27
- | name | type | optional | description|
28
- |------|-------|----|----|
29
- | user_id| string | No | It's for identifying user in order to search and calculate statistics.|
30
-
31
- ### Response
32
- ```json
33
- {
34
- "data": {
35
- "create_date": "Fri, 12 Apr 2024 17:26:21 GMT",
36
- "create_time": 1712913981857,
37
- "dialog_id": "4f0a2e4cb9af11ee9ba20aef05f5e94f",
38
- "duration": 0.0,
39
- "id": "b9b2e098f8ae11ee9f45fa163e197198",
40
- "message": [
41
- {
42
- "content": "Hi, I'm your assistant, can I help you?",
43
- "role": "assistant"
44
- }
45
- ],
46
- "reference": [],
47
- "tokens": 0,
48
- "update_date": "Fri, 12 Apr 2024 17:26:21 GMT",
49
- "update_time": 1712913981857,
50
- "user_id": "kevinhu"
51
- },
52
- "retcode": 0,
53
- "retmsg": "success"
54
- }
55
- ```
56
- > data['id'] in response should be stored and will be used in every round of following conversation.
57
-
58
- ## Get history of a conversation
59
-
60
- ### Path: /api/conversation/\<id\>
61
- ### Method: GET
62
- ### Response
63
- ```json
64
- {
65
- "data": {
66
- "create_date": "Mon, 01 Apr 2024 09:28:42 GMT",
67
- "create_time": 1711934922220,
68
- "dialog_id": "df4a4916d7bd11eeaa650242ac180006",
69
- "id": "2cae30fcefc711ee94140242ac180006",
70
- "message": [
71
- {
72
- "content": "Hi! I'm your assistant, what can I do for you?",
73
- "role": "assistant"
74
- },
75
- {
76
- "content": "What's the vit score for GPT-4?",
77
- "role": "user"
78
- },
79
- {
80
- "content": "The ViT Score for GPT-4 in the zero-shot scenario is 0.5058, and in the few-shot scenario, it is 0.6480. ##0$$",
81
- "role": "assistant"
82
- },
83
- {
84
- "content": "How is the nvlink topology like?",
85
- "role": "user"
86
- },
87
- {
88
- "content": "NVLink topology refers to the arrangement of connections between GPUs using NVIDIA's NVLink technology. Correct NVLink topology for NVIDIA A100 cards involves connecting one GPU to another through a series of NVLink bridges ##0$$. Each of the three attached bridges spans two PCIe slots, and for optimal performance and balanced bridge topology, all three NVLink bridges should be used when connecting two adjacent A100 cards.\n\nHere's a summary of the correct and incorrect topologies:\n\n- **Correct**: Both GPUs are connected via all three NVLink bridges, ensuring full bandwidth and proper communication.\n- **Incorrect**: Not using all three bridges or having an uneven connection configuration would result in suboptimal performance.\n\nIt's also important to note that for multi-CPU systems, both A100 cards in a bridged pair should be within the same CPU domain, unless each CPU has a single A100 PCIe card, in which case they can be bridged together.",
89
- "role": "assistant"
90
- }
91
- ],
92
- "user_id": "user name",
93
- "reference": [
94
- {
95
- "chunks": [
96
- {
97
- "chunk_id": "d0bc7892c3ec4aeac071544fd56730a8",
98
- "content_ltks": "tabl 1:openagi task-solv perform under differ set for three closed-sourc llm . boldfac denot the highest score under each learn schema . metric gpt-3.5-turbo claude-2 gpt-4 zero few zero few zero few clip score 0.0 0.0 0.0 0.2543 0.0 0.3055 bert score 0.1914 0.3820 0.2111 0.5038 0.2076 0.6307 vit score 0.2437 0.7497 0.4082 0.5416 0.5058 0.6480 overal 0.1450 0.3772 0.2064 0.4332 0.2378 0.5281",
99
- "content_with_weight": "<table><caption>Table 1: OpenAGI task-solving performances under different settings for three closed-source LLMs. Boldface denotes the highest score under each learning schema.</caption>\n<tr><th rowspan=2 >Metrics</th><th >GPT-3.5-turbo</th><th></th><th >Claude-2</th><th >GPT-4</th></tr>\n<tr><th >Zero</th><th >Few</th><th >Zero Few</th><th >Zero Few</th></tr>\n<tr><td >CLIP Score</td><td >0.0</td><td >0.0</td><td >0.0 0.2543</td><td >0.0 0.3055</td></tr>\n<tr><td >BERT Score</td><td >0.1914</td><td >0.3820</td><td >0.2111 0.5038</td><td >0.2076 0.6307</td></tr>\n<tr><td >ViT Score</td><td >0.2437</td><td >0.7497</td><td >0.4082 0.5416</td><td >0.5058 0.6480</td></tr>\n<tr><td >Overall</td><td >0.1450</td><td >0.3772</td><td >0.2064 0.4332</td><td >0.2378 0.5281</td></tr>\n</table>",
100
- "doc_id": "c790da40ea8911ee928e0242ac180005",
101
- "docnm_kwd": "OpenAGI When LLM Meets Domain Experts.pdf",
102
- "img_id": "afab9fdad6e511eebdb20242ac180006-d0bc7892c3ec4aeac071544fd56730a8",
103
- "important_kwd": [],
104
- "kb_id": "afab9fdad6e511eebdb20242ac180006",
105
- "positions": [
106
- [
107
- 9.0,
108
- 159.9383341471354,
109
- 472.1773274739583,
110
- 223.58013916015625,
111
- 307.86692301432294
112
- ]
113
- ],
114
- "similarity": 0.7310340654129031,
115
- "term_similarity": 0.7671974387781668,
116
- "vector_similarity": 0.40556370512552886
117
- },
118
- {
119
- "chunk_id": "7e2345d440383b756670e1b0f43a7007",
120
- "content_ltks": "5.5 experiment analysi the main experiment result are tabul in tab . 1 and 2 , showcas the result for closed-sourc and open-sourc llm , respect . the overal perform is calcul a the averag of cllp 8 bert and vit score . here , onli the task descript of the benchmark task are fed into llm(addit inform , such a the input prompt and llm\u2019output , is provid in fig . a.4 and a.5 in supplementari). broadli speak , closed-sourc llm demonstr superior perform on openagi task , with gpt-4 lead the pack under both zero-and few-shot scenario . in the open-sourc categori , llama-2-13b take the lead , consist post top result across variou learn schema--the perform possibl influenc by it larger model size . notabl , open-sourc llm significantli benefit from the tune method , particularli fine-tun and\u2019rltf . these method mark notic enhanc for flan-t5-larg , vicuna-7b , and llama-2-13b when compar with zero-shot and few-shot learn schema . in fact , each of these open-sourc model hit it pinnacl under the rltf approach . conclus , with rltf tune , the perform of llama-2-13b approach that of gpt-3.5 , illustr it potenti .",
121
- "content_with_weight": "5.5 Experimental Analysis\nThe main experimental results are tabulated in Tab. 1 and 2, showcasing the results for closed-source and open-source LLMs, respectively. The overall performance is calculated as the average of CLlP\n8\nBERT and ViT scores. Here, only the task descriptions of the benchmark tasks are fed into LLMs (additional information, such as the input prompt and LLMs\u2019 outputs, is provided in Fig. A.4 and A.5 in supplementary). Broadly speaking, closed-source LLMs demonstrate superior performance on OpenAGI tasks, with GPT-4 leading the pack under both zero- and few-shot scenarios. In the open-source category, LLaMA-2-13B takes the lead, consistently posting top results across various learning schema--the performance possibly influenced by its larger model size. Notably, open-source LLMs significantly benefit from the tuning methods, particularly Fine-tuning and\u2019 RLTF. These methods mark noticeable enhancements for Flan-T5-Large, Vicuna-7B, and LLaMA-2-13B when compared with zero-shot and few-shot learning schema. In fact, each of these open-source models hits its pinnacle under the RLTF approach. Conclusively, with RLTF tuning, the performance of LLaMA-2-13B approaches that of GPT-3.5, illustrating its potential.",
122
- "doc_id": "c790da40ea8911ee928e0242ac180005",
123
- "docnm_kwd": "OpenAGI When LLM Meets Domain Experts.pdf",
124
- "img_id": "afab9fdad6e511eebdb20242ac180006-7e2345d440383b756670e1b0f43a7007",
125
- "important_kwd": [],
126
- "kb_id": "afab9fdad6e511eebdb20242ac180006",
127
- "positions": [
128
- [
129
- 8.0,
130
- 107.3,
131
- 508.90000000000003,
132
- 686.3,
133
- 697.0
134
- ],
135
- ],
136
- "similarity": 0.6691508616357027,
137
- "term_similarity": 0.6999011754270821,
138
- "vector_similarity": 0.39239803751328806
139
- },
140
- ],
141
- "doc_aggs": [
142
- {
143
- "count": 8,
144
- "doc_id": "c790da40ea8911ee928e0242ac180005",
145
- "doc_name": "OpenAGI When LLM Meets Domain Experts.pdf"
146
- }
147
- ],
148
- "total": 8
149
- },
150
- {
151
- "chunks": [
152
- {
153
- "chunk_id": "8c11a1edddb21ad2ae0c43b4a5dcfa62",
154
- "content_ltks": "nvlink bridg support nvidia\u00aenvlink\u00aei a high-spe point-to-point peer transfer connect , where one gpu can transfer data to and receiv data from one other gpu . the nvidia a100 card support nvlink bridg connect with a singl adjac a100 card . each of the three attach bridg span two pcie slot . to function correctli a well a to provid peak bridg bandwidth , bridg connect with an adjac a100 card must incorpor all three nvlink bridg . wherev an adjac pair of a100 card exist in the server , for best bridg perform and balanc bridg topolog , the a100 pair should be bridg . figur 4 illustr correct and incorrect a100 nvlink connect topolog . nvlink topolog\u2013top view figur 4. correct incorrect correct incorrect for system that featur multipl cpu , both a100 card of a bridg card pair should be within the same cpu domain\u2014that is , under the same cpu\u2019s topolog . ensur thi benefit workload applic perform . the onli except is for dual cpu system wherein each cpu ha a singl a100 pcie card under it;in that case , the two a100 pcie card in the system may be bridg togeth . a100 nvlink speed and bandwidth are given in the follow tabl . tabl 5. a100 nvlink speed and bandwidth paramet valu total nvlink bridg support by nvidia a100 3 total nvlink rx and tx lane support 96 data rate per nvidia a100 nvlink lane(each direct)50 gbp total maximum nvlink bandwidth 600 gbyte per second pb-10137-001_v03|8 nvidia a100 40gb pcie gpu acceler",
155
- "content_with_weight": "NVLink Bridge Support\nNVIDIA\u00aeNVLink\u00aeis a high-speed point-to-point peer transfer connection, where one GPU can transfer data to and receive data from one other GPU. The NVIDIA A100 card supports NVLink bridge connection with a single adjacent A100 card.\nEach of the three attached bridges spans two PCIe slots. To function correctly as well as to provide peak bridge bandwidth, bridge connection with an adjacent A100 card must incorporate all three NVLink bridges. Wherever an adjacent pair of A100 cards exists in the server, for best bridging performance and balanced bridge topology, the A100 pair should be bridged. Figure 4 illustrates correct and incorrect A100 NVLink connection topologies.\nNVLink Topology \u2013Top Views \nFigure 4. \nCORRECT \nINCORRECT \nCORRECT \nINCORRECT \nFor systems that feature multiple CPUs, both A100 cards of a bridged card pair should be within the same CPU domain\u2014that is, under the same CPU\u2019s topology. Ensuring this benefits workload application performance. The only exception is for dual CPU systems wherein each CPU has a single A100 PCIe card under it; in that case, the two A100 PCIe cards in the system may be bridged together.\nA100 NVLink speed and bandwidth are given in the following table.\n<table><caption>Table 5. A100 NVLink Speed and Bandwidth </caption>\n<tr><th >Parameter </th><th >Value </th></tr>\n<tr><td >Total NVLink bridges supported by NVIDIA A100 </td><td >3 </td></tr>\n<tr><td >Total NVLink Rx and Tx lanes supported </td><td >96 </td></tr>\n<tr><td >Data rate per NVIDIA A100 NVLink lane (each direction)</td><td >50 Gbps </td></tr>\n<tr><td >Total maximum NVLink bandwidth</td><td >600 Gbytes per second </td></tr>\n</table>\nPB-10137-001_v03 |8\nNVIDIA A100 40GB PCIe GPU Accelerator",
156
- "doc_id": "806d1ed0ea9311ee860a0242ac180005",
157
- "docnm_kwd": "A100-PCIE-Prduct-Brief.pdf",
158
- "img_id": "afab9fdad6e511eebdb20242ac180006-8c11a1edddb21ad2ae0c43b4a5dcfa62",
159
- "important_kwd": [],
160
- "kb_id": "afab9fdad6e511eebdb20242ac180006",
161
- "positions": [
162
- [
163
- 12.0,
164
- 84.0,
165
- 541.3,
166
- 76.7,
167
- 96.7
168
- ],
169
- ],
170
- "similarity": 0.3200748779905588,
171
- "term_similarity": 0.3082244010114718,
172
- "vector_similarity": 0.42672917080234146
173
- },
174
- ],
175
- "doc_aggs": [
176
- {
177
- "count": 1,
178
- "doc_id": "806d1ed0ea9311ee860a0242ac180005",
179
- "doc_name": "A100-PCIE-Prduct-Brief.pdf"
180
- }
181
- ],
182
- "total": 3
183
- }
184
- ],
185
- "update_date": "Tue, 02 Apr 2024 09:07:49 GMT",
186
- "update_time": 1712020069421
187
- },
188
- "retcode": 0,
189
- "retmsg": "success"
190
- }
191
- ```
192
-
193
- - **message**: All the chat history in it.
194
- - role: user or assistant
195
- - content: the text content of user or assistant. The citations are in format like: ##0$$. The number in the middle indicate which part in data.reference.chunks it refers to.
196
-
197
- - **user_id**: This is set by the caller.
198
- - **reference**: Every item in it refer to the corresponding message in data.message whose role is assistant.
199
- - chunks
200
- - content_with_weight: The content of chunk.
201
- - docnm_kwd: the document name.
202
- - img_id: the image id of the chunk. It is an optional field only for PDF/pptx/picture. And accessed by 'GET' /document/get/\<id\>.
203
- - positions: [page_number, [upleft corner(x, y)], [right bottom(x, y)]], the chunk position, only for PDF.
204
- - similarity: the hybrid similarity.
205
- - term_similarity: keyword simimlarity
206
- - vector_similarity: embedding similarity
207
- - doc_aggs:
208
- - doc_id: the document can be accessed by 'GET' /document/get/\<id\>
209
- - doc_name: the file name
210
- - count: the chunk number hit in this document.
211
-
212
- ## Chat
213
-
214
- This will be called to get the answer to users' questions.
215
-
216
- ### Path: /api/completion
217
- ### Method: POST
218
- ### Parameter:
219
-
220
- | name | type | optional | description|
221
- |------|-------|----|----|
222
- | conversation_id| string | No | This is from calling /new_conversation.|
223
- | messages| json | No | The latest question, such as `[{"role": "user", "content": "How are you doing!"}]`|
224
- | quote | bool | Yes | Default: true |
225
- | stream | bool | Yes | Default: true |
226
- | doc_ids | string | Yes | Document IDs which is delimited by comma, like `c790da40ea8911ee928e0242ac180005,c790da40ea8911ee928e0242ac180005`. The retrieved content is limited in these documents. |
227
-
228
- ### Response
229
- ```json
230
- {
231
- "data": {
232
- "answer": "The ViT Score for GPT-4 in the zero-shot scenario is 0.5058, and in the few-shot scenario, it is 0.6480. ##0$$",
233
- "reference": {
234
- "chunks": [
235
- {
236
- "chunk_id": "d0bc7892c3ec4aeac071544fd56730a8",
237
- "content_ltks": "tabl 1:openagi task-solv perform under differ set for three closed-sourc llm . boldfac denot the highest score under each learn schema . metric gpt-3.5-turbo claude-2 gpt-4 zero few zero few zero few clip score 0.0 0.0 0.0 0.2543 0.0 0.3055 bert score 0.1914 0.3820 0.2111 0.5038 0.2076 0.6307 vit score 0.2437 0.7497 0.4082 0.5416 0.5058 0.6480 overal 0.1450 0.3772 0.2064 0.4332 0.2378 0.5281",
238
- "content_with_weight": "<table><caption>Table 1: OpenAGI task-solving performances under different settings for three closed-source LLMs. Boldface denotes the highest score under each learning schema.</caption>\n<tr><th rowspan=2 >Metrics</th><th >GPT-3.5-turbo</th><th></th><th >Claude-2</th><th >GPT-4</th></tr>\n<tr><th >Zero</th><th >Few</th><th >Zero Few</th><th >Zero Few</th></tr>\n<tr><td >CLIP Score</td><td >0.0</td><td >0.0</td><td >0.0 0.2543</td><td >0.0 0.3055</td></tr>\n<tr><td >BERT Score</td><td >0.1914</td><td >0.3820</td><td >0.2111 0.5038</td><td >0.2076 0.6307</td></tr>\n<tr><td >ViT Score</td><td >0.2437</td><td >0.7497</td><td >0.4082 0.5416</td><td >0.5058 0.6480</td></tr>\n<tr><td >Overall</td><td >0.1450</td><td >0.3772</td><td >0.2064 0.4332</td><td >0.2378 0.5281</td></tr>\n</table>",
239
- "doc_id": "c790da40ea8911ee928e0242ac180005",
240
- "docnm_kwd": "OpenAGI When LLM Meets Domain Experts.pdf",
241
- "img_id": "afab9fdad6e511eebdb20242ac180006-d0bc7892c3ec4aeac071544fd56730a8",
242
- "important_kwd": [],
243
- "kb_id": "afab9fdad6e511eebdb20242ac180006",
244
- "positions": [
245
- [
246
- 9.0,
247
- 159.9383341471354,
248
- 472.1773274739583,
249
- 223.58013916015625,
250
- 307.86692301432294
251
- ]
252
- ],
253
- "similarity": 0.7310340654129031,
254
- "term_similarity": 0.7671974387781668,
255
- "vector_similarity": 0.40556370512552886
256
- },
257
- {
258
- "chunk_id": "7e2345d440383b756670e1b0f43a7007",
259
- "content_ltks": "5.5 experiment analysi the main experiment result are tabul in tab . 1 and 2 , showcas the result for closed-sourc and open-sourc llm , respect . the overal perform is calcul a the averag of cllp 8 bert and vit score . here , onli the task descript of the benchmark task are fed into llm(addit inform , such a the input prompt and llm\u2019output , is provid in fig . a.4 and a.5 in supplementari). broadli speak , closed-sourc llm demonstr superior perform on openagi task , with gpt-4 lead the pack under both zero-and few-shot scenario . in the open-sourc categori , llama-2-13b take the lead , consist post top result across variou learn schema--the perform possibl influenc by it larger model size . notabl , open-sourc llm significantli benefit from the tune method , particularli fine-tun and\u2019rltf . these method mark notic enhanc for flan-t5-larg , vicuna-7b , and llama-2-13b when compar with zero-shot and few-shot learn schema . in fact , each of these open-sourc model hit it pinnacl under the rltf approach . conclus , with rltf tune , the perform of llama-2-13b approach that of gpt-3.5 , illustr it potenti .",
260
- "content_with_weight": "5.5 Experimental Analysis\nThe main experimental results are tabulated in Tab. 1 and 2, showcasing the results for closed-source and open-source LLMs, respectively. The overall performance is calculated as the average of CLlP\n8\nBERT and ViT scores. Here, only the task descriptions of the benchmark tasks are fed into LLMs (additional information, such as the input prompt and LLMs\u2019 outputs, is provided in Fig. A.4 and A.5 in supplementary). Broadly speaking, closed-source LLMs demonstrate superior performance on OpenAGI tasks, with GPT-4 leading the pack under both zero- and few-shot scenarios. In the open-source category, LLaMA-2-13B takes the lead, consistently posting top results across various learning schema--the performance possibly influenced by its larger model size. Notably, open-source LLMs significantly benefit from the tuning methods, particularly Fine-tuning and\u2019 RLTF. These methods mark noticeable enhancements for Flan-T5-Large, Vicuna-7B, and LLaMA-2-13B when compared with zero-shot and few-shot learning schema. In fact, each of these open-source models hits its pinnacle under the RLTF approach. Conclusively, with RLTF tuning, the performance of LLaMA-2-13B approaches that of GPT-3.5, illustrating its potential.",
261
- "doc_id": "c790da40ea8911ee928e0242ac180005",
262
- "docnm_kwd": "OpenAGI When LLM Meets Domain Experts.pdf",
263
- "img_id": "afab9fdad6e511eebdb20242ac180006-7e2345d440383b756670e1b0f43a7007",
264
- "important_kwd": [],
265
- "kb_id": "afab9fdad6e511eebdb20242ac180006",
266
- "positions": [
267
- [
268
- 8.0,
269
- 107.3,
270
- 508.90000000000003,
271
- 686.3,
272
- 697.0
273
- ]
274
- ],
275
- "similarity": 0.6691508616357027,
276
- "term_similarity": 0.6999011754270821,
277
- "vector_similarity": 0.39239803751328806
278
- }
279
- ],
280
- "doc_aggs": {
281
- "OpenAGI When LLM Meets Domain Experts.pdf": 4
282
- },
283
- "total": 8
284
- }
285
- },
286
- "retcode": 0,
287
- "retmsg": "success"
288
- }
289
- ```
290
-
291
- - **answer**: The replay of the chat bot.
292
- - **reference**:
293
- - chunks: Every item in it refer to the corresponding message in answer.
294
- - content_with_weight: The content of chunk.
295
- - docnm_kwd: the document name.
296
- - img_id: the image id of the chunk. It is an optional field only for PDF/pptx/picture. And accessed by 'GET' /document/get/\<id\>.
297
- - positions: [page_number, [upleft corner(x, y)], [right bottom(x, y)]], the chunk position, only for PDF.
298
- - similarity: the hybrid similarity.
299
- - term_similarity: keyword simimlarity
300
- - vector_similarity: embedding similarity
301
- - doc_aggs:
302
- - doc_id: the document can be accessed by 'GET' /document/get/\<id\>
303
- - doc_name: the file name
304
- - count: the chunk number hit in this document.
305
-
306
- ## Get document content or image
307
-
308
- This is usually used when display content of citation.
309
- ### Path: /api/document/get/\<id\>
310
- ### Method: GET
311
-
312
- ## Upload file
313
-
314
- This is usually used when upload a file to.
315
- ### Path: /api/document/upload/
316
- ### Method: POST
317
-
318
- ### Parameter:
319
-
320
- | name | type | optional | description |
321
- |-----------|--------|----------|---------------------------------------------------------|
322
- | file | file | No | Upload file. |
323
- | kb_name | string | No | Choose the upload knowledge base name. |
324
- | parser_id | string | Yes | Choose the parsing method. |
325
- | run | string | Yes | Parsing will start automatically when the value is "1". |
326
-
327
- ### Response
328
- ```json
329
- {
330
- "data": {
331
- "chunk_num": 0,
332
- "create_date": "Thu, 25 Apr 2024 14:30:06 GMT",
333
- "create_time": 1714026606921,
334
- "created_by": "553ec818fd5711ee8ea63043d7ed348e",
335
- "id": "41e9324602cd11ef9f5f3043d7ed348e",
336
- "kb_id": "06802686c0a311ee85d6246e9694c130",
337
- "location": "readme.txt",
338
- "name": "readme.txt",
339
- "parser_config": {
340
- "field_map": {
341
- },
342
- "pages": [
343
- [
344
- 0,
345
- 1000000
346
- ]
347
- ]
348
- },
349
- "parser_id": "general",
350
- "process_begin_at": null,
351
- "process_duation": 0.0,
352
- "progress": 0.0,
353
- "progress_msg": "",
354
- "run": "0",
355
- "size": 929,
356
- "source_type": "local",
357
- "status": "1",
358
- "thumbnail": null,
359
- "token_num": 0,
360
- "type": "doc",
361
- "update_date": "Thu, 25 Apr 2024 14:30:06 GMT",
362
- "update_time": 1714026606921
363
- },
364
- "retcode": 0,
365
- "retmsg": "success"
366
- }
367
-
368
- ```
369
-
370
- ## Get document chunks
371
-
372
- Get the chunks of the document based on doc_name or doc_id.
373
- ### Path: /api/list_chunks/
374
- ### Method: POST
375
-
376
- ### Parameter:
377
-
378
- | Name | Type | Optional | Description |
379
- |----------|--------|----------|---------------------------------|
380
- | `doc_name` | string | Yes | The name of the document in the knowledge base. It must not be empty if `doc_id` is not set.|
381
- | `doc_id` | string | Yes | The ID of the document in the knowledge base. It must not be empty if `doc_name` is not set.|
382
-
383
-
384
- ### Response
385
- ```json
386
- {
387
- "data": [
388
- {
389
- "content": "Figure 14: Per-request neural-net processingof RL-Cache.\n103\n(sn)\nCPU\n 102\nGPU\n8101\n100\n8\n16 64 256 1K\n4K",
390
- "doc_name": "RL-Cache.pdf",
391
- "img_id": "0335167613f011ef91240242ac120006-b46c3524952f82dbe061ce9b123f2211"
392
- },
393
- {
394
- "content": "4.3 ProcessingOverheadof RL-CacheACKNOWLEDGMENTSThis section evaluates how e￿ectively our RL-Cache implemen-tation leverages modern multi-core CPUs and GPUs to keep the per-request neural-net processing overhead low. Figure 14 depictsThis researchwas supported inpart by the Regional Government of Madrid (grant P2018/TCS-4499, EdgeData-CM)andU.S. National Science Foundation (grants CNS-1763617 andCNS-1717179).REFERENCES",
395
- "doc_name": "RL-Cache.pdf",
396
- "img_id": "0335167613f011ef91240242ac120006-d4c12c43938eb55d2d8278eea0d7e6d7"
397
- }
398
- ],
399
- "retcode": 0,
400
- "retmsg": "success"
401
- }
402
-
403
- ```
 
 
 
 
1
+ ---
2
+ sidebar_position: 1
3
+ slug: /api
4
+ ---
5
+
6
+ # API reference
7
+
8
+ ![](https://github.com/infiniflow/ragflow/assets/12318111/df0dcc3d-789a-44f7-89f1-7a5f044ab729)
9
+
10
+ ## Base URL
11
+ ```
12
+ https://demo.ragflow.io/v1/
13
+ ```
14
+
15
+ ## Authorization
16
+
17
+ All the APIs are authorized with API-Key. Please keep it safe and private. Don't reveal it in any way from the front-end.
18
+ The API-Key should put in the header of request:
19
+ ```buildoutcfg
20
+ Authorization: Bearer {API_KEY}
21
+ ```
22
+
23
+ ## Start a conversation
24
+
25
+ This should be called whenever there's new user coming to chat.
26
+ ### Path: /api/new_conversation
27
+ ### Method: GET
28
+ ### Parameter:
29
+
30
+ | name | type | optional | description|
31
+ |------|-------|----|----|
32
+ | user_id| string | No | It's for identifying user in order to search and calculate statistics.|
33
+
34
+ ### Response
35
+ ```json
36
+ {
37
+ "data": {
38
+ "create_date": "Fri, 12 Apr 2024 17:26:21 GMT",
39
+ "create_time": 1712913981857,
40
+ "dialog_id": "4f0a2e4cb9af11ee9ba20aef05f5e94f",
41
+ "duration": 0.0,
42
+ "id": "b9b2e098f8ae11ee9f45fa163e197198",
43
+ "message": [
44
+ {
45
+ "content": "Hi, I'm your assistant, can I help you?",
46
+ "role": "assistant"
47
+ }
48
+ ],
49
+ "reference": [],
50
+ "tokens": 0,
51
+ "update_date": "Fri, 12 Apr 2024 17:26:21 GMT",
52
+ "update_time": 1712913981857,
53
+ "user_id": "kevinhu"
54
+ },
55
+ "retcode": 0,
56
+ "retmsg": "success"
57
+ }
58
+ ```
59
+ > data['id'] in response should be stored and will be used in every round of following conversation.
60
+
61
+ ## Get history of a conversation
62
+
63
+ ### Path: /api/conversation/\<id\>
64
+ ### Method: GET
65
+ ### Response
66
+ ```json
67
+ {
68
+ "data": {
69
+ "create_date": "Mon, 01 Apr 2024 09:28:42 GMT",
70
+ "create_time": 1711934922220,
71
+ "dialog_id": "df4a4916d7bd11eeaa650242ac180006",
72
+ "id": "2cae30fcefc711ee94140242ac180006",
73
+ "message": [
74
+ {
75
+ "content": "Hi! I'm your assistant, what can I do for you?",
76
+ "role": "assistant"
77
+ },
78
+ {
79
+ "content": "What's the vit score for GPT-4?",
80
+ "role": "user"
81
+ },
82
+ {
83
+ "content": "The ViT Score for GPT-4 in the zero-shot scenario is 0.5058, and in the few-shot scenario, it is 0.6480. ##0$$",
84
+ "role": "assistant"
85
+ },
86
+ {
87
+ "content": "How is the nvlink topology like?",
88
+ "role": "user"
89
+ },
90
+ {
91
+ "content": "NVLink topology refers to the arrangement of connections between GPUs using NVIDIA's NVLink technology. Correct NVLink topology for NVIDIA A100 cards involves connecting one GPU to another through a series of NVLink bridges ##0$$. Each of the three attached bridges spans two PCIe slots, and for optimal performance and balanced bridge topology, all three NVLink bridges should be used when connecting two adjacent A100 cards.\n\nHere's a summary of the correct and incorrect topologies:\n\n- **Correct**: Both GPUs are connected via all three NVLink bridges, ensuring full bandwidth and proper communication.\n- **Incorrect**: Not using all three bridges or having an uneven connection configuration would result in suboptimal performance.\n\nIt's also important to note that for multi-CPU systems, both A100 cards in a bridged pair should be within the same CPU domain, unless each CPU has a single A100 PCIe card, in which case they can be bridged together.",
92
+ "role": "assistant"
93
+ }
94
+ ],
95
+ "user_id": "user name",
96
+ "reference": [
97
+ {
98
+ "chunks": [
99
+ {
100
+ "chunk_id": "d0bc7892c3ec4aeac071544fd56730a8",
101
+ "content_ltks": "tabl 1:openagi task-solv perform under differ set for three closed-sourc llm . boldfac denot the highest score under each learn schema . metric gpt-3.5-turbo claude-2 gpt-4 zero few zero few zero few clip score 0.0 0.0 0.0 0.2543 0.0 0.3055 bert score 0.1914 0.3820 0.2111 0.5038 0.2076 0.6307 vit score 0.2437 0.7497 0.4082 0.5416 0.5058 0.6480 overal 0.1450 0.3772 0.2064 0.4332 0.2378 0.5281",
102
+ "content_with_weight": "<table><caption>Table 1: OpenAGI task-solving performances under different settings for three closed-source LLMs. Boldface denotes the highest score under each learning schema.</caption>\n<tr><th rowspan=2 >Metrics</th><th >GPT-3.5-turbo</th><th></th><th >Claude-2</th><th >GPT-4</th></tr>\n<tr><th >Zero</th><th >Few</th><th >Zero Few</th><th >Zero Few</th></tr>\n<tr><td >CLIP Score</td><td >0.0</td><td >0.0</td><td >0.0 0.2543</td><td >0.0 0.3055</td></tr>\n<tr><td >BERT Score</td><td >0.1914</td><td >0.3820</td><td >0.2111 0.5038</td><td >0.2076 0.6307</td></tr>\n<tr><td >ViT Score</td><td >0.2437</td><td >0.7497</td><td >0.4082 0.5416</td><td >0.5058 0.6480</td></tr>\n<tr><td >Overall</td><td >0.1450</td><td >0.3772</td><td >0.2064 0.4332</td><td >0.2378 0.5281</td></tr>\n</table>",
103
+ "doc_id": "c790da40ea8911ee928e0242ac180005",
104
+ "docnm_kwd": "OpenAGI When LLM Meets Domain Experts.pdf",
105
+ "img_id": "afab9fdad6e511eebdb20242ac180006-d0bc7892c3ec4aeac071544fd56730a8",
106
+ "important_kwd": [],
107
+ "kb_id": "afab9fdad6e511eebdb20242ac180006",
108
+ "positions": [
109
+ [
110
+ 9.0,
111
+ 159.9383341471354,
112
+ 472.1773274739583,
113
+ 223.58013916015625,
114
+ 307.86692301432294
115
+ ]
116
+ ],
117
+ "similarity": 0.7310340654129031,
118
+ "term_similarity": 0.7671974387781668,
119
+ "vector_similarity": 0.40556370512552886
120
+ },
121
+ {
122
+ "chunk_id": "7e2345d440383b756670e1b0f43a7007",
123
+ "content_ltks": "5.5 experiment analysi the main experiment result are tabul in tab . 1 and 2 , showcas the result for closed-sourc and open-sourc llm , respect . the overal perform is calcul a the averag of cllp 8 bert and vit score . here , onli the task descript of the benchmark task are fed into llm(addit inform , such a the input prompt and llm\u2019output , is provid in fig . a.4 and a.5 in supplementari). broadli speak , closed-sourc llm demonstr superior perform on openagi task , with gpt-4 lead the pack under both zero-and few-shot scenario . in the open-sourc categori , llama-2-13b take the lead , consist post top result across variou learn schema--the perform possibl influenc by it larger model size . notabl , open-sourc llm significantli benefit from the tune method , particularli fine-tun and\u2019rltf . these method mark notic enhanc for flan-t5-larg , vicuna-7b , and llama-2-13b when compar with zero-shot and few-shot learn schema . in fact , each of these open-sourc model hit it pinnacl under the rltf approach . conclus , with rltf tune , the perform of llama-2-13b approach that of gpt-3.5 , illustr it potenti .",
124
+ "content_with_weight": "5.5 Experimental Analysis\nThe main experimental results are tabulated in Tab. 1 and 2, showcasing the results for closed-source and open-source LLMs, respectively. The overall performance is calculated as the average of CLlP\n8\nBERT and ViT scores. Here, only the task descriptions of the benchmark tasks are fed into LLMs (additional information, such as the input prompt and LLMs\u2019 outputs, is provided in Fig. A.4 and A.5 in supplementary). Broadly speaking, closed-source LLMs demonstrate superior performance on OpenAGI tasks, with GPT-4 leading the pack under both zero- and few-shot scenarios. In the open-source category, LLaMA-2-13B takes the lead, consistently posting top results across various learning schema--the performance possibly influenced by its larger model size. Notably, open-source LLMs significantly benefit from the tuning methods, particularly Fine-tuning and\u2019 RLTF. These methods mark noticeable enhancements for Flan-T5-Large, Vicuna-7B, and LLaMA-2-13B when compared with zero-shot and few-shot learning schema. In fact, each of these open-source models hits its pinnacle under the RLTF approach. Conclusively, with RLTF tuning, the performance of LLaMA-2-13B approaches that of GPT-3.5, illustrating its potential.",
125
+ "doc_id": "c790da40ea8911ee928e0242ac180005",
126
+ "docnm_kwd": "OpenAGI When LLM Meets Domain Experts.pdf",
127
+ "img_id": "afab9fdad6e511eebdb20242ac180006-7e2345d440383b756670e1b0f43a7007",
128
+ "important_kwd": [],
129
+ "kb_id": "afab9fdad6e511eebdb20242ac180006",
130
+ "positions": [
131
+ [
132
+ 8.0,
133
+ 107.3,
134
+ 508.90000000000003,
135
+ 686.3,
136
+ 697.0
137
+ ],
138
+ ],
139
+ "similarity": 0.6691508616357027,
140
+ "term_similarity": 0.6999011754270821,
141
+ "vector_similarity": 0.39239803751328806
142
+ },
143
+ ],
144
+ "doc_aggs": [
145
+ {
146
+ "count": 8,
147
+ "doc_id": "c790da40ea8911ee928e0242ac180005",
148
+ "doc_name": "OpenAGI When LLM Meets Domain Experts.pdf"
149
+ }
150
+ ],
151
+ "total": 8
152
+ },
153
+ {
154
+ "chunks": [
155
+ {
156
+ "chunk_id": "8c11a1edddb21ad2ae0c43b4a5dcfa62",
157
+ "content_ltks": "nvlink bridg support nvidia\u00aenvlink\u00aei a high-spe point-to-point peer transfer connect , where one gpu can transfer data to and receiv data from one other gpu . the nvidia a100 card support nvlink bridg connect with a singl adjac a100 card . each of the three attach bridg span two pcie slot . to function correctli a well a to provid peak bridg bandwidth , bridg connect with an adjac a100 card must incorpor all three nvlink bridg . wherev an adjac pair of a100 card exist in the server , for best bridg perform and balanc bridg topolog , the a100 pair should be bridg . figur 4 illustr correct and incorrect a100 nvlink connect topolog . nvlink topolog\u2013top view figur 4. correct incorrect correct incorrect for system that featur multipl cpu , both a100 card of a bridg card pair should be within the same cpu domain\u2014that is , under the same cpu\u2019s topolog . ensur thi benefit workload applic perform . the onli except is for dual cpu system wherein each cpu ha a singl a100 pcie card under it;in that case , the two a100 pcie card in the system may be bridg togeth . a100 nvlink speed and bandwidth are given in the follow tabl . tabl 5. a100 nvlink speed and bandwidth paramet valu total nvlink bridg support by nvidia a100 3 total nvlink rx and tx lane support 96 data rate per nvidia a100 nvlink lane(each direct)50 gbp total maximum nvlink bandwidth 600 gbyte per second pb-10137-001_v03|8 nvidia a100 40gb pcie gpu acceler",
158
+ "content_with_weight": "NVLink Bridge Support\nNVIDIA\u00aeNVLink\u00aeis a high-speed point-to-point peer transfer connection, where one GPU can transfer data to and receive data from one other GPU. The NVIDIA A100 card supports NVLink bridge connection with a single adjacent A100 card.\nEach of the three attached bridges spans two PCIe slots. To function correctly as well as to provide peak bridge bandwidth, bridge connection with an adjacent A100 card must incorporate all three NVLink bridges. Wherever an adjacent pair of A100 cards exists in the server, for best bridging performance and balanced bridge topology, the A100 pair should be bridged. Figure 4 illustrates correct and incorrect A100 NVLink connection topologies.\nNVLink Topology \u2013Top Views \nFigure 4. \nCORRECT \nINCORRECT \nCORRECT \nINCORRECT \nFor systems that feature multiple CPUs, both A100 cards of a bridged card pair should be within the same CPU domain\u2014that is, under the same CPU\u2019s topology. Ensuring this benefits workload application performance. The only exception is for dual CPU systems wherein each CPU has a single A100 PCIe card under it; in that case, the two A100 PCIe cards in the system may be bridged together.\nA100 NVLink speed and bandwidth are given in the following table.\n<table><caption>Table 5. A100 NVLink Speed and Bandwidth </caption>\n<tr><th >Parameter </th><th >Value </th></tr>\n<tr><td >Total NVLink bridges supported by NVIDIA A100 </td><td >3 </td></tr>\n<tr><td >Total NVLink Rx and Tx lanes supported </td><td >96 </td></tr>\n<tr><td >Data rate per NVIDIA A100 NVLink lane (each direction)</td><td >50 Gbps </td></tr>\n<tr><td >Total maximum NVLink bandwidth</td><td >600 Gbytes per second </td></tr>\n</table>\nPB-10137-001_v03 |8\nNVIDIA A100 40GB PCIe GPU Accelerator",
159
+ "doc_id": "806d1ed0ea9311ee860a0242ac180005",
160
+ "docnm_kwd": "A100-PCIE-Prduct-Brief.pdf",
161
+ "img_id": "afab9fdad6e511eebdb20242ac180006-8c11a1edddb21ad2ae0c43b4a5dcfa62",
162
+ "important_kwd": [],
163
+ "kb_id": "afab9fdad6e511eebdb20242ac180006",
164
+ "positions": [
165
+ [
166
+ 12.0,
167
+ 84.0,
168
+ 541.3,
169
+ 76.7,
170
+ 96.7
171
+ ],
172
+ ],
173
+ "similarity": 0.3200748779905588,
174
+ "term_similarity": 0.3082244010114718,
175
+ "vector_similarity": 0.42672917080234146
176
+ },
177
+ ],
178
+ "doc_aggs": [
179
+ {
180
+ "count": 1,
181
+ "doc_id": "806d1ed0ea9311ee860a0242ac180005",
182
+ "doc_name": "A100-PCIE-Prduct-Brief.pdf"
183
+ }
184
+ ],
185
+ "total": 3
186
+ }
187
+ ],
188
+ "update_date": "Tue, 02 Apr 2024 09:07:49 GMT",
189
+ "update_time": 1712020069421
190
+ },
191
+ "retcode": 0,
192
+ "retmsg": "success"
193
+ }
194
+ ```
195
+
196
+ - **message**: All the chat history in it.
197
+ - role: user or assistant
198
+ - content: the text content of user or assistant. The citations are in format like: ##0$$. The number in the middle indicate which part in data.reference.chunks it refers to.
199
+
200
+ - **user_id**: This is set by the caller.
201
+ - **reference**: Every item in it refer to the corresponding message in data.message whose role is assistant.
202
+ - chunks
203
+ - content_with_weight: The content of chunk.
204
+ - docnm_kwd: the document name.
205
+ - img_id: the image id of the chunk. It is an optional field only for PDF/pptx/picture. And accessed by 'GET' /document/get/\<id\>.
206
+ - positions: [page_number, [upleft corner(x, y)], [right bottom(x, y)]], the chunk position, only for PDF.
207
+ - similarity: the hybrid similarity.
208
+ - term_similarity: keyword simimlarity
209
+ - vector_similarity: embedding similarity
210
+ - doc_aggs:
211
+ - doc_id: the document can be accessed by 'GET' /document/get/\<id\>
212
+ - doc_name: the file name
213
+ - count: the chunk number hit in this document.
214
+
215
+ ## Chat
216
+
217
+ This will be called to get the answer to users' questions.
218
+
219
+ ### Path: /api/completion
220
+ ### Method: POST
221
+ ### Parameter:
222
+
223
+ | name | type | optional | description|
224
+ |------|-------|----|----|
225
+ | conversation_id| string | No | This is from calling /new_conversation.|
226
+ | messages| json | No | The latest question, such as `[{"role": "user", "content": "How are you doing!"}]`|
227
+ | quote | bool | Yes | Default: true |
228
+ | stream | bool | Yes | Default: true |
229
+ | doc_ids | string | Yes | Document IDs which is delimited by comma, like `c790da40ea8911ee928e0242ac180005,c790da40ea8911ee928e0242ac180005`. The retrieved content is limited in these documents. |
230
+
231
+ ### Response
232
+ ```json
233
+ {
234
+ "data": {
235
+ "answer": "The ViT Score for GPT-4 in the zero-shot scenario is 0.5058, and in the few-shot scenario, it is 0.6480. ##0$$",
236
+ "reference": {
237
+ "chunks": [
238
+ {
239
+ "chunk_id": "d0bc7892c3ec4aeac071544fd56730a8",
240
+ "content_ltks": "tabl 1:openagi task-solv perform under differ set for three closed-sourc llm . boldfac denot the highest score under each learn schema . metric gpt-3.5-turbo claude-2 gpt-4 zero few zero few zero few clip score 0.0 0.0 0.0 0.2543 0.0 0.3055 bert score 0.1914 0.3820 0.2111 0.5038 0.2076 0.6307 vit score 0.2437 0.7497 0.4082 0.5416 0.5058 0.6480 overal 0.1450 0.3772 0.2064 0.4332 0.2378 0.5281",
241
+ "content_with_weight": "<table><caption>Table 1: OpenAGI task-solving performances under different settings for three closed-source LLMs. Boldface denotes the highest score under each learning schema.</caption>\n<tr><th rowspan=2 >Metrics</th><th >GPT-3.5-turbo</th><th></th><th >Claude-2</th><th >GPT-4</th></tr>\n<tr><th >Zero</th><th >Few</th><th >Zero Few</th><th >Zero Few</th></tr>\n<tr><td >CLIP Score</td><td >0.0</td><td >0.0</td><td >0.0 0.2543</td><td >0.0 0.3055</td></tr>\n<tr><td >BERT Score</td><td >0.1914</td><td >0.3820</td><td >0.2111 0.5038</td><td >0.2076 0.6307</td></tr>\n<tr><td >ViT Score</td><td >0.2437</td><td >0.7497</td><td >0.4082 0.5416</td><td >0.5058 0.6480</td></tr>\n<tr><td >Overall</td><td >0.1450</td><td >0.3772</td><td >0.2064 0.4332</td><td >0.2378 0.5281</td></tr>\n</table>",
242
+ "doc_id": "c790da40ea8911ee928e0242ac180005",
243
+ "docnm_kwd": "OpenAGI When LLM Meets Domain Experts.pdf",
244
+ "img_id": "afab9fdad6e511eebdb20242ac180006-d0bc7892c3ec4aeac071544fd56730a8",
245
+ "important_kwd": [],
246
+ "kb_id": "afab9fdad6e511eebdb20242ac180006",
247
+ "positions": [
248
+ [
249
+ 9.0,
250
+ 159.9383341471354,
251
+ 472.1773274739583,
252
+ 223.58013916015625,
253
+ 307.86692301432294
254
+ ]
255
+ ],
256
+ "similarity": 0.7310340654129031,
257
+ "term_similarity": 0.7671974387781668,
258
+ "vector_similarity": 0.40556370512552886
259
+ },
260
+ {
261
+ "chunk_id": "7e2345d440383b756670e1b0f43a7007",
262
+ "content_ltks": "5.5 experiment analysi the main experiment result are tabul in tab . 1 and 2 , showcas the result for closed-sourc and open-sourc llm , respect . the overal perform is calcul a the averag of cllp 8 bert and vit score . here , onli the task descript of the benchmark task are fed into llm(addit inform , such a the input prompt and llm\u2019output , is provid in fig . a.4 and a.5 in supplementari). broadli speak , closed-sourc llm demonstr superior perform on openagi task , with gpt-4 lead the pack under both zero-and few-shot scenario . in the open-sourc categori , llama-2-13b take the lead , consist post top result across variou learn schema--the perform possibl influenc by it larger model size . notabl , open-sourc llm significantli benefit from the tune method , particularli fine-tun and\u2019rltf . these method mark notic enhanc for flan-t5-larg , vicuna-7b , and llama-2-13b when compar with zero-shot and few-shot learn schema . in fact , each of these open-sourc model hit it pinnacl under the rltf approach . conclus , with rltf tune , the perform of llama-2-13b approach that of gpt-3.5 , illustr it potenti .",
263
+ "content_with_weight": "5.5 Experimental Analysis\nThe main experimental results are tabulated in Tab. 1 and 2, showcasing the results for closed-source and open-source LLMs, respectively. The overall performance is calculated as the average of CLlP\n8\nBERT and ViT scores. Here, only the task descriptions of the benchmark tasks are fed into LLMs (additional information, such as the input prompt and LLMs\u2019 outputs, is provided in Fig. A.4 and A.5 in supplementary). Broadly speaking, closed-source LLMs demonstrate superior performance on OpenAGI tasks, with GPT-4 leading the pack under both zero- and few-shot scenarios. In the open-source category, LLaMA-2-13B takes the lead, consistently posting top results across various learning schema--the performance possibly influenced by its larger model size. Notably, open-source LLMs significantly benefit from the tuning methods, particularly Fine-tuning and\u2019 RLTF. These methods mark noticeable enhancements for Flan-T5-Large, Vicuna-7B, and LLaMA-2-13B when compared with zero-shot and few-shot learning schema. In fact, each of these open-source models hits its pinnacle under the RLTF approach. Conclusively, with RLTF tuning, the performance of LLaMA-2-13B approaches that of GPT-3.5, illustrating its potential.",
264
+ "doc_id": "c790da40ea8911ee928e0242ac180005",
265
+ "docnm_kwd": "OpenAGI When LLM Meets Domain Experts.pdf",
266
+ "img_id": "afab9fdad6e511eebdb20242ac180006-7e2345d440383b756670e1b0f43a7007",
267
+ "important_kwd": [],
268
+ "kb_id": "afab9fdad6e511eebdb20242ac180006",
269
+ "positions": [
270
+ [
271
+ 8.0,
272
+ 107.3,
273
+ 508.90000000000003,
274
+ 686.3,
275
+ 697.0
276
+ ]
277
+ ],
278
+ "similarity": 0.6691508616357027,
279
+ "term_similarity": 0.6999011754270821,
280
+ "vector_similarity": 0.39239803751328806
281
+ }
282
+ ],
283
+ "doc_aggs": {
284
+ "OpenAGI When LLM Meets Domain Experts.pdf": 4
285
+ },
286
+ "total": 8
287
+ }
288
+ },
289
+ "retcode": 0,
290
+ "retmsg": "success"
291
+ }
292
+ ```
293
+
294
+ - **answer**: The replay of the chat bot.
295
+ - **reference**:
296
+ - chunks: Every item in it refer to the corresponding message in answer.
297
+ - content_with_weight: The content of chunk.
298
+ - docnm_kwd: the document name.
299
+ - img_id: the image id of the chunk. It is an optional field only for PDF/pptx/picture. And accessed by 'GET' /document/get/\<id\>.
300
+ - positions: [page_number, [upleft corner(x, y)], [right bottom(x, y)]], the chunk position, only for PDF.
301
+ - similarity: the hybrid similarity.
302
+ - term_similarity: keyword simimlarity
303
+ - vector_similarity: embedding similarity
304
+ - doc_aggs:
305
+ - doc_id: the document can be accessed by 'GET' /document/get/\<id\>
306
+ - doc_name: the file name
307
+ - count: the chunk number hit in this document.
308
+
309
+ ## Get document content or image
310
+
311
+ This is usually used when display content of citation.
312
+ ### Path: /api/document/get/\<id\>
313
+ ### Method: GET
314
+
315
+ ## Upload file
316
+
317
+ This is usually used when upload a file to.
318
+ ### Path: /api/document/upload/
319
+ ### Method: POST
320
+
321
+ ### Parameter:
322
+
323
+ | name | type | optional | description |
324
+ |-----------|--------|----------|---------------------------------------------------------|
325
+ | file | file | No | Upload file. |
326
+ | kb_name | string | No | Choose the upload knowledge base name. |
327
+ | parser_id | string | Yes | Choose the parsing method. |
328
+ | run | string | Yes | Parsing will start automatically when the value is "1". |
329
+
330
+ ### Response
331
+ ```json
332
+ {
333
+ "data": {
334
+ "chunk_num": 0,
335
+ "create_date": "Thu, 25 Apr 2024 14:30:06 GMT",
336
+ "create_time": 1714026606921,
337
+ "created_by": "553ec818fd5711ee8ea63043d7ed348e",
338
+ "id": "41e9324602cd11ef9f5f3043d7ed348e",
339
+ "kb_id": "06802686c0a311ee85d6246e9694c130",
340
+ "location": "readme.txt",
341
+ "name": "readme.txt",
342
+ "parser_config": {
343
+ "field_map": {
344
+ },
345
+ "pages": [
346
+ [
347
+ 0,
348
+ 1000000
349
+ ]
350
+ ]
351
+ },
352
+ "parser_id": "general",
353
+ "process_begin_at": null,
354
+ "process_duation": 0.0,
355
+ "progress": 0.0,
356
+ "progress_msg": "",
357
+ "run": "0",
358
+ "size": 929,
359
+ "source_type": "local",
360
+ "status": "1",
361
+ "thumbnail": null,
362
+ "token_num": 0,
363
+ "type": "doc",
364
+ "update_date": "Thu, 25 Apr 2024 14:30:06 GMT",
365
+ "update_time": 1714026606921
366
+ },
367
+ "retcode": 0,
368
+ "retmsg": "success"
369
+ }
370
+
371
+ ```
372
+
373
+ ## Get document chunks
374
+
375
+ Get the chunks of the document based on doc_name or doc_id.
376
+ ### Path: /api/list_chunks/
377
+ ### Method: POST
378
+
379
+ ### Parameter:
380
+
381
+ | Name | Type | Optional | Description |
382
+ |----------|--------|----------|---------------------------------|
383
+ | `doc_name` | string | Yes | The name of the document in the knowledge base. It must not be empty if `doc_id` is not set.|
384
+ | `doc_id` | string | Yes | The ID of the document in the knowledge base. It must not be empty if `doc_name` is not set.|
385
+
386
+
387
+ ### Response
388
+ ```json
389
+ {
390
+ "data": [
391
+ {
392
+ "content": "Figure 14: Per-request neural-net processingof RL-Cache.\n103\n(sn)\nCPU\n 102\nGPU\n8101\n100\n8\n16 64 256 1K\n4K",
393
+ "doc_name": "RL-Cache.pdf",
394
+ "img_id": "0335167613f011ef91240242ac120006-b46c3524952f82dbe061ce9b123f2211"
395
+ },
396
+ {
397
+ "content": "4.3 ProcessingOverheadof RL-CacheACKNOWLEDGMENTSThis section evaluates how e￿ectively our RL-Cache implemen-tation leverages modern multi-core CPUs and GPUs to keep the per-request neural-net processing overhead low. Figure 14 depictsThis researchwas supported inpart by the Regional Government of Madrid (grant P2018/TCS-4499, EdgeData-CM)andU.S. National Science Foundation (grants CNS-1763617 andCNS-1717179).REFERENCES",
398
+ "doc_name": "RL-Cache.pdf",
399
+ "img_id": "0335167613f011ef91240242ac120006-d4c12c43938eb55d2d8278eea0d7e6d7"
400
+ }
401
+ ],
402
+ "retcode": 0,
403
+ "retmsg": "success"
404
+ }
405
+
406
+ ```
docs/{faq.md → references/faq.md} RENAMED
@@ -1,4 +1,9 @@
1
- # Frequently Asked Questions
 
 
 
 
 
2
 
3
  ## General
4
 
@@ -31,7 +36,7 @@ Currently, we only support x86 CPU and Nvidia GPU.
31
 
32
  ### 2. Do you offer an API for integration with third-party applications?
33
 
34
- The corresponding APIs are now available. See the [Conversation API](./conversation_api.md) for more information.
35
 
36
  ### 3. Do you support stream output?
37
 
@@ -186,14 +191,12 @@ Parsing requests have to wait in queue due to limited server resources. We are c
186
 
187
  If your RAGFlow is deployed *locally*, try the following:
188
 
189
- 1. Click the red cross icon next to **Parsing Status** and refresh the file parsing process.
190
- 2. If the issue still persists, try the following:
191
- - check the log of your RAGFlow server to see if it is running properly:
192
- ```bash
193
- docker logs -f ragflow-server
194
- ```
195
- - Check if the **task_executor.py** process exists.
196
- - Check if your RAGFlow server can access hf-mirror.com or huggingface.com.
197
 
198
  #### 4.5 Why does my pdf parsing stall near completion, while the log does not show any error?
199
 
@@ -356,7 +359,7 @@ You limit what the system responds to what you specify in **Empty response** if
356
 
357
  ### 4. How to run RAGFlow with a locally deployed LLM?
358
 
359
- You can use Ollama to deploy local LLM. See [here](https://github.com/infiniflow/ragflow/blob/main/docs/ollama.md) for more information.
360
 
361
  ### 5. How to link up ragflow and ollama servers?
362
 
 
1
+ ---
2
+ sidebar_position: 3
3
+ slug: /faq
4
+ ---
5
+
6
+ # Frequently asked questions
7
 
8
  ## General
9
 
 
36
 
37
  ### 2. Do you offer an API for integration with third-party applications?
38
 
39
+ The corresponding APIs are now available. See the [RAGFlow API Reference](./api.md) for more information.
40
 
41
  ### 3. Do you support stream output?
42
 
 
191
 
192
  If your RAGFlow is deployed *locally*, try the following:
193
 
194
+ 1. Check the log of your RAGFlow server to see if it is running properly:
195
+ ```bash
196
+ docker logs -f ragflow-server
197
+ ```
198
+ 2. Check if the **task_executor.py** process exists.
199
+ 3. Check if your RAGFlow server can access hf-mirror.com or huggingface.com.
 
 
200
 
201
  #### 4.5 Why does my pdf parsing stall near completion, while the log does not show any error?
202
 
 
359
 
360
  ### 4. How to run RAGFlow with a locally deployed LLM?
361
 
362
+ You can use Ollama to deploy local LLM. See [here](https://github.com/infiniflow/ragflow/blob/main/docs/guides/deploy_local_llm.md) for more information.
363
 
364
  ### 5. How to link up ragflow and ollama servers?
365
 
web/src/pages/chat/chat-overview-modal/index.tsx CHANGED
@@ -88,7 +88,7 @@ const ChatOverviewModal = ({
88
  <Button onClick={showApiKeyModal}>{t('apiKey')}</Button>
89
  <a
90
  href={
91
- 'https://github.com/infiniflow/ragflow/blob/main/docs/conversation_api.md'
92
  }
93
  target="_blank"
94
  rel="noreferrer"
 
88
  <Button onClick={showApiKeyModal}>{t('apiKey')}</Button>
89
  <a
90
  href={
91
+ 'https://github.com/infiniflow/ragflow/blob/main/docs/references/api.md'
92
  }
93
  target="_blank"
94
  rel="noreferrer"