Allgemeine Einführung
OpenSPG ist eine Open-Source-Wissensgraphen-Engine, die von der Ant Group in Zusammenarbeit mit OpenKG entwickelt wurde und auf dem SPG-Framework (Semantic Augmented Programmable Graph) basiert. OpenSPG kombiniert die Einfachheit der LPG-Struktur mit der Komplexität der RDF-Semantik und eignet sich für eine breite Palette von Geschäftsszenarien, wie z. B. das Finanzwesen.
Funktionsliste
- Wissensmodellierung: Unterstützung für die Wissensmodellierung von Domänenmodellbeschränkungen
- Semantische Repräsentation: Bereitstellung einer expliziten semantischen Repräsentation und logischer Regeldefinitionen
- Operative Rahmen: Unterstützung für Konstruktion, Argumentation und andere operative Rahmen
- Plug-in-Anpassung: Unterstützt die Plug-in-Anpassung des zugrunde liegenden Motors und der algorithmischen Dienste
- Datenvisualisierung: Bereitstellung einer intuitiven Schnittstelle für die Erforschung und Analyse von Daten
Hilfe verwenden
Ablauf der Installation
Server-Installation
Die Serverseite wird auf Basis von Docker Compose bereitgestellt und enthält 4 Hauptimages:
- openspg-serverBereitstellung von Schemadiensten
- openspg-mysqlSpeicherung von Schemadaten
- Tugraph: Speicherung von Kartierungsdaten
- elasticsearch: Indizierte Kartierungsdaten
- Herunterladen von
docker-compose.yml
und führen Sie die folgenden Befehle im aktuellen Verzeichnis aus, und warten Sie auf den Abschluss der Befehlsausführung, um den Serverstart abzuschließen:docker-compose -f docker-compose.yml up -d
- (coll.) durchfallen (ein Schüler)
openspg-server
Nach dem lokalen Start können Sie den Port http://127.0.0.1:8887 öffnen, um die Front-End-Visualisierungsseite zu sehen. Wennopenspg-server
Bei einem Remote-Einsatz muss die entsprechende IP-Adresse entsprechend geändert werden.
Client-Installation
Der Client stellt auch ein Docker-Image zur Verfügung. Wenn Sie den folgenden Befehl direkt ausführen, wird dieses Image gezogen:
docker pull --platform linux/x86_64 spg-registry.cn-hangzhou.cr.aliyuncs.com/spg/openspg-python:latest
Nachdem Sie das Bild heruntergeladen haben, können Sie den OpenSPG-Quellcode klonen:
git klonen. --tiefe=1 https://github.com/OpenSPG/openspg.git
Sobald der Klon des Quellcodes fertig ist, können Sie die mit dem Quellcode gelieferten Fälle ausprobieren:
# Starten Sie den Container und ersetzen Sie darin ${project_dir} durch das Quellverzeichnis
docker run --rm --net=host -v ${project_dir}:/code \
-it spg-registry.cn-hangzhou.cr.aliyuncs.com/spg/openspg-python:latest \
"/bin/bash"
# Wechseln Sie nach dem Start des Containers in das Verzeichnis /code, das Quellverzeichnis des openspg-Projekts
cd /code
# Follow-up kann Falltutorials installieren, z.B. in das Verzeichnis diskmining
cd python/knext/knext/examples/riskmining
# Lesen Sie die Falltutorials und führen Sie die entsprechenden Knext-Befehle aus, z. B.
knext Projekt erstellen --prj_pfad .
knext schema commit
knext builder ausführen ...
knext reasoner ausführen ...
Wenn Sie ein Mapping-Projekt lokal auf Basis einer IDE schreiben wollen, können Sie knext alternativ mit folgendem Befehl installieren:
pip install openspg-knext
Detaillierte Vorgehensweise
Server-seitige Inbetriebnahme
- Klonen Sie den OpenSPG-Quellcode und öffnen Sie ihn in der IDE:
git klonen. git@github.com:OpenSPG/openspg.git
Bei den folgenden Befehlen wird davon ausgegangen, dass sie alle im Stammverzeichnis der openspg-Codebasis ausgeführt werden.
- Führen Sie den Befehl mvn compile aus:
mvn clean install -Dmaven.test.skip=wahr -Dspotless.check.skip -Dspotless.apply.skip
- Starten Sie Container wie MySQL, ElasticSearch, TuGraph, etc. lokal:
sh dev/test/docker-compose.sh
- Der Eintrag für den Startserver befindet sich:
com.antgroup.openspg.server.arks.sofaboot.Application
Kunde Startup
- Bereiten Sie eine virtuelle Python-Umgebung, Version 3.8+, vor.
- Kopieren Sie die mit mvn kompilierten Pakete reasoner und builder in das Verzeichnis knext:
cp dev/release/python/lib/builder* python/knext/knext/builder/lib cp dev/release/python/lib/reasoner* python/knext/knext/reasoner/lib
- Installieren Sie nn4k lokal:
cd python/nn4k python setup.py entwickeln
- Lokale Installation von knext:
cd python/knext python setup.py entwickeln
- Danach können Sie den Befehl knext in dieser virtuellen Python-Umgebung ausführen.
Modell der Kernkompetenzen
Das Modell der Kernkompetenzen von OpenSPG umfasst:
- SPG-Schema semantische ModellierungVerantwortlich für den Entwurf von Schema-Frameworks zur semantischen Anreicherung von Attributgraphen, z.B. Subjektmodelle, Evolutionsmodelle, Prädikatsmodelle, etc.
- SPG-Builder WissensaufbauUnterstützt den Import von strukturiertem und unstrukturiertem Wissen, ist kompatibel mit Big-Data-Architekturen und bietet einen Rahmen für Wissenskonstruktionsoperatoren, um die Umwandlung von Daten in Wissen zu ermöglichen. Abstracts the knowledge processing SDK framework, provides the ability of entity chaining finger, concept labelling and entity normalisation operators, combines natural language processing (NLP) and deep learning algorithms, improves the uniqueness level of different instances in a single type, and supports the continuous and iterative evolution of the domain mapping.
- SPG-Reasoner Logic Rule ReasoningAbstrakte KGDSL (Knowledge Graph Domain Specific Language) zur Bereitstellung programmierbarer symbolischer Darstellungen von Logikregeln. Unterstützt nachgelagerte Regelinferenz, neuronales/symbolisches Fusionslernen, KG2Prompt-verknüpfte LLM-Wissensextraktion/Wissensinferenz usw. mit maschinenverständlichen symbolischen Repräsentationen. Definition von Abhängigkeiten und Wissenstransfer durch Prädikatssemantik und logische Regeln sowie Unterstützung der Modellierung und Analyse komplexer Geschäftsszenarien.
- Programmierbares Framework KNextKNext bietet als programmierbares Graphen-Framework eine Reihe skalierbarer, prozessorientierter und benutzerfreundlicher komponentisierter Fähigkeiten; es abstrahiert die Kernfähigkeiten von Graphen und überführt sie in komponentisierte, gerahmte und von der Engine entwickelte Fähigkeiten; es erreicht die Isolierung der Engine von der Geschäftslogik und dem Domänenmodell, was es dem Unternehmen erleichtert, die Graphenlösung schnell zu definieren; und es baut eine wissensgesteuerte und kontrollierbare KI-Technologie auf, die auf dem OpenSPG-Engine Stack aufbaut und Deep-Learning-Funktionen wie LLM und GraphLearning miteinander verbindet.
- Cloud-Anpassungsschicht CloudextUnternehmenssysteme können die offene Engine über ein SDK andocken, um ihr eigenes charakteristisches Business-Frontend zu erstellen; erweiterbare/anpassbare kundenspezifische Graphspeicher-/Graphberechnungs-Engine; erweiterbares/anpassbares Framework für maschinelles Lernen, das für ihre eigenen Geschäftsmerkmale geeignet ist.