Punteggio di un modello (API)

Questa esercitazione vi mostrerà come sfruttare le API per creare un esperimento e un'esecuzione di prova. Per un elenco dettagliato della documentazione API, consultate questo documento.

Creazione di un esperimento pianificato per il punteggio

Come per gli esperimenti pianificati per la formazione, la creazione di un esperimento pianificato per il punteggio viene anche effettuata includendo una template sezione al parametro body. Inoltre, il name campo 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 che verrà eseguito 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}: Credenziali organizzazione IMS trovate nella vostra unica integrazione con Adobe Experience Platform.
{ACCESS_TOKEN}: Il valore del token del portatore specificato dopo l'autenticazione.
{API_KEY}: Il valore chiave API specifico trovato nella vostra integrazione Adobe Experience Platform univoca.
{JSON_PAYLOAD}: Oggetto Experience Run da inviare. L’esempio che utilizziamo nell’esercitazione è riportato di seguito:

{
    "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}: L'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.

Creazione di un'esecuzione di un esperimento per il punteggio

Ora, con il modello addestrato, possiamo creare una Prova Sperimentale per il punteggio. Il valore del modelId parametro è il id parametro restituito nella richiesta del modello di GET precedente.

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}: Credenziali organizzazione IMS trovate nella vostra unica integrazione con Adobe Experience Platform.
{ACCESS_TOKEN}: Il valore del token del portatore specificato dopo l'autenticazione.
{API_KEY}: Il valore chiave API specifico trovato nella vostra integrazione Adobe Experience Platform univoca.
{EXPERIMENT_ID}: L’ID corrispondente all’esperimento di cui eseguire il targeting. Questo si trova nella risposta quando create il vostro esperimento.
{JSON_PAYLOAD}: Dati da registrare. L'esempio che utilizziamo per questa esercitazione è il seguente:

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

{MODEL_ID}: L'ID corrispondente al modello.

La risposta della creazione di Experience Run è 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 su cui si trova l'esecuzione.
{EXPERIMENT_RUN_ID}: L’ID corrispondente all’esecuzione dell’esperimento appena creata.

Recupero dello stato di esecuzione di un esperimento per l'esecuzione programmata di un esperimento

Per ottenere le esecuzioni degli 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 su cui si trova l'esecuzione.
{ACCESS_TOKEN}: Il valore del token del portatore specificato dopo l'autenticazione.
{IMS_ORG}: Credenziali organizzazione IMS trovate nella vostra unica integrazione con Adobe Experience Platform.

Poiché per un esperimento specifico sono presenti più esecuzioni sperimentali, la risposta restituita avrà un array 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 su cui si trova l'esecuzione.

Arrestare ed eliminare un esperimento pianificato

Se si desidera 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 del token del portatore specificato dopo l'autenticazione.
{IMS_ORG}: Credenziali organizzazione IMS trovate nella vostra unica integrazione con Adobe Experience Platform.

Nota

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

Di seguito viene riportata la risposta che informa che l’eliminazione dell’esperimento è avvenuta correttamente.

Risposta

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

In questa pagina