Adobe AI Machine Learning APIを使用したパッケージレシピのインポート

NOTE
Data Science Workspaceは購入できなくなりました。
このドキュメントは、Data Science Workspaceの使用権限を以前に持つ既存のお客様向けです。

このチュートリアルでは、Adobe AI Machine Learning APIを使用して​ エンジン ​を作成します。これは、ユーザーインターフェイスのレシピとも呼ばれます。

開始する前に、Adobe Experience Platform Data Science Workspaceでは、APIとUI内で同様の要素を参照するために異なる用語が使用されていることに注意することが重要です。 API の用語はこのチュートリアル全体で使用され、次の表に、関連する用語の概要を示します。

UI の用語
API 用語
レシピ
エンジン
モデル
MLInstance
トレーニングと評価
実験
サービス
MLService

エンジンには、特定の問題を解決するための機械学習アルゴリズムとロジックが含まれています。 次の図は、Data Science WorkspaceのAPI ワークフローを示すビジュアライゼーションを示しています。 このチュートリアルでは、機械学習モデルの頭脳であるエンジンの作成に焦点を当てます。

はじめに

このチュートリアルでは、パッケージ化されたRecipe ファイルをDocker URL形式で使用する必要があります。 「ソースファイルをレシピにパッケージ化する」チュートリアルに従ってパッケージ化されたレシピファイルを作成するか、独自のレシピファイルを提供します。

  • {DOCKER_URL}: インテリジェントサービスのDocker イメージへのURL アドレス。

このチュートリアルでは、Experience Platform個のAPIを正常に呼び出すには、Adobe Experience Platform チュートリアル ​への認証を完了する必要があります。 次に示すように、すべての Experience Platform API 呼び出しに必要な各ヘッダーの値は認証チュートリアルで説明されています。

  • {ACCESS_TOKEN}:認証後に提供される特定の Bearer トークン値。
  • {ORG_ID}:一意のAdobe Experience Platform統合内に組織の資格情報が見つかりました。
  • {API_KEY}:固有の Adobe Experience Platform 統合で見つかった特定の API キーの値。

エンジンの作成

エンジンは、/engines エンドポイントにPOST リクエストを行うことで作成できます。 作成されたエンジンは、API リクエストの一部として含める必要があるパッケージ化されたRecipe ファイルの形式に基づいて設定されます。

Docker URL を使用したエンジンの作成 create-an-engine-with-a-docker-url

パッケージ化されたレシピファイルを Docker コンテナに格納してエンジンを作成するには、パッケージ化されたレシピファイルの Docker URL を指定する必要があります。

CAUTION
PythonまたはRを使用している場合は、以下のリクエストを使用してください。 PySparkまたはScalaを使用している場合は、Python/Rの例の下にあるPySpark/Scala リクエストの例を使用してください。

API 形式

POST /engines

Python/Rをリクエスト

curl -X POST \
    https://platform.adobe.io/data/sensei/engines \
    -H 'Authorization: {ACCESS_TOKEN}' \
    -H 'X-API-KEY: {API_KEY}' \
    -H 'content-type: multipart/form-data' \
    -H 'x-gw-ims-org-id: {ORG_ID}' \
    -H `x-sandbox-name: {SANDBOX_NAME}` \
    -F 'engine={
        "name": "Retail Sales Engine Python",
        "description": "A description for Retail Sales Engine, this Engines execution type is Python",
        "type": "Python"
        "artifacts": {
            "default": {
                "image": {
                    "location": "{DOCKER_URL}",
                    "name": "retail_sales_python",
                    "executionType": "Python"
                }
            }
        }
    }'
プロパティ
説明
engine.name
エンジンの名前。 このエンジンに対応するレシピは、この値を継承し、Data Science Workspace ユーザーインターフェイスにレシピの名前として表示されます。
engine.description
エンジンのオプションの説明。 このエンジンに対応するレシピは、この値を継承し、レシピの説明としてData Science Workspace ユーザーインターフェイスに表示されます。 このプロパティを削除しないでください。説明を指定しない場合は、この値を空白の文字列にします。
engine.type
エンジンの実行タイプ。 この値は、Docker イメージが開発される言語に対応します。 エンジンを作成するためにDocker URLを指定した場合、typeはPython、R、PySpark、Spark (Scala)またはTensorflowのいずれかになります。
artifacts.default.image.location
{DOCKER_URL}さんがここに移動します。 完全なDocker URLの構造は次のとおりです:your_docker_host.azurecr.io/docker_image_file:version
artifacts.default.image.name
Docker画像ファイルの追加名。 このプロパティを削除しないでください。Docker 画像ファイル名を指定しない場合は、この値を空白の文字列にします。
artifacts.default.image.executionType
このエンジンの実行タイプ。 この値は、Docker イメージが開発される言語に対応します。 エンジンを作成するためにDocker URLを指定した場合、executionTypeはPython、R、PySpark、Spark (Scala)またはTensorflowのいずれかになります。

PySparkをリクエスト

curl -X POST \
  https://platform.adobe.io/data/sensei/engines \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {ORG_ID}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'content-type: multipart/form-data' \
    -F 'engine={
    "name": "PySpark retail sales recipe",
    "description": "A description for this Engine",
    "type": "PySpark",
    "mlLibrary":"databricks-spark",
    "artifacts": {
        "default": {
            "image": {
                "name": "modelspark",
                "executionType": "PySpark",
                "packagingType": "docker",
                "location": "v1d2cs4mimnlttw.azurecr.io/sarunbatchtest:0.0.1"
            }
        }
    }
}'
プロパティ
説明
name
エンジンの名前。 このエンジンに対応するレシピは、UI に表示されるこの値をレシピ名として継承します。
description
エンジンのオプションの説明。 このエンジンに対応するレシピは、UI に表示されるこの値をレシピの説明として継承します。 このプロパティが必要です。 説明を指定しない場合は、値を空の文字列に設定します。
type
エンジンの実行タイプ。 この値は、Docker イメージが「PySpark」に基づいて構築される言語に対応します。
mlLibrary
PySparkおよびScala レシピのエンジンを作成する際に必要となるフィールド。
artifacts.default.image.location
Docker URL によってリンクされた Docker イメージの場所。
artifacts.default.image.executionType
エンジンの実行タイプ。 この値は、Docker イメージが「Spark」に基づいて構築される言語に対応します。

Scalaをリクエスト

curl -X POST \
  https://platform.adobe.io/data/sensei/engines \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {ORG_ID}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'content-type: multipart/form-data' \
    -F 'engine={
    "name": "Spark retail sales recipe",
    "description": "A description for this Engine",
    "type": "Spark",
    "mlLibrary":"databricks-spark",
    "artifacts": {
        "default": {
            "image": {
                "name": "modelspark",
                "executionType": "Spark",
                "packagingType": "docker",
                "location": "v1d2cs4mimnlttw.azurecr.io/sarunbatchtest:0.0.1"
            }
        }
    }
}'
プロパティ
説明
name
エンジンの名前。 このエンジンに対応するレシピは、UI に表示されるこの値をレシピ名として継承します。
description
エンジンのオプションの説明。 このエンジンに対応するレシピは、UI に表示されるこの値をレシピの説明として継承します。 このプロパティが必要です。 説明を指定しない場合は、値を空の文字列に設定します。
type
エンジンの実行タイプ。 この値は、Docker イメージが「Spark」に基づいて構築される言語に対応します。
mlLibrary
PySparkおよびScala レシピのエンジンを作成する際に必要となるフィールド。
artifacts.default.image.location
Docker URL によってリンクされた Docker イメージの場所。
artifacts.default.image.executionType
エンジンの実行タイプ。 この値は、Docker イメージが「Spark」に基づいて構築される言語に対応します。

応答

応答が成功すると、新しく作成されたエンジンの詳細(一意の識別子(id)を含むペイロードが返されます。 次の応答の例は、Python エンジンに対するものです。 指定されたPOSTに基づいて、executionTypeとtype キーが変更されます。

{
    "id": "{ENGINE_ID}",
    "name": "A name for this Engine",
    "description": "A description for this Engine",
    "type": "Python",
    "algorithm": "Classification",
    "created": "2019-01-01T00:00:00.000Z",
    "createdBy": {
        "userId": "Jane_Doe@AdobeID"
    },
    "updated": "2019-01-01T00:00:00.000Z",
    "artifacts": {
        "default": {
            "image": {
                "location": "{DOCKER_URL}",
                "name": "An additional name for the Docker image",
                "executionType": "Python",
                "packagingType": "docker"
            }
        }
    }
}

成功応答は、新しく作成されたエンジンに関する情報を含む JSON ペイロードが表示されます。 id キーは、一意のエンジン識別子を表し、次のチュートリアルで MLInstance を作成するために必要となります。 次の手順に進む前に、エンジン識別子が保存されていることを確認します。

次の手順 next-steps

API を使用してエンジンを作成し、応答本文の一部として一意のエンジン識別子を取得しました。 次のチュートリアルでは、API を使用してモデルの作成、トレーニング、評価をおこなう方法について学習しながら、このエンジン識別子を使用できます。

recommendation-more-help
experience-platform-help-data-science-workspace