Home
Login

Outil open source de questions-réponses intelligentes sur les documents basé sur la technologie RAG, permettant une interaction conversationnelle avec vos documents.

Apache-2.0Python 22.5kCinnamon Last Updated: 2025-06-11

Kotaemon - Outil Open Source d'IA Conversationnelle pour Documents RAG

Aperçu du Projet

Kotaemon est un outil RAG (Retrieval-Augmented Generation) open source, spécialement conçu pour l'interaction conversationnelle avec des documents. Ce projet vise à fournir aux utilisateurs finaux et aux développeurs une interface utilisateur RAG complète, répondant à la fois aux besoins des utilisateurs en matière de questions-réponses sur les documents et aidant les développeurs à construire leurs propres pipelines RAG.

Caractéristiques Principales

Fonctionnalités pour l'Utilisateur Final

  • Interface UI épurée et esthétique : Fournit une interface conviviale pour les questions-réponses RAG.
  • Prise en charge de plusieurs LLM : Compatible avec divers fournisseurs d'API LLM (OpenAI, AzureOpenAI, Cohere, etc.) et LLM locaux (via ollama et llama-cpp-python).
  • Installation facile : Fournit des scripts simples pour un démarrage rapide.
  • Prise en charge multi-utilisateurs : Prend en charge la connexion multi-utilisateurs, la création de collections de documents privées/publiques, la collaboration et le partage.

Fonctionnalités pour le Développeur

  • Framework de pipeline RAG : Fournit des outils pour construire des pipelines de questions-réponses RAG pour documents.
  • UI personnalisable : Basée sur Gradio, permet de visualiser les effets réels du pipeline RAG.
  • Pipeline RAG hybride : Utilise un moteur de recherche hybride (texte intégral et vectoriel) et un réordonnancement pour garantir une qualité de recherche optimale.
  • Extensibilité : Prend en charge des éléments d'UI personnalisés et diverses stratégies d'indexation et de recherche de documents.

Fonctionnalités Avancées

  • Prise en charge des questions-réponses multimodales : Prend en charge les questions-réponses sur plusieurs documents contenant des graphiques et des tableaux, et l'analyse de documents multimodaux.
  • Fonctionnalités de citation avancées : Fournit des informations de citation détaillées pour garantir l'exactitude des réponses du LLM, avec visualisation directe du contenu cité mis en évidence dans une visionneuse PDF de navigateur.
  • Méthodes de raisonnement complexes : Prend en charge la décomposition des questions pour répondre à des questions complexes/multi-sauts, et le raisonnement basé sur des agents, tels que ReAct, ReWOO, etc.
  • Interface de paramètres configurable : Permet d'ajuster les aspects importants du processus de recherche et de génération (y compris les prompts) directement dans l'UI.

Architecture Technique

Formats de Documents Pris en Charge

  • PDF, HTML, MHTML, XLSX
  • Prise en charge de plus de formats via la bibliothèque Unstructured (.doc, .docx, etc.)

Options de Stockage de Données

  • Stockage de documents : Elasticsearch, LanceDB, SimpleFileDocumentStore
  • Stockage vectoriel : ChromaDB, LanceDB, InMemory, Milvus, Qdrant

Prise en Charge des Modèles LLM

  • Fournisseurs d'API : OpenAI, Azure OpenAI, Cohere, Groq, etc.
  • Modèles locaux : Prise en charge des modèles au format GGUF via Ollama et llama-cpp-python.

Intégration GraphRAG

Le projet prend en charge deux implémentations GraphRAG :

NanoGraphRAG (Recommandé)

  • Intégration plus directe avec Kotaemon
  • Identification automatique du LLM par défaut et du modèle d'embedding

MS GraphRAG

  • Implémentation officielle Microsoft GraphRAG
  • Prend uniquement en charge les API OpenAI ou Ollama
  • Prend en charge les modèles locaux et les paramètres personnalisés

Installation et Déploiement

Déploiement Docker (Recommandé)

Fournit des images Docker allégées et complètes :

  • Version allégée : Prend en charge les types de fichiers de base, image plus petite.
  • Version complète : Inclut le package unstructured, prend en charge plus de types de fichiers.

Installation Locale

  1. Télécharger la dernière version du fichier release
  2. Configurer le fichier .env
  3. Exécuter python app.py pour démarrer le service
  4. Nom d'utilisateur et mot de passe par défaut : admin

Personnalisation et Extension

Personnalisation du Pipeline de Raisonnement

  • Possibilité d'ajouter de nouvelles implémentations .py dans libs/ktem/ktem/reasoning/
  • Activer les nouveaux pipelines de raisonnement via flowsettings

Personnalisation du Pipeline d'Indexation

  • Se référer aux exemples d'implémentation dans libs/ktem/ktem/index/file/graph
  • Prise en charge des pipelines d'indexation GraphRAG

Fichiers de Configuration

  • flowsettings.py : Configuration de l'application
  • .env : Configuration des modèles et des informations d'identification

Cas d'Utilisation

  1. Gestion des connaissances d'entreprise : Construction d'un système de questions-réponses pour les documents internes.
  2. Recherche académique : Questions-réponses intelligentes sur la littérature de recherche.
  3. Analyse de documents juridiques : Recherche et analyse rapides de documents juridiques.
  4. Support de documentation technique : Fournir une recherche intelligente de documentation technique aux utilisateurs.
  5. Base de connaissances personnelle : Gestion et interrogation de collections de documents personnels.

Avantages du Projet

  • Open source et gratuit : Entièrement open source, libre d'utilisation et de modification.
  • Fonctionnalités complètes : Des questions-réponses simples au raisonnement complexe, couverture fonctionnelle complète.
  • Facile à utiliser : Interface Web intuitive, utilisable sans connaissances techniques.
  • Hautement personnalisable : Prend en charge diverses options de configuration et d'extension.
  • Communauté active : Mises à jour continues et support de la communauté.

Caractéristiques Techniques

  • Développé en Python
  • Utilisation de Gradio pour construire l'interface Web
  • Prise en charge du déploiement via conteneur Docker
  • Conception d'architecture modulaire
  • Prise en charge de l'accélération GPU (modèles locaux)

Conclusion

Kotaemon est un outil UI RAG puissant qui permet aux utilisateurs d'interagir avec des documents par le biais de conversations. Il fournit non seulement une interface de questions-réponses sur les documents simple et facile à utiliser pour les utilisateurs finaux, mais offre également aux développeurs un framework complet pour construire des systèmes RAG personnalisés. Grâce à la recherche hybride, à la prise en charge multimodale, aux fonctionnalités de citation avancées et à d'autres caractéristiques, Kotaemon offre une solution complète et professionnelle dans le domaine des questions-réponses intelligentes sur les documents.