Importera ett paketerat recept med Sensei Machine Learning API
I den här självstudien används Sensei Machine Learning API för att skapa en motor som också kallas recept i användargränssnittet.
Innan du börjar är det viktigt att tänka på att Adobe Experience Platform Data Science Workspace använder olika termer för att referera till liknande element i API:t och användargränssnittet. API-termerna används genomgående i den här självstudien och i följande tabell beskrivs motsvarande termer:
En motor innehåller maskininlärningsalgoritmer och logik för att lösa specifika problem. I diagrammet nedan visas API-arbetsflödet i Data Science Workspace. Den här självstudiekursen fokuserar på att skapa en motor, hjärnan i en maskininlärningsmodell.
Komma igång
Den här självstudien kräver en paketerad mottagarfil i form av en Docker-URL. Följ Paketera källfiler i en recept-självstudiekurs för att skapa en paketerad mottagarfil eller skapa en egen.
{DOCKER_URL}
: En URL-adress till en Docker-bild av en intelligent tjänst.
Den här självstudien kräver att du har slutfört autentiseringen av Adobe Experience Platform-självstudiekursen för att kunna anropa Platform API:er. När du slutför självstudiekursen för autentisering visas värdena för var och en av de obligatoriska rubrikerna i alla Experience Platform API-anrop, vilket visas nedan:
{ACCESS_TOKEN}
: Ditt specifika värde för innehavartoken har angetts efter autentiseringen.{ORG_ID}
: Dina organisationsuppgifter hittades i din unika Adobe Experience Platform-integrering.{API_KEY}
: Ditt specifika API-nyckelvärde hittades i din unika Adobe Experience Platform-integrering.
Skapa en motor
Du kan skapa motorer genom att göra en POST-förfrågan till slutpunkten /engines. Den skapade motorn konfigureras baserat på den paketerade mottagarfilen som måste inkluderas som en del av API-begäran.
Skapa en motor med en Docker URL create-an-engine-with-a-docker-url
Om du vill skapa en motor med en paketerad mottagarfil som lagras i en Docker-behållare måste du ange Docker-URL:en till den paketerade mottagarfilen.
API-format
POST /engines
Begär 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
engine.description
engine.type
type
antingen Python
, R
, PySpark
, Spark
(Skala) eller Tensorflow
.artifacts.default.image.location
{DOCKER_URL}
är här. En fullständig Docker-URL har följande struktur: your_docker_host.azurecr.io/docker_image_file:version
artifacts.default.image.name
artifacts.default.image.executionType
executionType
antingen Python
, R
, PySpark
, Spark
(Skala) eller Tensorflow
.Begär 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
description
type
mlLibrary
artifacts.default.image.location
artifacts.default.image.executionType
Begär 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
description
type
mlLibrary
artifacts.default.image.location
artifacts.default.image.executionType
Svar
Ett godkänt svar returnerar en nyttolast som innehåller information om den nya motorn, inklusive dess unika identifierare (id
). Följande exempelsvar är för en Python-motor. Nycklarna executionType
och type
ändras baserat på den angivna POSTEN.
{
"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"
}
}
}
}
Ett lyckat svar visar en JSON-nyttolast med information om den nya motorn. Nyckeln id
representerar den unika motoridentifieraren och krävs i nästa självstudie för att skapa en MLInstance. Se till att Engine-identifieraren sparas innan du fortsätter till nästa steg.
Nästa steg next-steps
Du har skapat en motor med API:t och en unik motoridentifierare har hämtats som en del av svarstexten. Du kan använda den här motoridentifieraren i nästa självstudie när du lär dig hur du skapar, utbildar och utvärderar en modell med API.