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 Experience 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-begäran 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.nameengine.descriptionengine.typetype 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:versionartifacts.default.image.nameartifacts.default.image.executionTypeexecutionType 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"
}
}
}
}'
namedescriptiontypemlLibraryartifacts.default.image.locationartifacts.default.image.executionTypeBegä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"
}
}
}
}'
namedescriptiontypemlLibraryartifacts.default.image.locationartifacts.default.image.executionTypeSvar
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 POST.
{
"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.