コンテンツにスキップ

モジュールの利用

導入済みモジュールはPythonで以下のようにリクエストを送ることで利用することができます。モジュールはPythonに限らず、http(s)でリクエストを送ることで利用可能です。
利用方法の詳細は各モジュールのドキュメントを参照してください。

Pythonクライアント経由でリクエストする際のパラメータ

Pythonクライアント経由でリクエストする際は、以下のような形式でパラメータを指定します。

params = dict(
    module="fed-avg-module",
    method="fed_avg_aggregate",
    token="a",
    input={
        "input_model_set": {
            "model_store_ddc": "ddc:test_model",
            "query": {"=": ["model_state", 20]},
        }
    },
    output={
        "output_model": {
            "model_store_ddc": "ddc:test_model",
            "model_kind": "a",
            "model_description": "b",
        }
    },
    params={},
)
- module: 実行したいモジュール名 - method: definition.jsonのscriptsで定義したスクリプト名 - token: 未実装 - input: definition.jsonのscriptsで定義したinputの値にパラメータを追加したい場合に指定する - output: definition.jsonのscriptsで定義したoutputの値にパラメータを追加したい場合に指定する - params: 未実装

inputパラメータ

definition.jsonのscriptsで定義したinputの値にパラメータを追加したい場合に指定します。
inputのkeyは、definition.jsonのscriptsで定義したinputのkeyの値と一致させる必要があります。
また、オペレーションによって必須のパラメータがあります。必須のパラメータは以下のようになります。

  • モデルストアからモデルを取り出したい場合の必須パラメータ

    • model_store_ddc: モデルを取得したいDDC名(ddc:xxxxxの形式で指定)
    • query: モデルの取得条件をJsonLogicで指定
  • DDCからCSV形式でデータを取り出す際の必須パラメータ

    • data_ddc: データを取得したいDDC名(ddc:xxxxxの形式で指定)

outputパラメータ

definition.jsonのscriptsで定義したoutputの値にパラメータを追加したい場合に指定します。
inputのkeyは、definition.jsonのscriptsで定義したoutputのkeyの値と一致させる必要があります。
また、オペレーションによって必須のパラメータがあります。必須のパラメータは以下のようになります。

  • モデルストアにモデルを保存したい場合の必須パラメータ

    • model_store_ddc: モデルを保存したいDDC名(ddc:xxxxxの形式で指定)
  • CSVからDDCにデータを保存する際の必須パラメータ

    • data_ddc: データを保存したいDDC名(ddc:xxxxxの形式で指定)

queryで指定可能な条件カラム

  • start_datetime(timestamp with time zone)
  • end_datetime(timestamp with time zone)
  • tenant_id(varchar)
  • model_id(varchar)
  • model_kind(varchar)
  • model_description(varchar)
  • model_state(integer)
  • model_hash(varchar)
  • model_size(bigint)
  • round(integer)
  • hop_count(integer)

queryの例は以下のように組みます。

query例1

{"=": ["model_state", 20]}

query例2

{
    "and": [
        {"=": ["model_state", 20]},
        {">": ["model_size", 400]}
    ]
}