docs: modify docs display & add images (#17575)

### Summary

modify docs display
add some images
delete enterprise docs
standardize capitalization
This commit is contained in:
YanZhang
2026-07-30 21:24:15 +08:00
committed by GitHub
parent 8fc20dd9ca
commit 611e0596f6
145 changed files with 651 additions and 1265 deletions

View File

@@ -1,5 +1,5 @@
{
"label": "Developer guides",
"label": "Developer Guides",
"position": 5,
"link": {
"type": "generated-index",

View File

@@ -1,11 +1,13 @@
---
sidebar_position: 4
title: Acquire RAGFlow API Key
sidebar_label: Acquire RAGFlow API Key
slug: /acquire_ragflow_api_key
sidebar_custom_props: {
categoryIcon: LucideKey
}
---
# Acquire RAGFlow API key
# Acquire RAGFlow API Key
An API key is required for the RAGFlow server to authenticate your HTTP/Python or MCP requests. This document provides instructions on obtaining a RAGFlow API key.

View File

@@ -1,11 +1,13 @@
---
sidebar_position: 4
title: Build RAGFlow Docker Image
sidebar_label: Build RAGFlow Docker Image
slug: /build_docker_image
sidebar_custom_props: {
categoryIcon: LucidePackage
}
---
# Build RAGFlow Docker image
# Build RAGFlow Docker Image
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
@@ -24,7 +26,7 @@ A guide explaining how to build a RAGFlow Docker image from its source code. By
- Disk ≥ 50 GB
- Docker ≥ 24.0.0 & Docker Compose ≥ v2.26.1
## Build a Docker image
## Build a Docker Image
This image is approximately 2 GB in size and relies on external LLM and embedding services.
@@ -42,11 +44,11 @@ cd ..
docker build -f Dockerfile -t infiniflow/ragflow:nightly .
```
## Launch a RAGFlow Service from Docker for MacOS
## Launch a RAGFlow Service from Docker for macOS
After building the infiniflow/ragflow:nightly image, you are ready to launch a fully-functional RAGFlow service with all the required components, such as Elasticsearch, MySQL, MinIO, Redis, and more.
## Example: Apple M2 Pro (Sequoia)
## Example: Apple M2 Pro (sequoia)
1. Edit Docker Compose Configuration

View File

@@ -5,7 +5,7 @@ sidebar_custom_props: {
categoryIcon: LucideBookA
}
---
# Contribution guidelines
# Contribution Guidelines
General guidelines for RAGFlow's community contributors.
@@ -16,7 +16,7 @@ This document offers guidelines and major considerations for submitting your con
- To report a bug, file a [GitHub issue](https://github.com/infiniflow/ragflow/issues/new/choose) with us.
- For further questions, you can explore existing discussions or initiate a new one in [Discussions](https://github.com/orgs/infiniflow/discussions).
## What you can contribute
## What You Can Contribute
The list below mentions some contributions you can make, but it is not a complete list.
@@ -27,9 +27,9 @@ The list below mentions some contributions you can make, but it is not a complet
- Updates to existing documents, codes, or annotations.
- Suggesting more user-friendly error codes
## File a pull request (PR)
## File a Pull Request (PR)
### General workflow
### General Workflow
1. Fork our GitHub repository.
2. Clone your fork to your local machine:
@@ -42,18 +42,18 @@ The list below mentions some contributions you can make, but it is not a complet
`git push origin my-branch.`
6. Submit a pull request for review.
### Before filing a PR
### Before Filing a PR
- Consider splitting a large PR into multiple smaller, standalone PRs to keep a traceable development history.
- Ensure that your PR addresses just one issue, or keep any unrelated changes small.
- Add test cases when contributing new features. They demonstrate that your code functions correctly and protect against potential issues from future changes.
### Describing your PR
### Describing Your PR
- Ensure that your PR title is concise and clear, providing all the required information.
- Refer to a corresponding GitHub issue in your PR description if applicable.
- Include sufficient design details for *breaking changes* or *API changes* in your description.
### Reviewing & merging a PR
### Reviewing & Merging a PR
Ensure that your PR passes all Continuous Integration (CI) tests before merging it.

View File

@@ -16,17 +16,17 @@ An AI-generated, always-up-to-date knowledge base for understanding RAGFlow's co
The RAGFlow content on DeepWiki is maintained by DeepWiki, not by the RAGFlow team. It may lag behind the latest official release. Always refer to the official [RAGFlow documentation](https://ragflow.io/docs/dev/) and [source code](https://github.com/infiniflow/ragflow) for the most up-to-date information.
:::
## What is DeepWiki?
## What Is DeepWiki?
[DeepWiki](https://deepwiki.com) is an AI-powered tool that automatically reads a GitHub repository's source code, tests, and documentation to produce a structured, interactive wiki. It maps out architecture diagrams, module relationships, data flows, and design rationale — all without requiring manual documentation work.
## The RAGFlow DeepWiki page
## The RAGFlow DeepWiki Page
The RAGFlow project is indexed at:
**[https://deepwiki.com/infiniflow/ragflow](https://deepwiki.com/infiniflow/ragflow)**
## Target audience
## Target Audience
This resource is primarily intended for:
@@ -38,7 +38,7 @@ This resource is primarily intended for:
For general usage of RAGFlow (configuring knowledge bases, running chat, etc.), the [Guides](../guides/) section is a better starting point.
:::
## What you can find on DeepWiki
## What You Can Find on DeepWiki
| Topic | What to look for |
|---|---|
@@ -49,7 +49,7 @@ For general usage of RAGFlow (configuring knowledge bases, running chat, etc.),
| **LLM / Embedding abstractions** | How `rag/llm/` wraps different model providers behind a unified interface |
| **API layer** | How `api/apps/` Blueprint routes map to internal service calls |
## Using DeepWiki alongside local development
## Using DeepWiki Alongside Local Development
When you are making changes to the codebase, DeepWiki can help you quickly answer questions such as:
@@ -59,11 +59,11 @@ When you are making changes to the codebase, DeepWiki can help you quickly answe
You can also ask DeepWiki questions in natural language using its built-in chat interface — it will ground its answers in the actual source code.
## Keeping the wiki current
## Keeping the Wiki Current
DeepWiki re-indexes the repository automatically when the upstream `main` branch is updated. If you notice the indexed content lagging behind a recent release, you can trigger a manual re-index from the DeepWiki page.
## Related resources
## Related Resources
- [Launch service from source](./launch_ragflow_from_source.md) — set up a local RAGFlow development environment.
- [Build RAGFlow Docker image](./build_docker_image.mdx) — build a custom image after code changes.

View File

@@ -1,15 +1,17 @@
---
sidebar_position: 3
title: Launch Service from Source
sidebar_label: Launch Service from Source
slug: /launch_ragflow_from_source
sidebar_custom_props: {
categoryIcon: LucideMonitorPlay
}
---
# Launch service from source
# Launch Service from Source
A guide explaining how to set up a RAGFlow service from its source code. By following this guide, you'll be able to debug using the source code.
## Target audience
## Target Audience
Developers who have added new features or modified existing code and wish to debug using the source code, *provided that* their machine has the target deployment environment set up.
@@ -24,18 +26,18 @@ Developers who have added new features or modified existing code and wish to deb
If you have not installed Docker on your local machine (Windows, Mac, or Linux), see the [Install Docker Engine](https://docs.docker.com/engine/install/) guide.
:::
## Launch a service from source
## Launch a Service from Source
To launch a RAGFlow service from source code:
### Clone the RAGFlow repository
### Clone the RAGFlow Repository
```bash
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
```
### Install Python dependencies
### Install Python Dependencies
1. Install uv:
@@ -56,7 +58,7 @@ cd ragflow/
uv sync --python 3.13 --group test --frozen && uv pip install sdk/python --group test
```
### Launch third-party services
### Launch Third-Party Services
The following command launches the 'base' services (MinIO, Elasticsearch, Redis, and MySQL) using Docker Compose:
@@ -64,7 +66,7 @@ The following command launches the 'base' services (MinIO, Elasticsearch, Redis,
docker compose -f docker/docker-compose-base.yml up -d
```
### Update `host` and `port` Settings for Third-party Services
### Update `host` and `port` Settings for Third-Party Services
1. Add the following line to `/etc/hosts` to resolve all hosts specified in **docker/service_conf.yaml.template** to `127.0.0.1`:
@@ -74,7 +76,7 @@ docker compose -f docker/docker-compose-base.yml up -d
2. In **docker/service_conf.yaml.template**, update mysql port to `5455` and es port to `1200`, as specified in **docker/.env**.
### Launch the RAGFlow backend service
### Launch the RAGFlow Backend Service
1. Comment out the `nginx` line in **docker/entrypoint.sh**.
@@ -107,7 +109,7 @@ docker compose -f docker/docker-compose-base.yml up -d
python api/ragflow_server.py;
```
### Launch the RAGFlow frontend service
### Launch the RAGFlow Frontend Service
1. Navigate to the `web` directory and install the frontend dependencies:
@@ -132,11 +134,11 @@ docker compose -f docker/docker-compose-base.yml up -d
![](https://github.com/user-attachments/assets/0daf462c-a24d-4496-a66f-92533534e187)
### Access the RAGFlow service
### Access the RAGFlow Service
In your web browser, enter `http://127.0.0.1:<PORT>/`, ensuring the port number matches that shown in the screenshot above.
### Stop the RAGFlow service when the development is done
### Stop the RAGFlow Service When the Development Is Done
1. Stop the RAGFlow frontend service:
```bash

View File

@@ -1,11 +1,13 @@
---
sidebar_position: 1
title: Launch RAGFlow MCP Server
sidebar_label: Launch RAGFlow MCP Server
slug: /launch_mcp_server
sidebar_custom_props: {
categoryIcon: LucideTvMinimalPlay
}
---
# Launch RAGFlow MCP server
# Launch RAGFlow MCP Server
Launch an MCP server from source or via Docker.
@@ -31,11 +33,11 @@ Once a connection is established, an MCP server communicates with its client in
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).
:::
## Launch an MCP server
## Launch an MCP Server
You can start an MCP server either from source code or via Docker.
### Launch from source code
### Launch from Source Code
1. Ensure that a RAGFlow server v0.18.0+ is properly running.
2. Launch the MCP server:
@@ -66,7 +68,7 @@ The RAGFlow MCP server supports two transports: the legacy SSE transport (served
### Launch from Docker
#### 1. Enable MCP server
#### 1. Enable MCP Server
The MCP server is designed as an optional component that complements the RAGFlow server and disabled by default. To enable MCP server:
@@ -111,7 +113,7 @@ Where:
If you set `mcp-mode` to `host`, you must add the `--no-transport-streamable-http-enabled` flag, because the streamable-HTTP transport is not yet supported in host mode.
:::
#### 2. Launch a RAGFlow server with an MCP server
#### 2. Launch a RAGFlow Server with an MCP Server
Run `docker compose -f docker-compose.yml up` to launch the RAGFlow server together with the MCP server.
@@ -166,7 +168,7 @@ Run `docker compose -f docker-compose.yml up` to launch the RAGFlow server toget
...
```
#### Launch an MCP server without upgrading RAGFlow
#### Launch an MCP Server Without Upgrading RAGFlow
:::info KUDOS
This section is contributed by our community contributor [yiminghub2024](https://github.com/yiminghub2024). 👏
@@ -186,7 +188,7 @@ This section is contributed by our community contributor [yiminghub2024](https:/
docker compose -f docker-compose.yml up -d
```
### Check MCP server status
### Check MCP Server Status
Run the following to check the logs the RAGFlow server and the MCP server:
@@ -194,15 +196,15 @@ Run the following to check the logs the RAGFlow server and the MCP server:
docker logs docker-ragflow-cpu-1
```
## Security considerations
## Security Considerations
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`).
For further guidance, see the [official MCP documentation](https://modelcontextprotocol.io/docs/concepts/transports#security-considerations).
## Frequently asked questions
## Frequently Asked Questions
### When to use an API key for authentication?
### When to Use an API Key for Authentication?
The use of an API key depends on the operating mode of your MCP server.

View File

@@ -1,18 +1,19 @@
---
sidebar_position: 3
title: RAGFlow MCP Client Examples
sidebar_label: RAGFlow MCP Client Examples
slug: /mcp_client
sidebar_custom_props: {
categoryIcon: LucideBookMarked
}
---
# RAGFlow MCP client examples
# RAGFlow MCP Client Examples
Python and curl MCP client examples.
------
## Example MCP Python client
## Example MCP Python Client
We provide a *prototype* MCP client example for testing [here](https://github.com/infiniflow/ragflow/blob/main/mcp/client/client.py).
@@ -32,7 +33,7 @@ async with sse_client("http://localhost:9382/sse", headers={"Authorization": "YO
```
:::
## Use curl to interact with the RAGFlow MCP server
## Use Curl to Interact with the RAGFlow MCP Server
When interacting with the MCP server via HTTP requests, follow this initialization sequence:
@@ -47,7 +48,7 @@ For more information about this initialization process, see [here](https://model
In the following sections, we will walk you through a complete tool calling process.
### 1. Obtain a session ID
### 1. Obtain a Session ID
Each curl request with the MCP server must include a session ID:
@@ -70,7 +71,7 @@ event: endpoint
data: /messages/?session_id=5c6600ef61b845a788ddf30dceb25c54
```
### 2. Send an `Initialize` request
### 2. Send an `Initialize` Request
The client sends an `initialize` request with protocol version and capabilities:
@@ -104,7 +105,7 @@ event: message
data: {"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-03-26","capabilities":{"experimental":{"headers":{"host":"127.0.0.1:9382","user-agent":"curl/8.7.1","accept":"*/*","api_key":"ragflow-xxxxxxxxxxxx","accept-encoding":"gzip"}},"tools":{"listChanged":false}},"serverInfo":{"name":"docker-ragflow-cpu-1","version":"1.9.4"}}}
```
### 3. Acknowledge readiness
### 3. Acknowledge Readiness
The client confirms readiness with an `initialized` notification:
@@ -121,7 +122,7 @@ curl -X POST "http://127.0.0.1:9382/messages/?session_id=$session_id" \
_The connection is established between the client and the server, and further operations (such as tool listing) may proceed._
### 4. Tool listing
### 4. Tool Listing
```bash
curl -X POST "http://127.0.0.1:9382/messages/?session_id=$session_id" \
@@ -143,7 +144,7 @@ data: {"jsonrpc":"2.0","id":3,"result":{"tools":[{"name":"ragflow_retrieval","de
```
### 5. Tool calling
### 5. Tool Calling
```bash
curl -X POST "http://127.0.0.1:9382/messages/?session_id=$session_id" \
@@ -172,7 +173,7 @@ data: {"jsonrpc":"2.0","id":4,"result":{...}}
```
### A complete curl example
### A Complete Curl Example
```bash
session_id="YOUR_SESSION_ID" && \

View File

@@ -1,11 +1,13 @@
---
sidebar_position: 2
title: RAGFlow MCP Tools
sidebar_label: RAGFlow MCP Tools
slug: /mcp_tools
sidebar_custom_props: {
categoryIcon: LucideToolCase
}
---
# RAGFlow MCP tools
# RAGFlow MCP Tools
The MCP server currently offers a specialized tool to assist users in searching for relevant information powered by RAGFlow DeepDoc technology:

View File

@@ -1,11 +1,13 @@
---
sidebar_position: 3
title: Switch Document Engine
sidebar_label: Switch Document Engine
slug: /switch_doc_engine
sidebar_custom_props: {
categoryIcon: LucideShuffle
}
---
# Switch document engine
# Switch Document Engine
Switch your doc engine from Elasticsearch to Infinity.