Punteggio di un modello utilizzando Sensei Machine Learning API

Questa esercitazione ti mostrerà come sfruttare le API per creare un esperimento e un’esecuzione di un esperimento. Per un elenco dettagliato della documentazione API, fai riferimento a questo documento.

Creare un esperimento pianificato per il punteggio

Analogamente agli esperimenti pianificati per la formazione, la creazione di un esperimento pianificato per il punteggio viene eseguita anche includendo una sezione template al parametro body. Inoltre, il campo name sotto tasks nel corpo è impostato come score.

Di seguito è riportato un esempio di creazione di un esperimento che verrà eseguito ogni 20 minuti a partire da startTime e durerà fino a endTime.

Richiesta

curl -X POST \
  https://platform.adobe.io/data/sensei/experiments \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/vnd.adobe.platform.sensei+json;profile=experiment.v1.json' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key: {API_KEY}' \
  -d '{JSON_PAYLOAD}'

{IMS_ORG}: Le credenziali dell’organizzazione IMS sono state trovate nell’integrazione unica di Adobe Experience Platform.
{ACCESS_TOKEN}: Il valore specifico del token portatore fornito dopo l’autenticazione.
{API_KEY}: Il valore chiave API specifico si trova nell’integrazione Adobe Experience Platform univoca.
{JSON_PAYLOAD}: Oggetto Experience Run da inviare. L’esempio che utilizziamo nel nostro tutorial è mostrato qui:

{
    "name": "Experiment for Retail",
    "mlInstanceId": "{INSTANCE_ID}",
    "template": {
        "tasks": [{
            "name": "score",
            "parameters": [
                {
                    "key": "modelId",
                    "value": "{MODEL_ID}"
                }
            ],
            "specification": {
                "type": "SparkTaskSpec",
                "executorCores": 5,
                "numExecutors": 5
            }
        }],
        "schedule": {
            "cron": "*/20 * * * *",
            "startTime": "2018-07-04",
            "endTime": "2018-07-06"
        }
    }
}

{INSTANCE_ID}: L'ID che rappresenta l'istanza MLI.
{MODEL_ID}: ID che rappresenta il modello addestrato.

Di seguito è riportata la risposta dopo la creazione dell’esperimento pianificato.

Risposta

{
  "id": "{EXPERIMENT_ID}",
  "name": "Experiment for Retail",
  "mlInstanceId": "{INSTANCE_ID}",
  "created": "2018-11-11T11:11:11.111Z",
  "updated": "2018-11-11T11:11:11.111Z",
  "template": {
    "tasks": [
      {
        "name": "score",
        "parameters": [...],
        "specification": {
          "type": "SparkTaskSpec",
          "executorCores": 5,
          "numExecutors": 5
        }
      }
    ],
    "schedule": {
      "cron": "*\/20 * * * *",
      "startTime": "2018-07-04",
      "endTime": "2018-07-06"
    }
  }
}

{EXPERIMENT_ID}: L'ID che rappresenta l'esperimento.
{INSTANCE_ID}: L'ID che rappresenta l'istanza MLI.

Creare un’esecuzione di un esperimento per il punteggio

Ora, con il modello addestrato, possiamo creare un Experience Run per il punteggio. Il valore del parametro modelId è il parametro id restituito nella richiesta del modello di GET di cui sopra.

Richiesta

curl -X POST \
  https://platform.adobe.io/data/sensei/experiments/{EXPERIMENT_ID}/runs \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/vnd.adobe.platform.sensei+json;profile=experimentRun.v1.json' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-api-key: {API_KEY}' \
  -d '{JSON_PAYLOAD}'

{IMS_ORG}: Le credenziali dell’organizzazione IMS sono state trovate nell’integrazione unica di Adobe Experience Platform.
{ACCESS_TOKEN}: Il valore specifico del token portatore fornito dopo l’autenticazione.
{API_KEY}: Il valore chiave API specifico si trova nell’integrazione Adobe Experience Platform univoca.
{EXPERIMENT_ID}: L’ID corrispondente all’esperimento di cui desideri eseguire il targeting. Questo si trova nella risposta durante la creazione del tuo esperimento.
{JSON_PAYLOAD}: Dati da registrare. L’esempio che utilizziamo nel nostro tutorial è il seguente:

{
   "mode":"score",
    "tasks": [
        {
            "name": "score",
            "parameters": [
                {
                    "key": "modelId",
                    "value": "{MODEL_ID}"
                }
            ]
        }
    ]
}

{MODEL_ID}: L'ID corrispondente al modello.

La risposta dalla creazione dell’esecuzione dell’esperimento è mostrata di seguito:

Risposta

{
    "id": "{EXPERIMENT_RUN_ID}",
    "mode": "score",
    "experimentId": "{EXPERIMENT_ID}",
    "created": "2018-01-01T11:11:11.011Z",
    "updated": "2018-01-01T11:11:11.011Z",
    "deleted": false,
    "tasks": [
        {
            "name": "score",
            "parameters": [...]
        }
    ]
}

{EXPERIMENT_ID}: L'ID corrispondente all'esperimento in cui si trova l'esecuzione.
{EXPERIMENT_RUN_ID}: L'ID corrispondente all'esecuzione dell'esperimento appena creato.

Recupera lo stato di esecuzione di un esperimento per l'esecuzione programmata di un esperimento

Per ottenere le esecuzioni di esperimenti per gli esperimenti pianificati, la query è mostrata di seguito:

Richiesta

curl -X GET \
  'https://platform.adobe.io/data/sensei/experiments/{EXPERIMENT_ID}/runs' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}'

{EXPERIMENT_ID}: L'ID corrispondente all'esperimento in cui si trova l'esecuzione.
{ACCESS_TOKEN}: Il valore specifico del token portatore fornito dopo l’autenticazione.
{IMS_ORG}: Le credenziali dell’organizzazione IMS sono state trovate nell’integrazione unica di Adobe Experience Platform.

Poiché sono presenti più esecuzioni di esperimenti per un esperimento specifico, la risposta restituita avrà una matrice di ID di esecuzione.

Risposta

{
    "children": [
        {
            "id": "{EXPERIMENT_RUN_ID}",
            "experimentId": "{EXPERIMENT_ID}",
            "created": "2018-01-01T11:11:11.011Z",
            "updated": "2018-01-01T11:11:11.011Z"
        },
        {
            "id": "{EXPERIMENT_RUN_ID}",
            "experimentId": "{EXPERIMENT_ID}",
            "created": "2018-01-01T11:11:11.011Z",
            "updated": "2018-01-01T11:11:11.011Z"
        }
    ]
}

{EXPERIMENT_RUN_ID}: L'ID corrispondente all'esecuzione dell'esperimento.
{EXPERIMENT_ID}: L'ID corrispondente all'esperimento in cui si trova l'esecuzione.

Arrestare ed eliminare un esperimento pianificato

Per interrompere l’esecuzione di un esperimento pianificato prima del relativo endTime, è possibile eseguire questa operazione eseguendo una query su una richiesta DELETE al {EXPERIMENT_ID}

Richiesta

curl -X DELETE \
  'https://platform.adobe.io/data/sensei/experiments/{EXPERIMENT_ID}' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}'

{EXPERIMENT_ID}: L'ID corrispondente all'esperimento.
{ACCESS_TOKEN}: Il valore specifico del token portatore fornito dopo l’autenticazione.
{IMS_ORG}: Le credenziali dell’organizzazione IMS sono state trovate nell’integrazione unica di Adobe Experience Platform.

NOTA

La chiamata API disattiverà la creazione di nuove esecuzioni di Esperimenti. Tuttavia, non interromperà l'esecuzione di esecuzioni di esperimenti già in esecuzione.

Di seguito è riportata la notifica della cancellazione dell’esperimento.

Risposta

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

In questa pagina