Skip to content

Commit 6814ace

Browse files
docs: update docs icons (#12465)
### What problem does this PR solve? Update icons for docs. Trailing spaces are auto truncated by the editor, does not affect real content. ### Type of change - [x] Documentation Update
1 parent ca9645f commit 6814ace

88 files changed

Lines changed: 922 additions & 661 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/basics/rag.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ sidebar_position: 1
33
slug: /what-is-rag
44
---
55

6-
# What is Retreival-Augmented-Generation (RAG)
6+
# What is Retreival-Augmented-Generation (RAG)?
77

88
Since large language models (LLMs) became the focus of technology, their ability to handle general knowledge has been astonishing. However, when questions shift to internal corporate documents, proprietary knowledge bases, or real-time data, the limitations of LLMs become glaringly apparent: they cannot access private information outside their training data. Retrieval-Augmented Generation (RAG) was born precisely to address this core need. Before an LLM generates an answer, it first retrieves the most relevant context from an external knowledge base and inputs it as "reference material" to the LLM, thereby guiding it to produce accurate answers. In short, RAG elevates LLMs from "relying on memory" to "having evidence to rely on," significantly improving their accuracy and trustworthiness in specialized fields and real-time information queries.
99

@@ -86,22 +86,22 @@ They are highly consistent at the technical base (e.g., vector retrieval, keywor
8686

8787
RAG has demonstrated clear value in several typical scenarios:
8888

89-
1. Enterprise Knowledge Q&A and Internal Search
89+
1. Enterprise Knowledge Q&A and Internal Search
9090
By vectorizing corporate private data and combining it with an LLM, RAG can directly return natural language answers based on authoritative sources, rather than document lists. While meeting intelligent Q&A needs, it inherently aligns with corporate requirements for data security, access control, and compliance.
91-
2. Complex Document Understanding and Professional Q&A
91+
2. Complex Document Understanding and Professional Q&A
9292
For structurally complex documents like contracts and regulations, the value of RAG lies in its ability to generate accurate, verifiable answers while maintaining context integrity. Its system accuracy largely depends on text chunking and semantic understanding strategies.
93-
3. Dynamic Knowledge Fusion and Decision Support
93+
3. Dynamic Knowledge Fusion and Decision Support
9494
In business scenarios requiring the synthesis of information from multiple sources, RAG evolves into a knowledge orchestration and reasoning support system for business decisions. Through a multi-path recall mechanism, it fuses knowledge from different systems and formats, maintaining factual consistency and logical controllability during the generation phase.
9595

9696
## The future of RAG
9797

9898
The evolution of RAG is unfolding along several clear paths:
9999

100-
1. RAG as the data foundation for Agents
100+
1. RAG as the data foundation for Agents
101101
RAG and agents have an architecture vs. scenario relationship. For agents to achieve autonomous and reliable decision-making and execution, they must rely on accurate and timely knowledge. RAG provides them with a standardized capability to access private domain knowledge and is an inevitable choice for building knowledge-aware agents.
102-
2. Advanced RAG: Using LLMs to optimize retrieval itself
102+
2. Advanced RAG: Using LLMs to optimize retrieval itself
103103
The core feature of next-generation RAG is fully utilizing the reasoning capabilities of LLMs to optimize the retrieval process, such as rewriting queries, summarizing or fusing results, or implementing intelligent routing. Empowering every aspect of retrieval with LLMs is key to breaking through current performance bottlenecks.
104-
3. Towards context engineering 2.0
104+
3. Towards context engineering 2.0
105105
Current RAG can be viewed as Context Engineering 1.0, whose core is assembling static knowledge context for single Q&A tasks. The forthcoming Context Engineering 2.0 will extend with RAG technology at its core, becoming a system that automatically and dynamically assembles comprehensive context for agents. The context fused by this system will come not only from documents but also include interaction memory, available tools/skills, and real-time environmental information. This marks the transition of agent development from a "handicraft workshop" model to the industrial starting point of automated context engineering.
106106

107107
The essence of RAG is to build a dedicated, efficient, and trustworthy external data interface for large language models; its core is Retrieval, not Generation. Starting from the practical need to solve private data access, its technical depth is reflected in the optimization of retrieval for complex unstructured data. With its deep integration into agent architectures and its development towards automated context engineering, RAG is evolving from a technology that improves Q&A quality into the core infrastructure for building the next generation of trustworthy, controllable, and scalable intelligent applications.

docs/configurations.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
---
22
sidebar_position: 1
33
slug: /configurations
4+
sidebar_custom_props: {
5+
sidebarIcon: LucideCog
6+
}
47
---
58

69
# Configuration

docs/contribution/_category_.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,8 @@
44
"link": {
55
"type": "generated-index",
66
"description": "Miscellaneous contribution guides."
7+
},
8+
"customProps": {
9+
"sidebarIcon": "LucideHandshake"
710
}
811
}

docs/contribution/contributing.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
---
22
sidebar_position: 1
33
slug: /contributing
4+
sidebar_custom_props: {
5+
categoryIcon: LucideBookA
6+
}
47
---
58

69
# Contribution guidelines
@@ -32,7 +35,7 @@ The list below mentions some contributions you can make, but it is not a complet
3235
1. Fork our GitHub repository.
3336
2. Clone your fork to your local machine:
3437
`git clone [email protected]:<yourname>/ragflow.git`
35-
3. Create a local branch:
38+
3. Create a local branch:
3639
`git checkout -b my-branch`
3740
4. Provide sufficient information in your commit message
3841
`git commit -m 'Provide sufficient info in your commit message'`

docs/develop/_category_.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,8 @@
44
"link": {
55
"type": "generated-index",
66
"description": "Guides for hardcore developers"
7+
},
8+
"customProps": {
9+
"sidebarIcon": "LucideWrench"
710
}
811
}

docs/develop/acquire_ragflow_api_key.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
---
22
sidebar_position: 4
33
slug: /acquire_ragflow_api_key
4+
sidebar_custom_props: {
5+
categoryIcon: LucideKey
6+
}
47
---
58

69
# Acquire RAGFlow API key

docs/develop/build_docker_image.mdx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
---
22
sidebar_position: 1
33
slug: /build_docker_image
4+
sidebar_custom_props: {
5+
categoryIcon: LucidePackage
6+
}
47
---
58

69
# Build RAGFlow Docker image

docs/develop/launch_ragflow_from_source.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
---
22
sidebar_position: 2
33
slug: /launch_ragflow_from_source
4+
sidebar_custom_props: {
5+
categoryIcon: LucideMonitorPlay
6+
}
47
---
58

69
# Launch service from source
@@ -36,7 +39,7 @@ cd ragflow/
3639
### Install Python dependencies
3740

3841
1. Install uv:
39-
42+
4043
```bash
4144
pipx install uv
4245
```
@@ -88,13 +91,13 @@ docker compose -f docker/docker-compose-base.yml up -d
8891
```
8992

9093
3. **Optional:** If you cannot access HuggingFace, set the HF_ENDPOINT environment variable to use a mirror site:
91-
94+
9295
```bash
9396
export HF_ENDPOINT=https://hf-mirror.com
9497
```
9598

9699
4. Check the configuration in **conf/service_conf.yaml**, ensuring all hosts and ports are correctly set.
97-
100+
98101
5. Run the **entrypoint.sh** script to launch the backend service:
99102

100103
```shell
@@ -123,10 +126,10 @@ docker compose -f docker/docker-compose-base.yml up -d
123126
3. Start up the RAGFlow frontend service:
124127

125128
```bash
126-
npm run dev
129+
npm run dev
127130
```
128131

129-
*The following message appears, showing the IP address and port number of your frontend service:*
132+
*The following message appears, showing the IP address and port number of your frontend service:*
130133

131134
![](https://github.com/user-attachments/assets/0daf462c-a24d-4496-a66f-92533534e187)
132135

docs/develop/mcp/_category_.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,8 @@
44
"link": {
55
"type": "generated-index",
66
"description": "Guides and references on accessing RAGFlow's datasets via MCP."
7+
},
8+
"customProps": {
9+
"categoryIcon": "SiModelcontextprotocol"
710
}
811
}

docs/develop/mcp/launch_mcp_server.md

Lines changed: 33 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
---
22
sidebar_position: 1
33
slug: /launch_mcp_server
4+
sidebar_custom_props: {
5+
categoryIcon: LucideTvMinimalPlay
6+
}
47
---
58

69
# Launch RAGFlow MCP server
@@ -9,13 +12,13 @@ Launch an MCP server from source or via Docker.
912

1013
---
1114

12-
A RAGFlow Model Context Protocol (MCP) server is designed as an independent component to complement the RAGFlow server. Note that an MCP server must operate alongside a properly functioning RAGFlow server.
15+
A RAGFlow Model Context Protocol (MCP) server is designed as an independent component to complement the RAGFlow server. Note that an MCP server must operate alongside a properly functioning RAGFlow server.
1316

14-
An MCP server can start up in either self-host mode (default) or host mode:
17+
An MCP server can start up in either self-host mode (default) or host mode:
1518

16-
- **Self-host mode**:
19+
- **Self-host mode**:
1720
When launching an MCP server in self-host mode, you must provide an API key to authenticate the MCP server with the RAGFlow server. In this mode, the MCP server can access *only* the datasets of a specified tenant on the RAGFlow server.
18-
- **Host mode**:
21+
- **Host mode**:
1922
In host mode, each MCP client can access their own datasets on the RAGFlow server. However, each client request must include a valid API key to authenticate the client with the RAGFlow server.
2023

2124
Once a connection is established, an MCP server communicates with its client in MCP HTTP+SSE (Server-Sent Events) mode, unidirectionally pushing responses from the RAGFlow server to its client in real time.
@@ -29,9 +32,9 @@ Once a connection is established, an MCP server communicates with its client in
2932
If you wish to try out our MCP server without upgrading RAGFlow, community contributor [yiminghub2024](https://github.com/yiminghub2024) 👏 shares their recommended steps [here](#launch-an-mcp-server-without-upgrading-ragflow).
3033
:::
3134

32-
## Launch an MCP server
35+
## Launch an MCP server
3336

34-
You can start an MCP server either from source code or via Docker.
37+
You can start an MCP server either from source code or via Docker.
3538

3639
### Launch from source code
3740

@@ -48,7 +51,7 @@ uv run mcp/server/server.py --host=127.0.0.1 --port=9382 --base-url=http://127.0
4851
# uv run mcp/server/server.py --host=127.0.0.1 --port=9382 --base-url=http://127.0.0.1:9380 --mode=host
4952
```
5053

51-
Where:
54+
Where:
5255

5356
- `host`: The MCP server's host address.
5457
- `port`: The MCP server's listening port.
@@ -94,7 +97,7 @@ The MCP server is designed as an optional component that complements the RAGFlow
9497
# - --no-json-response # Disables JSON responses for the streamable-HTTP transport
9598
```
9699

97-
Where:
100+
Where:
98101

99102
- `mcp-host`: The MCP server's host address.
100103
- `mcp-port`: The MCP server's listening port.
@@ -119,13 +122,13 @@ Run `docker compose -f docker-compose.yml up` to launch the RAGFlow server toget
119122
docker-ragflow-cpu-1 | Starting MCP Server on 0.0.0.0:9382 with base URL http://127.0.0.1:9380...
120123
docker-ragflow-cpu-1 | Starting 1 task executor(s) on host 'dd0b5e07e76f'...
121124
docker-ragflow-cpu-1 | 2025-04-18 15:41:18,816 INFO 27 ragflow_server log path: /ragflow/logs/ragflow_server.log, log levels: {'peewee': 'WARNING', 'pdfminer': 'WARNING', 'root': 'INFO'}
122-
docker-ragflow-cpu-1 |
125+
docker-ragflow-cpu-1 |
123126
docker-ragflow-cpu-1 | __ __ ____ ____ ____ _____ ______ _______ ____
124127
docker-ragflow-cpu-1 | | \/ |/ ___| _ \ / ___|| ____| _ \ \ / / ____| _ \
125128
docker-ragflow-cpu-1 | | |\/| | | | |_) | \___ \| _| | |_) \ \ / /| _| | |_) |
126129
docker-ragflow-cpu-1 | | | | | |___| __/ ___) | |___| _ < \ V / | |___| _ <
127130
docker-ragflow-cpu-1 | |_| |_|\____|_| |____/|_____|_| \_\ \_/ |_____|_| \_\
128-
docker-ragflow-cpu-1 |
131+
docker-ragflow-cpu-1 |
129132
docker-ragflow-cpu-1 | MCP launch mode: self-host
130133
docker-ragflow-cpu-1 | MCP host: 0.0.0.0
131134
docker-ragflow-cpu-1 | MCP port: 9382
@@ -138,13 +141,13 @@ Run `docker compose -f docker-compose.yml up` to launch the RAGFlow server toget
138141
docker-ragflow-cpu-1 | 2025-04-18 15:41:23,263 INFO 27 init database on cluster mode successfully
139142
docker-ragflow-cpu-1 | 2025-04-18 15:41:25,318 INFO 27 load_model /ragflow/rag/res/deepdoc/det.onnx uses CPU
140143
docker-ragflow-cpu-1 | 2025-04-18 15:41:25,367 INFO 27 load_model /ragflow/rag/res/deepdoc/rec.onnx uses CPU
141-
docker-ragflow-cpu-1 | ____ ___ ______ ______ __
144+
docker-ragflow-cpu-1 | ____ ___ ______ ______ __
142145
docker-ragflow-cpu-1 | / __ \ / | / ____// ____// /____ _ __
143146
docker-ragflow-cpu-1 | / /_/ // /| | / / __ / /_ / // __ \| | /| / /
144-
docker-ragflow-cpu-1 | / _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ /
145-
docker-ragflow-cpu-1 | /_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/
146-
docker-ragflow-cpu-1 |
147-
docker-ragflow-cpu-1 |
147+
docker-ragflow-cpu-1 | / _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ /
148+
docker-ragflow-cpu-1 | /_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/
149+
docker-ragflow-cpu-1 |
150+
docker-ragflow-cpu-1 |
148151
docker-ragflow-cpu-1 | 2025-04-18 15:41:29,088 INFO 27 RAGFlow version: v0.18.0-285-gb2c299fa full
149152
docker-ragflow-cpu-1 | 2025-04-18 15:41:29,088 INFO 27 project base: /ragflow
150153
docker-ragflow-cpu-1 | 2025-04-18 15:41:29,088 INFO 27 Current configs, from /ragflow/conf/service_conf.yaml:
@@ -153,12 +156,12 @@ Run `docker compose -f docker-compose.yml up` to launch the RAGFlow server toget
153156
docker-ragflow-cpu-1 | * Running on all addresses (0.0.0.0)
154157
docker-ragflow-cpu-1 | * Running on http://127.0.0.1:9380
155158
docker-ragflow-cpu-1 | * Running on http://172.19.0.6:9380
156-
docker-ragflow-cpu-1 | ______ __ ______ __
159+
docker-ragflow-cpu-1 | ______ __ ______ __
157160
docker-ragflow-cpu-1 | /_ __/___ ______/ /__ / ____/ _____ _______ __/ /_____ _____
158161
docker-ragflow-cpu-1 | / / / __ `/ ___/ //_/ / __/ | |/_/ _ \/ ___/ / / / __/ __ \/ ___/
159-
docker-ragflow-cpu-1 | / / / /_/ (__ ) ,< / /____> </ __/ /__/ /_/ / /_/ /_/ / /
160-
docker-ragflow-cpu-1 | /_/ \__,_/____/_/|_| /_____/_/|_|\___/\___/\__,_/\__/\____/_/
161-
docker-ragflow-cpu-1 |
162+
docker-ragflow-cpu-1 | / / / /_/ (__ ) ,< / /____> </ __/ /__/ /_/ / /_/ /_/ / /
163+
docker-ragflow-cpu-1 | /_/ \__,_/____/_/|_| /_____/_/|_|\___/\___/\__,_/\__/\____/_/
164+
docker-ragflow-cpu-1 |
162165
docker-ragflow-cpu-1 | 2025-04-18 15:41:34,501 INFO 32 TaskExecutor: RAGFlow version: v0.18.0-285-gb2c299fa full
163166
docker-ragflow-cpu-1 | 2025-04-18 15:41:34,501 INFO 32 Use Elasticsearch http://es01:9200 as the doc engine.
164167
...
@@ -170,11 +173,11 @@ Run `docker compose -f docker-compose.yml up` to launch the RAGFlow server toget
170173
This section is contributed by our community contributor [yiminghub2024](https://github.com/yiminghub2024). 👏
171174
:::
172175

173-
1. Prepare all MCP-specific files and directories.
174-
i. Copy the [mcp/](https://github.com/infiniflow/ragflow/tree/main/mcp) directory to your local working directory.
175-
ii. Copy [docker/docker-compose.yml](https://github.com/infiniflow/ragflow/blob/main/docker/docker-compose.yml) locally.
176-
iii. Copy [docker/entrypoint.sh](https://github.com/infiniflow/ragflow/blob/main/docker/entrypoint.sh) locally.
177-
iv. Install the required dependencies using `uv`:
176+
1. Prepare all MCP-specific files and directories.
177+
i. Copy the [mcp/](https://github.com/infiniflow/ragflow/tree/main/mcp) directory to your local working directory.
178+
ii. Copy [docker/docker-compose.yml](https://github.com/infiniflow/ragflow/blob/main/docker/docker-compose.yml) locally.
179+
iii. Copy [docker/entrypoint.sh](https://github.com/infiniflow/ragflow/blob/main/docker/entrypoint.sh) locally.
180+
iv. Install the required dependencies using `uv`:
178181
- Run `uv add mcp` or
179182
- Copy [pyproject.toml](https://github.com/infiniflow/ragflow/blob/main/pyproject.toml) locally and run `uv sync --python 3.12`.
180183
2. Edit **docker-compose.yml** to enable MCP (disabled by default).
@@ -194,19 +197,19 @@ docker logs docker-ragflow-cpu-1
194197

195198
## Security considerations
196199

197-
As MCP technology is still at early stage and no official best practices for authentication or authorization have been established, RAGFlow currently uses [API key](./acquire_ragflow_api_key.md) to validate identity for the operations described earlier. However, in public environments, this makeshift solution could expose your MCP server to potential network attacks. Therefore, when running a local SSE server, it is recommended to bind only to localhost (`127.0.0.1`) rather than to all interfaces (`0.0.0.0`).
200+
As MCP technology is still at early stage and no official best practices for authentication or authorization have been established, RAGFlow currently uses [API key](./acquire_ragflow_api_key.md) to validate identity for the operations described earlier. However, in public environments, this makeshift solution could expose your MCP server to potential network attacks. Therefore, when running a local SSE server, it is recommended to bind only to localhost (`127.0.0.1`) rather than to all interfaces (`0.0.0.0`).
198201

199202
For further guidance, see the [official MCP documentation](https://modelcontextprotocol.io/docs/concepts/transports#security-considerations).
200203

201204
## Frequently asked questions
202205

203206
### When to use an API key for authentication?
204207

205-
The use of an API key depends on the operating mode of your MCP server.
208+
The use of an API key depends on the operating mode of your MCP server.
206209

207-
- **Self-host mode** (default):
208-
When starting the MCP server in self-host mode, you should provide an API key when launching it to authenticate it with the RAGFlow server:
209-
- If launching from source, include the API key in the command.
210+
- **Self-host mode** (default):
211+
When starting the MCP server in self-host mode, you should provide an API key when launching it to authenticate it with the RAGFlow server:
212+
- If launching from source, include the API key in the command.
210213
- If launching from Docker, update the API key in **docker/docker-compose.yml**.
211-
- **Host mode**:
214+
- **Host mode**:
212215
If your RAGFlow MCP server is working in host mode, include the API key in the `headers` of your client requests to authenticate your client with the RAGFlow server. An example is available [here](https://github.com/infiniflow/ragflow/blob/main/mcp/client/client.py).

0 commit comments

Comments
 (0)