mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-08-02 05:47:31 +08:00
docs: modify docs display & add images (#17575)
### Summary modify docs display add some images delete enterprise docs standardize capitalization
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"label": "Developer guides",
|
||||
"label": "Developer Guides",
|
||||
"position": 5,
|
||||
"link": {
|
||||
"type": "generated-index",
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||

|
||||
|
||||
### 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
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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" && \
|
||||
|
||||
@@ -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:
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user