OpenSPG : moteur de graphe de connaissances open source

Introduction générale

OpenSPG est un moteur de graphe de connaissances open source développé par Ant Group en collaboration avec OpenKG, basé sur le cadre SPG (Semantic Enhanced Programmable Graph). Le moteur est conçu pour soutenir la construction et la gestion de graphes de connaissance de domaine en fournissant des fonctionnalités telles que la représentation sémantique explicite, les définitions de règles logiques et les cadres opérationnels. OpenSPG combine la simplicité de la structure LPG avec la complexité de la sémantique RDF, et convient à un large éventail de scénarios d'entreprise tels que la finance.

OpenSPG:开源知识图谱引擎

 

OpenSPG:开源知识图谱引擎

 

Liste des fonctions

  • Modélisation des connaissances : aide à la modélisation des connaissances des contraintes du modèle de domaine
  • Représentation sémantique : fournir une représentation sémantique explicite et des définitions de règles logiques
  • Cadres opérationnels : soutien à la construction, au raisonnement et à d'autres cadres opérationnels
  • Adaptation des plug-ins : permet l'adaptation des plug-ins du moteur sous-jacent et des services algorithmiques.
  • Visualisation des données : fournir une interface intuitive pour l'exploration et l'analyse des données

 

Utiliser l'aide

Processus d'installation

Installation du serveur

Le côté serveur est déployé sur la base de Docker Compose et contient 4 images principales :

  • openspg-serverFournir des services de schéma
  • openspg-mysqlStockage des données du schéma : Stockage des données du schéma
  • tugrapheStockage des données de cartographie : Stockage des données de cartographie
  • elasticsearchDonnées cartographiques indexées
  1. téléchargement docker-compose.yml et exécutez les commandes suivantes dans le répertoire actuel, puis attendez la fin de l'exécution des commandes pour terminer le démarrage du serveur :
    docker-compose -f docker-compose.yml up -d
    
  2. (coll.) échouer (un étudiant) openspg-server Après le démarrage local, vous pouvez ouvrir le port http://127.0.0.1:8887 pour voir la page de visualisation frontale. Si le port openspg-server En cas de déploiement à distance, l'adresse IP correspondante doit être modifiée en conséquence.

Installation du client

Le client fournit également une image Docker, et l'exécution directe de la commande suivante permet de récupérer cette image :

docker pull --platform linux/x86_64 spg-registry.cn-hangzhou.cr.aliyuncs.com/spg/openspg-python:latest

Après avoir téléchargé l'image, vous pouvez cloner le code source d'OpenSPG :

git clone --depth=1 https://github.com/OpenSPG/openspg.git

Une fois le clone de la source terminé, vous pouvez faire l'expérience des cas qui accompagnent la source :

# 启动容器,将其中的${project_dir}替换成源码目录
docker run --rm --net=host -v ${project_dir}:/code \
  -it spg-registry.cn-hangzhou.cr.aliyuncs.com/spg/openspg-python:latest \
  "/bin/bash"
  
# 容器启动后,进入/code目录,即openspg项目源码目录
cd /code

# 后续可以安装案例教程,比如进入riskmining目录
cd python/knext/knext/examples/riskmining

# 参考案例教程,执行相应的knext命令,比如
knext project create --prj_path .
knext schema commit

knext builder execute ...
knext reasoner execute ...

Alternativement, lorsque vous allez écrire un projet de cartographie localement basé sur un IDE, vous pouvez installer knext en exécutant la commande suivante :

pip install openspg-knext

Procédure d'utilisation détaillée

démarrage côté serveur

  1. Cloner le code source d'OpenSPG et l'ouvrir dans l'IDE :
    git clone git@github.com:OpenSPG/openspg.git
    

    Les commandes suivantes sont toutes supposées être exécutées dans le répertoire racine de la base de code openspg.

  2. Exécutez la commande mvn compile :
    mvn clean install -Dmaven.test.skip=true -Dspotless.check.skip -Dspotless.apply.skip
    
  3. Démarrer localement des conteneurs tels que MySQL, ElasticSearch, TuGraph, etc :
    sh dev/test/docker-compose.sh
    
  4. L'entrée du serveur de démarrage est localisée :
    com.antgroup.openspg.server.arks.sofaboot.Application
    

Démarrage du client

  1. Préparez un environnement virtuel Python, version 3.8+.
  2. Copier les paquets reasoner et builder compilés par mvn dans le répertoire knext :
    cp dev/release/python/lib/builder* python/knext/knext/builder/lib
    cp dev/release/python/lib/reasoner* python/knext/knext/reasoner/lib
    
  3. Installer nn4k localement :
    cd python/nn4k
    python setup.py develop
    
  4. Installation locale de knext :
    cd python/knext
    python setup.py develop
    
  5. Une fois que vous avez terminé, vous pouvez exécuter la commande knext dans l'environnement virtuel Python.

Modèle de compétences de base

Le modèle de compétences de base d'OpenSPG comprend :

  • SPG-Modélisation sémantique des schémasResponsable de la conception des cadres de schémas pour l'amélioration sémantique des graphes d'attributs, par exemple les modèles de sujets, les modèles d'évolution, les modèles de prédicats, etc.
  • SPG-Builder Renforcement des connaissancesIl est compatible et s'articule avec les architectures big data et fournit un cadre d'opérateurs de construction de connaissances pour permettre la conversion des données en connaissances. Aborde le cadre du SDK de traitement des connaissances, fournit la capacité de chaînage d'entités, l'étiquetage de concepts et les opérateurs de normalisation d'entités, combine le traitement du langage naturel (NLP) et les algorithmes d'apprentissage profond, améliore le niveau d'unicité des différentes instances dans un type unique, et prend en charge l'évolution continue et itérative de la cartographie du domaine.
  • SPG-Raisonnement Logique Règle RaisonnementAbstracts KGDSL (Knowledge Graph Domain Specific Language) pour fournir une représentation symbolique programmable des règles logiques. Soutenir l'inférence de règles en aval, l'apprentissage par fusion neuronale/symbolique, l'extraction de connaissances/l'inférence de connaissances liées à KG2Prompt, etc. à l'aide de représentations symboliques compréhensibles par la machine. Définir les dépendances et le transfert de connaissances par le biais de la sémantique des prédicats et des règles logiques, et soutenir la modélisation et l'analyse de scénarios commerciaux complexes.
  • Cadre programmable KNextKNext : KNext, en tant que cadre programmable pour les graphes, fournit un ensemble de capacités évolutives, orientées processus et conviviales, abstraites des capacités essentielles des graphes et les précipite dans des capacités composées, encadrées et construites par le moteur ; il isole le moteur de la logique commerciale et du modèle de domaine, ce qui permet à l'entreprise de définir rapidement la solution graphique ; et il construit une technologie d'IA pilotée par les connaissances et contrôlable, basée sur la pile de moteurs OpenSPG, en associant des capacités d'apprentissage en profondeur telles que LLM et GraphLearning. en associant des capacités d'apprentissage en profondeur telles que LLM et GraphLearning.
  • Couche d'adaptation au nuage CloudextLes systèmes commerciaux peuvent intégrer le moteur ouvert via le SDK pour créer leur propre interface commerciale caractéristique ; un moteur de stockage et de calcul de graphes personnalisé extensible/adaptable ; un cadre d'apprentissage automatique extensible/adaptable adapté à leurs propres caractéristiques commerciales.
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...