Show Menu
ARGOMENTI×

Importare una ricetta in pacchetti (API)

Questa esercitazione utilizza Sensei Machine Learning API per creare un motore , detto anche Ricetta nell'interfaccia utente.
Prima di iniziare, è importante notare che Adobe Experience Platform Data Science Workspace utilizza termini diversi per fare riferimento a elementi simili all'interno dell'API e dell'interfaccia utente. I termini API vengono utilizzati in questa esercitazione e nella tabella seguente sono riportati i termini correlati:
Termine interfaccia utente
Termine API
Ricetta
Modello
Formazione e valutazione
Servizio
Un Motore contiene algoritmi di machine learning e logica per risolvere problemi specifici. Il diagramma seguente fornisce una visualizzazione del flusso di lavoro API in Data Science Workspace. Questa esercitazione si concentra sulla creazione di un Motore, il cervello di un Modello di apprendimento automatico.

Introduzione

Questa esercitazione richiede un file Recipe compresso sotto forma di URL Docker. Seguite i file sorgente del pacchetto in un'esercitazione sulla ricetta per creare un file Recipe in pacchetto o fornitene uno personalizzato.
  • {DOCKER_URL} : Un indirizzo URL a un'immagine Docker di un servizio intelligente.
Questa esercitazione richiede che sia stata completata l' autenticazione per 'esercitazione Adobe Experience Platform al fine di effettuare correttamente le chiamate alle Platform API. Completando l'esercitazione sull'autenticazione, vengono forniti i valori per ciascuna delle intestazioni richieste in tutte le chiamate Experience Platform API, come illustrato di seguito:
  • {ACCESS_TOKEN} : Il valore del token del portatore specificato dopo l'autenticazione.
  • {IMS_ORG} : Credenziali organizzazione IMS trovate nella vostra integrazione Adobe Experience Platform.
  • {API_KEY} : Il valore della chiave API specifico trovato nell'integrazione del Adobe Experience Platform univoco.

Creare un motore

I motori possono essere creati eseguendo una richiesta POST all'endpoint /Engine. Il motore creato è configurato in base al modulo del file Recipe del pacchetto che deve essere incluso come parte della richiesta API.

Creare un motore con un URL Docker

Per creare un Motore con un file Recipe in pacchetto memorizzato in un contenitore Docker, dovete fornire l'URL Docker al file Recipe in pacchetto.
Se utilizzi Python o R utilizza la richiesta di seguito. Se utilizzate PySpark o Scala, usate l’esempio di richiesta PySpark/Scala, situato sotto l’esempio Python/R.
Formato API
POST /engines

Richiesta 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: {IMS_ORG}' \
    -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"
                }
            }
        }
    }' 

Proprietà
Descrizione
engine.name
Nome desiderato per il motore. La ricetta corrispondente a questo motore erediterà questo valore per essere visualizzato nell'interfaccia Data Science Workspace utente come nome della ricetta.
engine.description
Una descrizione facoltativa per il motore. La ricetta corrispondente a questo Motore erediterà questo valore da visualizzare nell'interfaccia Data Science Workspace utente come descrizione della Ricetta. Non rimuovere questa proprietà, lasciare che questo valore sia una stringa vuota se si sceglie di non fornire una descrizione.
engine.type
Il tipo di esecuzione del motore. Questo valore corrisponde alla lingua in cui è sviluppata l'immagine Docker. Quando viene fornito un URL Docker per creare un motore, type è Python , R , PySpark , Spark (Scala) o Tensorflow .
artifacts.default.image.location
La tua {DOCKER_URL} va qui. Un URL Docker completo ha la struttura seguente: your_docker_host.azurecr.io/docker_image_file:version
artifacts.default.image.name
Un nome aggiuntivo per il file immagine Docker. Non rimuovere questa proprietà, lasciare che questo valore sia una stringa vuota se si sceglie di non fornire un nome di file immagine Docker aggiuntivo.
artifacts.default.image.executionType
Il tipo di esecuzione di questo motore. Questo valore corrisponde alla lingua in cui è sviluppata l'immagine Docker. Quando viene fornito un URL Docker per creare un motore, executionType è Python , R , PySpark , Spark (Scala) o Tensorflow .
Richiesta 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: {IMS_ORG}' \
    -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"
            }
        }
    }
}'

Proprietà
Descrizione
name
Nome desiderato per il motore. La ricetta corrispondente a questo motore erediterà questo valore per essere visualizzata nell'interfaccia utente come nome della ricetta.
description
Una descrizione facoltativa per il motore. La ricetta corrispondente a questo motore erediterà il valore che verrà visualizzato nell'interfaccia utente come descrizione della ricetta. Questa proprietà è obbligatoria. Se non si desidera fornire una descrizione, impostare il relativo valore su una stringa vuota.
type
Il tipo di esecuzione del motore. Questo valore corrisponde alla lingua in cui l'immagine Docker è basata su "PySpark".
mlLibrary
Campo richiesto per la creazione di motori per le ricette PySpark e Scala.
artifacts.default.image.location
Posizione dell'immagine Docker collegata a un URL Docker.
artifacts.default.image.executionType
Il tipo di esecuzione del motore. Questo valore corrisponde alla lingua in cui l'immagine Docker è basata su "Spark".
Richiesta 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: {IMS_ORG}' \
    -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"
            }
        }
    }
}'

Proprietà
Descrizione
name
Nome desiderato per il motore. La ricetta corrispondente a questo motore erediterà questo valore per essere visualizzata nell'interfaccia utente come nome della ricetta.
description
Una descrizione facoltativa per il motore. La ricetta corrispondente a questo motore erediterà il valore che verrà visualizzato nell'interfaccia utente come descrizione della ricetta. Questa proprietà è obbligatoria. Se non si desidera fornire una descrizione, impostare il relativo valore su una stringa vuota.
type
Il tipo di esecuzione del motore. Questo valore corrisponde alla lingua in cui l'immagine Docker è basata su "Spark".
mlLibrary
Campo richiesto per la creazione di motori per le ricette PySpark e Scala.
artifacts.default.image.location
Posizione dell'immagine Docker collegata a un URL Docker.
artifacts.default.image.executionType
Il tipo di esecuzione del motore. Questo valore corrisponde alla lingua in cui l'immagine Docker è basata su "Spark".
Risposta
Una risposta corretta restituisce un payload contenente i dettagli del motore appena creato, incluso il relativo identificatore univoco ( id ). La risposta di esempio seguente è per un Python motore. I tasti executionType e type le chiavi cambiano in base al POST fornito.
{
    "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"
            }
        }
    }
}

Una risposta corretta mostra un payload JSON con informazioni relative al motore appena creato. La id chiave rappresenta l’identificatore univoco del motore ed è necessaria nell’esercitazione successiva per creare un’istanza MLI. Prima di continuare con i passaggi successivi, assicurarsi che l’identificatore del motore sia salvato.

Passaggi successivi

Avete creato un Motore utilizzando l'API ed è stato ottenuto un identificatore univoco del Motore come parte del corpo della risposta. Potete utilizzare questo identificatore del motore nell'esercitazione successiva per apprendere come creare, formare e valutare un modello utilizzando l'API .