NodeRAG : un outil basé sur les graphes hétérogènes pour la recherche et la génération d'informations précises
Introduction générale
NodeRAG est un système open source de génération augmentée de recherche (RAG) hébergé sur GitHub et développé par Terry-Xu-666, qui optimise la recherche et la génération d'informations à travers des structures de graphes hétérogènes afin d'améliorer de manière significative la précision de la recherche et la pertinence contextuelle. NodeRAG prend en charge le déploiement local et fournit des interfaces conviviales et des outils de visualisation pour la recherche universitaire, la gestion des connaissances et l'analyse des données. La première version stable du projet (v0.1.0) sera publiée en mars 2025 et peut être installée via PyPI. La documentation officielle est complète et la communauté est active et à jour. Par rapport aux RAG NodeRAG est plus performant en matière de raisonnement multi-sauts, de vitesse de recherche et d'efficacité de stockage, et il est particulièrement adapté au traitement d'ensembles de données complexes.

Liste des fonctions
- Structure de graphe hétérogène : prend en charge plusieurs types de nœuds (par exemple, documents, entités, mots-clés) afin d'améliorer la précision de la recherche.
- Recherche précise : le raisonnement multi-sauts et les requêtes contextuelles pertinentes sont pris en charge par la décomposition, l'augmentation, l'enrichissement et la recherche de graphes.
- Visualisation des données : fournit une visualisation interactive de la structure graphique pour faciliter la compréhension des relations complexes entre les données.
- Interface de déploiement local : prend en charge les opérations locales et offre une expérience d'interaction intuitive avec l'utilisateur.
- Installation multiplateforme : Prise en charge de l'installation Conda, Docker et PyPI, compatible avec de multiples environnements.
- Mise à jour incrémentale : permet la mise à jour dynamique de la structure du graphe sans avoir à reconstruire l'ensemble de la base de données du graphe.
- Optimisation haute performance : indexation et interrogation rapides pour le traitement d'ensembles de données à grande échelle.
- Documentation ouverte : fournit des tutoriels détaillés, des exemples de code et des documents universitaires pour faciliter l'apprentissage.
Utiliser l'aide
Processus d'installation
NodeRAG supporte une variété de méthodes d'installation. Ce qui suit décrit les étapes de l'installation via Conda et PyPI. Assurez-vous que Python 3.10 ou plus est installé sur votre système.
1. installation par Conda
- Créer un environnement virtuel
Ouvrez un terminal et exécutez la commande suivante pour créer et activer un environnement Conda :conda create -n NodeRAG python=3.10 conda activate NodeRAG
- Cloner la base de code (optionnel)
Si vous avez besoin du code source ou d'une version de développement, vous pouvez le cloner sur GitHub :git clone https://github.com/Terry-Xu-666/NodeRAG.git cd NodeRAG
- Installation des dépendances
Dans le répertoire du projet, exécutez la commande suivante pour installer les dépendances :pip install -r requirements.txt
Les dépendances comprennent
networkx
(opération de figure),numpy
(calculs numériques),flask
(interface Web), etc. - Installation de NodeRAG
Si vous n'avez pas cloné la base de code, vous pouvez l'installer directement depuis PyPI :pip install NodeRAG
- Exécution de l'interface locale
Exécutez la commande suivante pour démarrer l'interface web locale :python -m NodeRAG.app
Ouvrez votre navigateur et visitez
http://localhost:5000
L'interface NodeRAG est accessible.
2. installation accélérée par UV (en option)
Pour accélérer l'installation, utilisez la fonction uv
Outils :
- montage
uv
: :pip install uv
- utiliser
uv
Installer NodeRAG :uv pip install NodeRAG
3. vérification de l'installation
Après avoir lancé l'interface, chargez le jeu de données d'exemple officiellement fourni (situé dans le fichier data/sample
ou la documentation en ligne), vérifiez que la visualisation du diagramme s'affiche correctement. En cas de problème, veuillez vous référer à la FAQ officielle.
Utilisation des fonctions principales
Le cœur de NodeRAG réside dans la construction, la recherche et la génération de graphes hétérogènes. Les paragraphes suivants décrivent en détail le processus d'exploitation.
1. construire des cartes hétérogènes
NodeRAG utilise des graphes hétérogènes pour stocker les données, et les types de nœuds comprennent les documents, les entités, les mots-clés, etc. Les utilisateurs doivent préparer des données au format JSON ou CSV contenant du texte et des métadonnées (par exemple, titre, auteur). Etapes :
- Connectez-vous à l'interface web et cliquez sur "Data Import".
- Sélectionnez le fichier de données et définissez le type de nœud (par exemple "Document") et la relation de bord (par exemple "Document-Mot-clé").
- Cliquez sur "Construire le diagramme", le système génère la structure du diagramme et l'enregistre dans la base de données locale.
Exemple : importation d'un ensemble de données d'articles universitaires, le système extrait les titres, les auteurs, les mots clés et génère un graphe de connaissances.
2. recherche d'information exécutive
La recherche de NodeRAG est basée sur un algorithme de recherche de graphe et prend en charge le raisonnement multi-sauts. Étapes de l'opération :
- Saisissez une requête dans l'interface, par exemple "Deep Learning in Healthcare".
- Sélectionnez la profondeur de recherche (2-3 sauts recommandés) et cliquez sur "Rechercher".
- Le système renvoie les nœuds, les arêtes et les chemins pertinents, mettant en évidence les relations contextuelles.
- Les résultats sont présentés sous forme de liste et de graphique, et les utilisateurs peuvent cliquer sur les nœuds pour afficher les détails.
La recherche prend en charge les requêtes complexes telles que les combinaisons multicritères ou les recherches inter-champs.
3. la génération de contenu
NodeRAG génère des réponses contextuelles pertinentes en conjonction avec le Big Model. Étapes opérationnelles :
- Dans l'écran des résultats de la recherche, cliquez sur "Générer une réponse".
- Le système génère un texte basé sur les nœuds récupérés en invoquant le grand modèle.
- Paramètres réglables par l'utilisateur (par exemple
temperature
,max_tokens
) contrôle le style de sortie.
Exemple : la requête "Avancées récentes en informatique quantique" génère une réponse qui inclut les développements récents de la recherche.
4. visualisation des données
NodeRAG fournit des outils de visualisation de graphiques interactifs pour aider les utilisateurs à analyser visuellement les relations entre les données. Etapes de l'opération :
- Sélectionnez "Graph Visualisation" dans l'interface.
- Le système affiche les nœuds et les arêtes du graphique et permet de zoomer, de glisser et de filtrer.
- Cliquez sur un nœud pour voir les attributs (par exemple, le contenu du texte) et cliquez sur une arête pour voir le type de relation.
Cette fonction est adaptée à l'exploration d'ensembles de données complexes tels que les graphes de connaissances et les réseaux sociaux.
5. mise à jour progressive
NodeRAG prend en charge la mise à jour dynamique de la structure du graphe sans reconstruire l'ensemble du graphe. Étapes de l'opération :
- Sélectionnez "Mise à jour incrémentale" sur l'écran.
- Téléchargez de nouveaux fichiers de données et le système les intègre automatiquement dans la structure du diagramme existant.
- Après la mise à jour, exécutez à nouveau la requête pour vérifier les résultats.
Cette fonction convient aux scénarios de mise à jour continue tels que les bases de données d'actualités ou les référentiels de documents d'entreprise.
6. configuration personnalisée
Les utilisateurs avancés peuvent modifier les config.yaml
Le fichier ajuste la structure du graphe et les paramètres de l'algorithme, tels que les poids des nœuds, les types d'arêtes et la profondeur de recherche. Après modification, exécutez la commande suivante pour recharger le fichier :
python -m NodeRAG.reload_config
Fonction en vedette Fonctionnement
La structure de graphe hétérogène de NodeRAG est sa force principale, optimisant la recherche et la génération à travers les quatre étapes suivantes :
- décomposition graphique Les requêtes complexes sont divisées en sous-tâches et affectées à différents types de nœuds.
- amélioration graphique Les relations implicites complémentaires entre les nœuds afin d'améliorer l'intégrité contextuelle.
- Enrichissement des graphiques Les données externes (par exemple, les ensembles de données accessibles au public) peuvent être intégrées dans le graphe.
- recherche d'images Les nœuds de la carte : Utiliser des algorithmes efficaces pour localiser rapidement les nœuds pertinents.
Procédure d'exploitation : - Activez "Graph Enhancement" ou "Graph Enrichment" dans les "Paramètres avancés" de l'interface.
- Après avoir introduit une requête, le système applique automatiquement ces étapes pour générer des résultats plus précis.
Ces caractéristiques améliorent considérablement le raisonnement multi-sauts et conviennent à l'analyse de problèmes complexes.
Problèmes courants résolus...
- échec de l'installation Vérifier la version de Python (3.10+ requis) et la connexion réseau. Utiliser un miroir domestique pour accélérer l'installation :
pip install NodeRAG -i https://pypi.tuna.tsinghua.edu.cn/simple
- L'interface est inaccessible : Accusé de réception
NodeRAG.app
est en cours d'exécution, vérifiez si le port 5000 est occupé. - Résultats de recherche imprécis Optimiser les données d'entrée (s'assurer que les métadonnées sont complètes) ou augmenter la profondeur de la recherche.
- Problèmes d'intégration des grands modèles : en
config.yaml
L'API du modèle ou le chemin d'accès au modèle local est correctement configuré dans le fichier
D'autres questions peuvent être posées dans la documentation officielle :NodeRAG_web.
note complémentaire
- Préparation des données Les données d'entrée doivent être structurées, le format JSON étant recommandé, et contenir les éléments suivants
content
(texte) etmetadata
(Métadonnées). - l'optimisation des performances NodeRAG utilise un algorithme et un mécanisme d'indexation unifiés, et les temps de réponse aux requêtes sont généralement de l'ordre de la seconde, même lorsqu'il s'agit d'ensembles de données à grande échelle.
- Soutien communautaire Le dépôt GitHub fournit une page "Issues" où les utilisateurs peuvent soumettre des problèmes ou participer à des discussions.
scénario d'application
- recherche universitaire
Les chercheurs peuvent utiliser NodeRAG pour organiser les données de la littérature et construire un graphe de relations entre les thèses. Après avoir importé l'ensemble des données relatives aux thèses, le système extrait les mots-clés, les auteurs et les relations de citation pour générer un graphe de connaissances. Les utilisateurs peuvent interroger le sujet de recherche, obtenir de la documentation connexe et une analyse contextuelle, ce qui convient à l'examen de la documentation ou à la planification d'un sujet. - Gestion des connaissances de l'entreprise
Les entreprises peuvent utiliser NodeRAG pour gérer les documents internes et construire une base de connaissances. Après avoir importé des documents techniques et des rapports de projet, le système génère un diagramme de relations documentaires. Les employés peuvent rapidement rechercher des informations et améliorer l'efficacité du partage des connaissances, ce qui convient aux équipes techniques ou à la collaboration interdépartementale. - Analyse et visualisation des données
Les analystes de données peuvent utiliser NodeRAG pour analyser des ensembles de données complexes tels que des réseaux sociaux ou des données sur les relations avec les clients. Le système permet de découvrir des modèles cachés en visualisant les connexions de données à l'aide de graphiques, et convient à l'analyse de marché, à l'évaluation des risques ou au développement de systèmes de recommandation. - Traitement de l'information en temps réel
La fonction de mise à jour incrémentale de NodeRAG est adaptée au traitement de données dynamiques, telles que les actualités ou le contenu des médias sociaux. Les utilisateurs peuvent continuellement importer de nouvelles données et le système met automatiquement à jour la structure du graphe pour que les résultats de la recherche restent actuels.
QA
- Quels sont les formats de données pris en charge par NodeRAG ?
Les formats JSON, CSV et TXT sont pris en charge. Le format JSON est recommandé et nécessite l'inclusion des éléments suivantscontent
(texte) etmetadata
(par exemple, auteur, date). - Comment améliorer la précision des recherches ?
Veillez à ce que les données contiennent de riches méta-informations, permettez l'amélioration ou l'enrichissement des graphes et augmentez la profondeur de la recherche de manière appropriée (2 à 3 sauts). - NodeRAG permet-il des mises à jour en direct ?
Prend en charge les mises à jour incrémentielles, les utilisateurs peuvent télécharger de nouvelles données pour mettre à jour dynamiquement la structure du graphe sans reconstruire l'ensemble du graphe. - Le soutien d'un grand modèle est-il nécessaire ?
NodeRAG peut être intégré à des modèles tels que LLaMA, GPT, etc. Nécessite l'utilisation du logicielconfig.yaml
Configurer les API du modèle ou les chemins d'accès locaux dans le fichier - Comment consulter les indices de performance ?
La documentation officielle fournit des tableaux de comparaison des performances qui démontrent les avantages de NodeRAG en termes de qualité et de rapidité d'extraction. NodeRAG_web.
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...