MCPcopy
hub / github.com/infiniflow/ragflow

github.com/infiniflow/ragflow @v0.26.3 sqlite

repository ↗ · DeepWiki ↗ · release v0.26.3 ↗
40,828 symbols 180,360 edges 3,322 files 13,963 documented · 34%
README

ragflow logo

README in English 简体中文版自述文件 繁體版中文自述文件 日本語のREADME 한국어 README en Français Bahasa Indonesia Português(Brasil) README in Arabic Türkçe README

<a href="https://x.com/intent/follow?screen_name=infiniflowai" target="_blank">
    <img src="https://img.shields.io/twitter/follow/infiniflow?logo=X&color=%20%23f5f5f5" alt="suivre sur X(Twitter)">
</a>
<a href="https://cloud.ragflow.io" target="_blank">
    <img alt="Badge statique" src="https://img.shields.io/badge/Get-Started-4e6b99">
</a>
<a href="https://hub.docker.com/r/infiniflow/ragflow" target="_blank">
    <img src="https://img.shields.io/docker/pulls/infiniflow/ragflow?label=Docker%20Pulls&color=0db7ed&logo=docker&logoColor=white&style=flat-square" alt="docker pull infiniflow/ragflow:v0.26.3">
</a>
<a href="https://github.com/infiniflow/ragflow/releases/latest">
    <img src="https://img.shields.io/github/v/release/infiniflow/ragflow?color=blue&label=Dernière%20version" alt="Dernière version">
</a>
<a href="https://github.com/infiniflow/ragflow/blob/main/LICENSE">
    <img height="21" src="https://img.shields.io/badge/License-Apache--2.0-ffffff?labelColor=d4eaf7&color=2e6cc4" alt="licence">
</a>
<a href="https://deepwiki.com/infiniflow/ragflow">
    <img alt="Ask DeepWiki" src="https://deepwiki.com/badge.svg">
</a>

Cloud | Documentation | Roadmap | Discord

infiniflow%2Fragflow | Trendshift

📕 Table des matières

💡 Qu'est-ce que RAGFlow?

RAGFlow est un moteur de RAG (Retrieval-Augmented Generation) open-source de premier plan qui fusionne les technologies RAG de pointe avec des capacités Agent pour créer une couche de contexte supérieure pour les LLM. Il offre un flux de travail RAG rationalisé, adaptable aux entreprises de toute taille. Alimenté par un moteur de contexte convergent et des modèles d'agents préconstruits, RAGFlow permet aux développeurs de transformer des données complexes en systèmes d'IA haute-fidélité, prêts pour la production, avec une efficacité et une précision exceptionnelles.

🎮 Démarrage

Essayez notre service cloud sur https://cloud.ragflow.io.

🔥 Dernières mises à jour

  • 15-06-2026 Prise en charge de plusieurs canaux de discussion tels que Feishu, Discord, Telegram, Line, etc.
  • 24-04-2026 Prise en charge de DeepSeek v4.
  • 24-03-2026 RAGFlow Skill on OpenClaw — Fournit un skill officiel pour accéder aux datasets RAGFlow via OpenClaw.
  • 26-12-2025 Prise en charge de la « Mémoire » pour l'agent IA.
  • 19-11-2025 Prise en charge de Gemini 3 Pro.
  • 12-11-2025 Prise en charge de la synchronisation de données depuis Confluence, S3, Notion, Discord et Google Drive.
  • 23-10-2025 Prise en charge de MinerU & Docling comme méthodes d'analyse de documents.
  • 15-10-2025 Prise en charge du pipeline d'ingestion orchestrable.
  • 08-08-2025 Prise en charge des derniers modèles de la série GPT-5 d'OpenAI.
  • 01-08-2025 Prise en charge du flux de travail agentique et de MCP.
  • 23-05-2025 Ajout d'un composant exécuteur de code Python/JavaScript à l'Agent.
  • 19-03-2025 Prise en charge de l'utilisation d'un modèle multi-modal pour analyser les images dans les fichiers PDF ou DOCX.

🎉 Restez informé

⭐️ Mettez une étoile à notre dépôt pour rester informé des nouvelles fonctionnalités et améliorations passionnantes ! Recevez des notifications instantanées pour les nouvelles versions ! 🌟

🌟 Fonctionnalités clés

🍭 "Quality in, quality out"

  • Extraction de connaissances basée sur la compréhension approfondie des documents à partir de données non structurées aux formats complexes.
  • Trouve "l'aiguille dans la meule de données" de tokens littéralement illimités.

🍱 Découpage(Chunking) basé sur des templates

  • Intelligent et explicable.
  • De nombreuses options de templates disponibles.

🌱 Citations fondées avec réduction des hallucinations

  • Visualisation du découpage de texte pour permettre une intervention humaine.
  • Aperçu rapide des références clés et citations traçables pour soutenir des réponses fondées.

🍔 Compatibilité avec des sources de données hétérogènes

  • Prend en charge Word, présentations, Excel, txt, images, copies numérisées, données structurées, pages web, et plus encore.

🛀 Flux de travail RAG automatisé et sans effort

  • Orchestration RAG rationalisée adaptée aux particuliers comme aux grandes entreprises.
  • LLM et modèles d'embedding configurables.
  • Rappel multiple associé à un ré-classement fusionné.
  • APIs intuitives pour une intégration transparente avec les entreprises.

🔎 Architecture du système

🎬 Auto-hébergement

📝 Prérequis

  • CPU >= 4 cœurs
  • RAM >= 16 Go
  • Disque >= 50 Go
  • Docker >= 24.0.0 & Docker Compose >= v2.26.1
  • Python >= 3.13
  • gVisor : Requis uniquement si vous souhaitez utiliser la fonctionnalité d'exécuteur de code (sandbox) de RAGFlow.

[!TIP] Si vous n'avez pas installé Docker sur votre machine locale (Windows, Mac ou Linux), consultez Installer Docker Engine.

🚀 Démarrer le serveur

  1. Assurez-vous que vm.max_map_count >= 262144 :

Pour vérifier la valeur de vm.max_map_count :

bash $ sysctl vm.max_map_count

Réinitialisez vm.max_map_count à une valeur d'au moins 262144 si ce n'est pas le cas.

```bash

Dans ce cas, nous le définissons à 262144 :

$ sudo sysctl -w vm.max_map_count=262144 ```

Ce changement sera réinitialisé après un redémarrage du système. Pour que votre modification reste permanente, ajoutez ou mettez à jour la valeur vm.max_map_count dans /etc/sysctl.conf :

bash vm.max_map_count=262144

  1. Clonez le dépôt :

bash $ git clone https://github.com/infiniflow/ragflow.git 3. Démarrez le serveur en utilisant les images Docker préconstruites :

[!CAUTION] Toutes les images Docker sont construites pour les plateformes x86. Nous ne proposons pas actuellement d'images Docker pour ARM64. Si vous êtes sur une plateforme ARM64, suivez ce guide pour construire une image Docker compatible avec votre système.

La commande ci-dessous télécharge l'édition v0.26.3 de l'image Docker RAGFlow. Consultez le tableau suivant pour les descriptions des différentes éditions de RAGFlow. Pour télécharger une édition de RAGFlow différente de v0.26.3, mettez à jour la variable RAGFLOW_IMAGE dans docker/.env avant d'utiliser docker compose pour démarrer le serveur.

   $ cd ragflow/docker

   # git checkout v0.26.3
   # Optionnel : utiliser un tag stable (voir les versions : https://github.com/infiniflow/ragflow/releases)
   # Cette étape garantit que le fichier **entrypoint.sh** dans le code correspond à la version de l'image Docker.

   # Use CPU for DeepDoc tasks:
   $ docker compose -f docker-compose.yml up -d

   # To use GPU to accelerate DeepDoc tasks:
   # sed -i '1i DEVICE=gpu' .env
   # docker compose -f docker-compose.yml up -d

Remarque : Avant v0.22.0, nous fournissions à la fois des images avec des modèles d'embedding et des images slim sans modèles d'embedding. Détails ci-dessous :

RAGFlow image tag Image size (GB) Has embedding models? Stable?
v0.21.1 ≈9 ✔️ Stable release
v0.21.1-slim ≈2 Stable release

À partir de v0.22.0, nous ne distribuons que l'édition slim et ne rajoutons plus le suffixe -slim au tag d'image.

  1. Vérifiez l'état du serveur après son démarrage :

bash $ docker logs -f docker-ragflow-cpu-1

La sortie suivante confirme un lancement réussi du système :

```bash

     ____   ___    ______ ______ __
    / __ \ /   |  / ____// ____// /____  _      __
   / /_/ // /| | / / __ / /_   / // __ \| | /| / /
  / _, _// ___ |/ /_/ // __/  / // /_/ /| |/ |/ /
 /_/ |_|/_/  |_|\____//_/    /_/ \____/ |__/|__/

* Running on all addresses (0.0.0.0)

```

Si vous sautez cette étape de confirmation et vous connectez directement à RAGFlow, votre navigateur peut afficher une erreur network abnormal, car à ce moment-là, votre RAGFlow peut ne pas être entièrement initialisé.

  1. Dans votre navigateur web, entrez l'adresse IP de votre serveur et connectez-vous à RAGFlow.

Avec les paramètres par défaut, il vous suffit d'entrer http://IP_OF_YOUR_MACHINE (sans numéro de port), car le port HTTP par défaut 80 peut être omis lors de l'utilisation des configurations par défaut.

  1. Dans service_conf.yaml.template, sélectionnez la fabrique LLM souhaitée dans user_default_llm et mettez à jour le champ API_KEY avec la clé API correspondante.

Voir llm_api_key_setup pour plus d'informations.

Le spectacle commence !

🔧 Configurations

En ce qui concerne les configurations système, vous devrez gérer les fichiers suivants :

  • .env : Conserve les paramètres de base du système, tels que SVR_HTTP_PORT, MYSQL_PASSWORD et MINIO_PASSWORD.
  • service_conf.yaml.template : Configure les services back-end. Les variables d'environnement dans ce fichier seront automatiquement renseignées au démarrage du conteneur Docker. Toutes les variables d'environnement définies dans le conteneur Docker seront disponibles, vous permettant de personnaliser le comportement du service en fonction de l'environnement de déploiement.
  • docker-compose.yml : Le système s'appuie sur docker-compose.yml pour démarrer.

Le fichier ./docker/README fournit une description détaillée des paramètres d'environnement et des configurations de services qui peuvent être utilisés comme ${ENV_VARS} dans le fichier service_conf.yaml.template.

Pour mettre à jour le port HTTP de service par défaut (80), accédez à docker-compose.yml et changez 80:80 en <YOUR_SERVING_PORT>:80.

Les mises à jour des configurations ci-dessus nécessitent un redémarrage de tous les conteneurs pour prendre effet :

bash $ docker compose -f docker-compose.yml up -d

Passer du moteur de documents Elasticsearch à Infinity

RAGFlow utilise

Extension points exported contracts — how you extend this code

Retriever (Interface)
Retriever abstracts chunk retrieval for AskService. [7 implementers]
internal/service/ask_service.go
FileParser (Interface)
FileParser defines the interface for all file parsers. [9 implementers]
internal/ingestion/parser/type.go
Storage (Interface)
Storage defines the interface for storage operations [6 implementers]
internal/storage/types.go
CheckPointStore (Interface)
---- Checkpoint store ---- [9 implementers]
internal/harness/core/interrupt.go
Rectangular (Interface)
Rectangular is any 2D axis-aligned rectangle that can report its bounds. [8 implementers]
internal/deepdoc/parser/type/types.go
SandboxProvider (Interface)
SandboxProvider is the contract every backend must satisfy. The shape mirrors `agent/sandbox/providers/base.py` SandboxP [8 …
internal/agent/sandbox/provider.go
ModelDriver (Interface)
EmbeddingModel interface for embedding models [63 implementers]
internal/entity/models/types.go
DocEngine (Interface)
DocEngine document storage engine interface [5 implementers]
internal/engine/engine.go

Core symbols most depended-on inside this repo

Errorf
called by 12274
internal/harness/core/evals/evals.go
Fatalf
called by 5078
internal/deepdoc/parser/pdf/tool/types.go
append
called by 2406
deepdoc/vision/table_structure_recognizer.py
get
called by 1878
api/db/reload_config_base.py
get
called by 1381
rag/utils/s3_conn.py
Contains
called by 1221
internal/harness/graph/managed/managed.go
String
called by 1184
internal/ingestion/chunk/type.go
nextToken
called by 1002
internal/cli/parser.go

Shape

Method 17,494
Function 16,334
Class 3,290
Struct 2,246
Interface 659
Route 518
Enum 135
TypeAlias 82
FuncType 70

Languages

Go45%
Python39%
TypeScript17%

Modules by API surface

web/public/pdfjs-dist/pdf.worker.min.js3,439 symbols
api/db/db_models.py172 symbols
test/testcases/test_http_api/test_session_management/test_session_sdk_routes_unit.py168 symbols
rag/llm/embedding_model.py161 symbols
internal/cli/response.go160 symbols
test/testcases/restful_api/test_user_tenant_routes_unit.py147 symbols
internal/service/document.go143 symbols
internal/service/document_test.go141 symbols
internal/service/chunk/chunk_test.go135 symbols
internal/cli/admin_parser.go126 symbols
rag/llm/chat_model.py125 symbols
internal/service/dataset.go125 symbols

Dependencies from manifests, versioned

cloud.google.com/gov0.116.0 · 1×
cloud.google.com/go/authv0.9.3 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
connectrpc.com/connectv1.19.2 · 1×
github.com/DATA-DOG/go-sqlmockv1.5.2 · 1×
github.com/alibabacloud-go/agentrun-20250910/v5v5.8.4 · 1×
github.com/alibabacloud-go/alibabacloud-gateway-spiv0.0.5 · 1×
github.com/alibabacloud-go/darabonba-openapi/v2v2.2.1 · 1×
github.com/alibabacloud-go/debugv1.0.1 · 1×
github.com/alibabacloud-go/teav1.5.0 · 1×
github.com/alibabacloud-go/tea-utils/v2v2.0.9 · 1×
github.com/alicebob/miniredis/v2v2.38.0 · 1×

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add ragflow \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact