À propos du projet

LightRAG est un framework open-source de génération augmentée par récupération (RAG) construit autour de graphes de connaissances, présenté comme une alternative légère à Microsoft GraphRAG. Il combine l'indexation structurée en graphe avec des plongements vectoriels dans une architecture à deux couches, visant à faire le pont entre le RAG vectoriel classique basé sur des segments et le RAG basé sur des graphes. Fonctionnalités principales décrites dans le README : - Indexation structurée en graphe qui capture les dépendances sémantiques entre entités, destinée à surmonter le contexte fragmenté de la récupération par segments. - Récupération à deux niveaux avec cinq modes de requête : local (entités et attributs spécifiques), global (thèmes macro et relations inter-documents), hybride (local + global), naïf (similarité vectorielle simple sur les segments de texte), et mix (local + global + naïf, par défaut). - Mises à jour incrémentales et suppression sélective : lorsqu'un document est supprimé, le système peut utiliser le cache LLM de l'indexation pour reconstruire les entités et relations affectées. - Plusieurs moteurs d'analyse de documents : MinerU, Docling, et un moteur natif qui gère les images, tableaux et formules dans les documents Word et Markdown, ainsi qu'une détection intelligente facultative des titres pour les fichiers .docx à l'aide des modèles spaCy. - Quatre stratégies de découpage du texte : longueur fixe, caractères récursifs, sémantique vectorielle et sémantique par paragraphe, cette dernière alignant les limites des segments sur les titres, paragraphes et tableaux. - Traitement multimodal (v1.5+) reliant les images, formules et tableaux au texte du corps via le graphe de connaissances, avec l'intégration RAG-Anything pour les PDF, images, documents Office, tableaux et formules. - Configuration LLM par rôle avec quatre rôles : EXTRACT, QUERY, KEYWORD et VLM, chacun configurable indépendamment. - Backends de stockage incluant les valeurs par défaut en mémoire avec persistance locale sur fichier, ainsi que PostgreSQL, MongoDB, Neo4j, Milvus, OpenSearch, et d'autres ; PostgreSQL est recommandé pour la production. - Prise en charge des citations pour l'attribution des sources, prise en charge du reranker, intégration de l'évaluation RAGAS et traçage Langfuse. Déploiement et utilisation : - Installable depuis PyPI sous le nom lightrag-hku avec l'extra api, ou depuis les sources avec uv ou pip ; un Makefile fournit des cibles telles que make dev et make env-base. - Le déploiement Docker Compose est pris en charge, avec des images GHCR officielles signées via Sigstore Cosign ; un guide de configuration Apple Container existe pour Apple Silicon sans Docker Desktop. - Un assistant de configuration interactif génère les configurations .env et docker-compose.final.yml pour les paramètres LLM, d'embedding, de reranker, de stockage, de serveur, d'authentification et de SSL. - Le serveur expose une interface Web et une API REST ; le README avertit que l'authentification (LIGHTRAG_API_KEY ou AUTH_ACCOUNTS avec TOKEN_SECRET) doit être configurée avant toute exposition réseau, et que les routes /api/* compatibles Ollama restent ouvertes par défaut sauf si WHITELIST_PATHS est défini. - Les dépendances système facultatives incluent libcairo pour la rastérisation SVG dans l'analyse native markdown/textpack, et les modèles de langue spaCy pour la détection intelligente des titres docx. Les recommandations de modèles dans le README suggèrent un modèle rapide non réflexif pour l'extraction, un modèle plus puissant pour répondre aux requêtes, un modèle léger non réflexif pour l'extraction de mots-clés, et un modèle multimodal pour les tâches VLM ; les modèles d'embedding doivent être choisis avant l'indexation et rester cohérents, avec BAAI/bge-m3 suggéré pour un déploiement local. Le projet est associé à un article arXiv (2410.05779) et est décrit comme accepté à EMNLP 2025.