MLInstances-Endpunkt

Eine MLInstance ist eine Paarung einer vorhandenen Engine mit einer entsprechenden Konfigurationsreihe, die alle Schulungsparameter, Scoring-Parameter oder Hardware-Ressourcenkonfigurationen definiert.

Erstellen einer MLInstance

Sie können eine MLInstanz erstellen, indem Sie eine Anforderung zur POST ausführen, während Sie eine Anforderungsnutzlast bereitstellen, die aus einer gültigen Engine-ID ({ENGINE_ID}) und einem entsprechenden Satz von Standardkonfigurationen besteht.

Wenn die Engine-ID auf eine PySpark- oder Spark-Engine verweist, haben Sie die Möglichkeit, die Menge an Rechenressourcen wie die Anzahl der Kerne oder die Speichermenge zu konfigurieren. Wenn auf eine Python-Engine verwiesen wird, können Sie zwischen der Verwendung einer CPU oder einer GPU für Schulungs- und Bewertungszwecke wählen. Weitere Informationen finden Sie in den Abschnitten zu PySpark- und Spark-Ressourcenkonfigurationen und Python-CPU- und GPU-Konfigurationen.

API-Format

POST /mlInstances

Anfrage

curl -X POST \
    https://platform.adobe.io/data/sensei/mlInstances \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}'
    -H 'content-type: application/vnd.adobe.platform.sensei+json;profile=mlInstance.v1.json' \
    -d '{
        "name": "A name for this MLInstance",
        "description": "A description for this MLInstance",
        "engineId": "22f4166f-85ba-4130-a995-a2b8e1edde32",
        "tasks": [
            {
                "name": "train",
                "parameters": [
                    {
                        "key": "training parameter",
                        "value": "parameter value"
                    }
                ]
            },
            {
                "name": "score",
                "parameters": [
                    {
                        "key": "scoring parameter",
                        "value": "parameter value"
                    }
                ]
            },
            {
                "name": "fp",
                "parameters": [
                    {
                        "key": "feature pipeline parameter",
                        "value": "parameter value"
                    }
                ]
            }
        ],
    }'
Eigenschaft Beschreibung
name Der gewünschte Name für die MLInstanz. Das Modell, das dieser MLInstanz entspricht, übernimmt diesen Wert, der in der Benutzeroberfläche als Modellname angezeigt wird.
description Eine optionale Beschreibung für die MLInstanz. Das Modell, das dieser MLInstance entspricht, übernimmt diesen Wert, der in der Benutzeroberfläche als Beschreibung des Modells angezeigt wird. Diese Eigenschaft ist erforderlich. Wenn Sie keine Beschreibung angeben möchten, legen Sie als Wert eine leere Zeichenfolge fest.
engineId Die Kennung einer vorhandenen Engine.
tasks Eine Reihe von Konfigurationen für Schulungs-, Scoring- oder Feature-Pipelines.

Antwort

Eine erfolgreiche Antwort gibt eine Nutzlast zurück, die die Details der neu erstellten MLInstanz einschließlich ihrer eindeutigen Kennung (id) enthält.

{
    "id": "46986c8f-7739-4376-8509-0178bdf32cda",
    "name": "A name for this MLInstance",
    "description": "A description for this MLInstance",
    "engineId": "22f4166f-85ba-4130-a995-a2b8e1edde32",
    "created": "2019-01-01T00:00:00.000Z",
    "createdBy": {
        "userId": "Jane_Doe@AdobeID"
    },
    "updated": "2019-01-01T00:00:00.000Z",
    "tasks": [
        {
            "name": "train",
            "parameters": [
                {
                    "key": "training parameter",
                    "value": "parameter value"
                }
            ]
        },
        {
            "name": "score",
            "parameters": [
                {
                    "key": "scoring parameter",
                    "value": "parameter value"
                }
            ]
        },
        {
            "name": "fp",
            "parameters": [
                {
                    "key": "feature pipeline parameter",
                    "value": "parameter value"
                }
            ]
        }
    ]
}

Abrufen einer Liste von MLInstances

Sie können eine Liste von MLInstances abrufen, indem Sie eine einzige GET anfordern. Sie können die Ergebnisse filtern, indem Sie im Anfragepfad Abfrageparameter angeben. Eine Liste der verfügbaren Abfragen finden Sie im Anhang zu den Abfrageparametern für den Asset-Abruf.

API-Format

GET /mlInstances
GET /mlInstances?{QUERY_PARAMETER}={VALUE}
GET /mlInstances?{QUERY_PARAMETER_1}={VALUE_1}&{QUERY_PARAMETER_2}={VALUE_2}
Parameter Beschreibung
{QUERY_PARAMETER} Einer der verfügbaren Abfrage-Parameter, der zum Filtern der Ergebnisse verwendet wird.
{VALUE} Der Wert für den Parameter der vorherigen Abfrage.

Anfrage

curl -X GET \
    https://platform.adobe.io/data/sensei/mlInstances \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}'

Antwort

Eine erfolgreiche Antwort gibt eine Liste von MLInstances und deren Details zurück.

{
    "children": [
        {
            "id": "46986c8f-7739-4376-8509-0178bdf32cda",
            "name": "A name for this MLInstance",
            "description": "A description for this MLInstance",
            "engineId": "22f4166f-85ba-4130-a995-a2b8e1edde32",
            "created": "2019-01-01T00:00:00.000Z",
            "createdBy": {
                "displayName": "Jane Doe",
                "userId": "Jane_Doe@AdobeID"
            },
            "updated": "2019-01-01T00:00:00.000Z"
        },
        {
            "id": "56986c8f-7739-4376-8509-0178bdf32cda",
            "name": "Retail Sales Model",
            "description": "A Model created with the Retail Sales Recipe",
            "engineId": "32f4166f-85ba-4130-a995-a2b8e1edde32",
            "created": "2019-01-01T00:00:00.000Z",
            "createdBy": {
                "displayName": "Jane Doe",
                "userId": "Jane_Doe@AdobeID"
            },
            "updated": "2019-01-01T00:00:00.000Z"
        }
    ],
    "_page": {
        "property": "deleted==false",
        "totalCount": 2,
        "count": 2
    }
}

Abrufen einer bestimmten MLInstanz

Sie können die Details einer bestimmten MLInstanz abrufen, indem Sie eine GET durchführen, die die ID der gewünschten MLInstanz im Anforderungspfad enthält.

API-Format

GET /mlInstances/{MLINSTANCE_ID}
Parameter Beschreibung
{MLINSTANCE_ID} Die ID der gewünschten MLInstanz.

Anfrage

curl -X GET \
    https://platform.adobe.io/data/sensei/mlInstances/46986c8f-7739-4376-8509-0178bdf32cda \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}'

Antwort

Eine erfolgreiche Antwort gibt die Details der MLInstanz zurück.

{
    "id": "46986c8f-7739-4376-8509-0178bdf32cda",
    "name": "A name for this MLInstance",
    "description": "A description for this MLInstance",
    "engineId": "22f4166f-85ba-4130-a995-a2b8e1edde32",
    "created": "2019-01-01T00:00:00.000Z",
    "createdBy": {
        "displayName": "Jane Doe",
        "userId": "Jane_Doe@AdobeID"
    },
    "updated": "2019-01-01T00:00:00.000Z",
    "tasks": [
        {
            "name": "train",
            "parameters": [
                {
                    "key": "training parameter",
                    "value": "parameter value"
                }
            ]
        },
        {
            "name": "score",
            "parameters": [
                {
                    "key": "scoring parameter",
                    "value": "parameter value"
                }
            ]
        },
        {
            "name": "featurePipeline",
            "parameters": [
                {
                    "key": "feature pipeline parameter",
                    "value": "parameter value"
                }
            ]
        }
    ]
}

Aktualisieren einer MLInstanz

Sie können eine vorhandene MLInstanz aktualisieren, indem Sie ihre Eigenschaften durch eine PUT-Anforderung überschreiben, die die Zielgruppe-MLInstance-ID im Anforderungspfad enthält, und eine JSON-Nutzlast mit aktualisierten Eigenschaften bereitstellen.

TIPP

Um den Erfolg dieser PUT-Anforderung sicherzustellen, wird empfohlen, zuerst eine GET an abzurufen, um die MLInstanz nach ID abzurufen. Ändern und aktualisieren Sie dann das zurückgegebene JSON-Objekt und übernehmen Sie die Gesamtheit des geänderten JSON-Objekts als Payload für die PUT-Anfrage.

Der folgende Beispiel-API-Aufruf aktualisiert die Trainings- und Scoring-Parameter einer MLInstanz, während diese Eigenschaften zunächst vorhanden sind:

{
    "name": "A name for this MLInstance",
    "description": "A description for this MLInstance",
    "engineId": "00000000-0000-0000-0000-000000000000",
    "created": "2019-01-01T00:00:00.000Z",
    "createdBy": {
        "displayName": "Jane Doe",
        "userId": "Jane_Doe@AdobeID"
    },
    "tasks": [
        {
            "name": "train",
            "parameters": [
                {
                    "key": "learning_rate",
                    "value": "0.3"
                }
            ]
        },
        {
            "name": "score",
            "parameters": [
                {
                    "key": "output_dataset_id",
                    "value": "output-dataset-000"
                }
            ]
        }
    ]
}

API-Format

PUT /mlInstances/{MLINSTANCE_ID}
Parameter Beschreibung
{MLINSTANCE_ID} Eine gültige MLInstance-ID.

Anfrage

curl -X PUT \
    https://platform.adobe.io/data/sensei/mlInstances/46986c8f-7739-4376-8509-0178bdf32cda \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'content-type: application/vnd.adobe.platform.sensei+json;profile=mlInstance.v1.json' \
    -d '{
        "name": "A name for this MLInstance",
        "description": "A description for this MLInstance",
        "engineId": "00000000-0000-0000-0000-000000000000",
        "created": "2019-01-01T00:00:00.000Z",
        "createdBy": {
            "displayName": "Jane Doe",
            "userId": "Jane_Doe@AdobeID"
        },
        "tasks": [
            {
                "name": "train",
                "parameters": [
                    {
                        "key": "learning_rate",
                        "value": "0.5"
                    }
                ]
            },
            {
                "name": "score",
                "parameters": [
                    {
                        "key": "output_dataset_id",
                        "value": "output-dataset-001"
                    }
                ]
            }
        ]
    }'

Antwort

Eine erfolgreiche Antwort gibt eine Payload mit den aktualisierten Details der MLInstanz zurück.

{
    "id": "46986c8f-7739-4376-8509-0178bdf32cda",
    "name": "A name for this MLInstance",
    "description": "A description for this MLInstance",
    "engineId": "00000000-0000-0000-0000-000000000000",
    "created": "2019-01-01T00:00:00.000Z",
    "createdBy": {
        "displayName": "Jane Doe",
        "userId": "Jane_Doe@AdobeID"
    },
    "updated": "2019-01-02T00:00:00.000Z",
    "tasks": [
        {
            "name": "train",
            "parameters": [
                {
                    "key": "learning_rate",
                    "value": "0.5"
                }
            ]
        },
        {
            "name": "score",
            "parameters": [
                {
                    "key": "output_dataset_id",
                    "value": "output-data-set-001"
                }
            ]
        }
    ]
}

MLInstances nach Engine-ID löschen

Sie können alle MLInstances löschen, die dieselbe Engine verwenden, indem Sie eine DELETE-Anforderung ausführen, die die Engine-ID als Abfrage-Parameter enthält.

API-Format

DELETE /mlInstances?engineId={ENGINE_ID}
Parameter Beschreibung
{ENGINE_ID} Eine gültige Engine-ID.

Anfrage

curl -X DELETE \
    https://platform.adobe.io/data/sensei/mlInstances?engineId=22f4166f-85ba-4130-a995-a2b8e1edde32 \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}'

Antwort

{
    "title": "Success",
    "status": 200,
    "detail": "MLInstances successfully deleted"
}

Löschen einer MLInstanz

Sie können eine einzelne MLInstanz löschen, indem Sie eine DELETE-Anforderung ausführen, die die Zielgruppe MLInstance-ID im Anforderungspfad enthält.

API-Format

DELETE /mlInstances/{MLINSTANCE_ID}
Parameter Beschreibung
{MLINSTANCE_ID} Eine gültige MLInstance-ID.

Anfrage

curl -X DELETE \
    https://platform.adobe.io/data/sensei/mlInstances/46986c8f-7739-4376-8509-0178bdf32cda \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}'

Antwort

{
    "title": "Success",
    "status": 200,
    "detail": "MLInstance deletion was successful"
}

Auf dieser Seite