はじめに
OpenSPGは、SPG (Semantic Augmented Programmable Graph)フレームワークに基づいて、Ant GroupがOpenKGと共同で開発したオープンソースの知識グラフエンジンです。このエンジンは、明示的な意味表現、論理ルール定義、運用フレームワークなどの機能を提供することで、ドメイン知識グラフの構築と管理をサポートするように設計されています。OpenSPGは、LPG構造の単純さとRDFセマンティクスの複雑さを兼ね備えており、金融などの幅広いビジネスシナリオに適しています。
機能一覧
- 知識モデリング:ドメインモデル制約の知識モデリングのサポート
- 意味論的表現: 明示的な意味論的表現と論理ルール定義の提供
- オペレーショナル・フレームワーク:構築、推論、その他のオペレーショナル・フレームワークのサポート
- プラグイン適応:基礎となるエンジンとアルゴリズムサービスのプラグイン適応をサポートします。
- データの可視化:データ探索と分析のための直感的なインターフェイスの提供
ヘルプの使用
設置プロセス
サーバー設置
サーバー側はDocker Composeに基づいてデプロイされ、4つのメインイメージが含まれている:
- openspg-サーバースキーマ・サービスの提供
- opspg-mysqlスキーマデータの保存
- タググラフ地図データの保存
- エラスティックサーチインデックス付きマッピングデータ
- ダウンロード
docker-compose.yml
ファイルを開き、カレントディレクトリで以下のコマンドを実行し、コマンド実行の完了を待ってサーバーの起動を完了する:docker-compose -f docker-compose.yml up -d
- (落とす
openspg-サーバー
ローカル起動後、http://127.0.0.1:8887 ポートを開いてフロントエンドの視覚化ページを見ることができます。もしopenspg-サーバー
リモートで展開する場合は、対応するIPアドレスを適宜変更する必要がある。
クライアント・インストール
このクライアントはDockerイメージも提供しており、以下のコマンドを直接実行すると、そのイメージを引き出すことができる:
docker pull --platform linux/x86_64 spg-registry.cn-hangzhou.cr.aliyuncs.com/spg/openspg-python:latest
イメージをダウンロードしたら、OpenSPGのソースコードをクローンすることができます:
ギット クローン --depth=1 https://github.com/OpenSPG/openspg.git
ソースのクローンが完成したら、ソースに付属するケースを体験することができる:
# コンテナを起動し、その中の${project_dir}をソース・ディレクトリに置き換える。
docker run --rm --net=host -v ${project_dir}。コード
-it spg-registry.cn-hangzhou.cr.aliyuncs.com/spg/openspg-python:latest
"/bin/bash"
# コンテナ起動後、openspg プロジェクトのソース・ディレクトリである /code ディレクトリに移動します。
cd /コード
#フォローアップは、ケースチュートリアルをインストールすることができます。
cd python/knext/knext/examples/riskmining
# ケースチュートリアルを参照し、次のような適切な knext コマンドを実行する。
knext project create --prj_path .
knext スキーマコミット
knext builder 実行 ...
knext reasoner 実行 ...
また、IDEをベースにローカルでマッピングプロジェクトを作成する場合は、以下のコマンドでknextをインストールできます:
pip install openspg-knext
詳しい操作手順
サーバー側起動
- OpenSPGのソースコードをクローンし、IDEで開く:
ギット クローン git@github.com:OpenSPG/openspg.git
以下のコマンドはすべて、openspg コード・ベースのルート・ディレクトリーで実行されるものとします。
- mvn compileコマンドを実行する:
mvn clean install -Dmaven.test.skip=真の -Dspotless.check.skip -Dspotless.apply.skip
- MySQL、ElasticSearch、TuGraphなどのコンテナをローカルで起動する:
sh dev/test/docker-compose.sh
- スタートアップ・サーバーのエントリーがある:
com.antgroup.openspg.server.arks.sofaboot.Application
クライアント・スタートアップ
- バージョン3.8以上のPython仮想環境を用意する。
- mvnでコンパイルしたreasonerとbuilderパッケージをknextディレクトリにコピーする:
cp dev/release/python/lib/builder* python/knext/knext/builder/lib cp dev/release/python/lib/reasoner* python/knext/knext/reasoner/lib
- nn4kをローカルにインストールする:
cd python/nn4k python setup.py develop
- ネクストの現地設置:
cd python/knext python setup.py develop
- 完了したら、そのPython仮想環境でknextコマンドを実行できる。
コア・コンピテンシー・モデル
OpenSPGのコア・コンピテンシー・モデルには以下が含まれる:
- SPG-スキーマ意味モデリング主語モデル、進化モデル、述語モデルなど、属性グラフのセマンティック強化のためのスキーマフレームワークの設計を担当。
- SPG-Builder ナレッジ・ビルディング構造化および非構造化知識のインポートをサポートし、ビッグデータアーキテクチャと互換性があり、データから知識への変換を可能にする知識構築オペレータフレームワークを提供します。知識処理SDKフレームワークを抽象化し、エンティティ・チェイニング・フィンガー、コンセプト・ラベリング、エンティティ正規化オペレータの機能を提供し、自然言語処理(NLP)とディープラーニング・アルゴリズムを組み合わせ、単一タイプ内の異なるインスタンスの一意性レベルを向上させ、ドメイン・マッピングの継続的かつ反復的な進化をサポートする。
- SPG-Reasoner 論理ルール推論抽象化されたKGDSL (Knowledge Graph Domain Specific Language)により、論理ルールのプログラマブルな記号表現を提供。機械的に理解可能な記号表現により、下流のルール推論、ニューラル/シンボリック融合学習、KG2PromptとリンクしたLLM知識抽出/知識推論などをサポート。述語セマンティクスと論理ルールによる依存関係と知識の伝達を定義し、複雑なビジネスシナリオのモデリングと分析をサポートします。
- プログラマブル・フレームワーク KNextKNextは、グラフプログラマブルフレームワークとして、スケーラブルで、プロセス指向の、ユーザーフレンドリーなコンポーネント化された機能を提供します。スタックに基づき、LLMやGraphLearningなどのディープラーニング機能をリンクさせた知識駆動型かつ制御可能なAIテクノロジーを構築する。
- クラウド適応層 Cloudextビジネス・システムは、SDKを介してオープン・エンジンをドッキングし、独自の特徴的なビジネス・フロントエンドを構築することができる。拡張/適応可能なカスタマイズされたグラフ・ストレージ/グラフ計算エンジン、独自のビジネス特性に適した拡張/適応可能な機械学習フレームワーク。