KAG : framework de QA à raisonnement logique basé sur le moteur OpenSPG et les LLM 137

小编 ·

KAG : framework de QA à raisonnement logique basé sur le moteur OpenSPG et les LLM

KAG (Knowledge Augmented Generation) est un framework de services de connaissance pour domaines professionnels proposé par Ant Group, basé sur le moteur OpenSPG et les LLM. Il vise à fournir des solutions de QA à raisonnement logique sur des bases de connaissances verticales. En combinant les atouts des graphes de connaissances et de la recherche vectorielle, KAG surmonte l'ambiguïté de la similarité vectorielle du RAG classique et le bruit du GraphRAG basé sur OpenIE, prenant en charge le raisonnement logique et le QA factuel multi-sauts, avec des performances supérieures aux approches SOTA actuelles.

KAG : framework de QA à raisonnement logique basé sur le moteur OpenSPG et les LLM

Qu'est-ce que KAG ?

KAG (Knowledge Augmented Generation) est un framework de services de connaissances spécialisé lancé par Ant Group, basé sur le moteur OpenSPG et les LLM, visant à construire des solutions de questions-réponses par raisonnement logique pour des bases de connaissances dans des domaines verticaux. En combinant les avantages des graphes de connaissances et de la recherche vectorielle, il surmonte efficacement l'ambiguïté du calcul de similarité vectorielle du RAG traditionnel et les problèmes de bruit du GraphRAG introduit par OpenIE. Il prend en charge le raisonnement logique, les questions-réponses factuelles multi-sauts, etc., surpassant les solutions SOTA les plus avancées actuelles.

Fonctionnalités principales de KAG

  • Amélioration des questions-réponses dans des domaines spécialisés : en combinant les graphes de connaissances et la recherche vectorielle, il améliore les capacités de questions-réponses des grands modèles de langage dans des domaines spécifiques, générant des réponses plus précises, plus professionnelles et plus logiques.

  • Optimisation de la représentation et de la recherche des connaissances : en adoptant un framework de représentation des connaissances convivial pour les LLM, il permet l'indexation mutuelle entre les graphes de connaissances et les blocs de texte bruts, optimisant les processus de représentation, de raisonnement et de recherche des connaissances, et améliorant la précision et la pertinence des résultats de recherche.

  • Raisonnement hybride et résolution de problèmes : basé sur un moteur de raisonnement hybride guidé par des formes logiques, il transforme les questions en langage naturel en processus de résolution de problèmes combinant langage et symboles, intégrant recherche, raisonnement sur graphes de connaissances, raisonnement linguistique et calcul numérique, traitant ainsi efficacement les problèmes complexes.

  • Alignement des connaissances et enrichissement sémantique : basé sur le raisonnement sémantique pour l'alignement des connaissances, il définit les connaissances du domaine comme diverses relations sémantiques, améliorant la normalisation et la connectivité des connaissances, et renforçant la précision et la cohérence de la représentation des connaissances.

Fonctionnalités principales de KAG.webp

Architecture technique de KAG

  • kg-builder : responsable de la représentation et de la construction des connaissances. Il met en œuvre une représentation des connaissances conviviale pour les LLM, améliore les capacités de représentation des connaissances SPG sur la base de la hiérarchie DIKW, est compatible avec la construction de connaissances sans schéma et avec schéma, et prend en charge la représentation par indexation mutuelle des structures de graphes et des blocs de texte, fournissant ainsi un support pour une recherche efficace lors des étapes ultérieures de raisonnement et de questions-réponses.

  • kg-solver : responsable du raisonnement et de la résolution. Il adopte un moteur de résolution et de raisonnement hybride guidé par des formes logiques, comprenant trois opérateurs : planification, raisonnement et recherche, capables d'intégrer quatre processus de résolution de problèmes : recherche, raisonnement sur graphes de connaissances, raisonnement linguistique et calcul numérique, permettant ainsi de traiter des tâches complexes de raisonnement logique et de questions-réponses.

  • kag-model : sera progressivement open source par la suite ; ses fonctionnalités ne sont pas détaillées dans la version actuelle.

Architecture technique de KAG.png

Tutoriel d'utilisation de KAG

Version produit (pour les utilisateurs ordinaires)

Configuration système requise :les versions système recommandées sont macOS Monterey 12.6 ou version ultérieure, CentOS 7/Ubuntu 20.04 ou version ultérieure, Windows 10 LTSC 2021 ou version ultérieure.

Logiciels requis :les utilisateurs macOS/Linux ont besoin de Docker et Docker Compose ; les utilisateurs Windows ont besoin de WSL 2/Hyper-V, Docker et Docker Compose.

Étapes d'installation :utilisez les commandes suivantes pour télécharger docker-compose.yml et démarrer le service avec Docker Compose :

curl -sSL https://raw.githubusercontent.com/OpenSPG/openspg/refs/heads/master/dev/release/docker-compose.yml -o docker-compose.yml
docker compose -f docker-compose.yml up -d

Méthode d'utilisation :ouvrez le lien par défaut du produit KAG http://127.0.0.1:8887 dans le navigateur, et connectez-vous avec le nom d'utilisateur par défaut openspg et le mot de passe openspg@kag.

Version boîte à outils (pour les développeurs)

Étapes d'installation :

Installez un environnement virtuel Python, clonez le code et installez KAG.

  • Développeurs macOS/Linux :

conda create -n kag-demo python=3.10 && conda activate kag-demo
git clone https://github.com/OpenSPG/KAG.git
cd KAG && pip install -e .
  • Développeurs Windows :

py -m venv kag-demo && kag-demo\Scripts\activate
git clone https://github.com/OpenSPG/KAG.git
cd KAG && pip install -e .

Méthode d'utilisation :les développeurs peuvent, à partir des divers composants intégrés à KAG, reproduire les effets sur les jeux de données intégrés et déployer de nouveaux scénarios.

GitHub : https://github.com/OpenSPG/KAG

OpenSPG : https://spg.openkg.cn/