本教程使用 Sensei Machine Learning API 建立 引擎,也稱為用戶介面中的配方。
在開始之前,必須指出Adobe Experience Platform Data Science Workspace 使用不同術語來引用API和UI中的類似元素。 API術語在本教程中使用,下表概述了相關術語:
UI術語 | API術語 |
---|---|
食譜 | 引擎 |
模型 | MLInstance |
培訓和評價 | 實驗 |
服務 | MLService |
一個引擎包含機器學習算法和邏輯來解決特定問題。 下圖提供了一個顯示中API工作流的可視化 Data Science Workspace。 本教程重點介紹如何建立「引擎」,即機器學習模型的大腦。
本教程要求以Docker URL形式打包的配方檔案。 關注 將源檔案打包到配方 教程,建立打包的配方檔案或提供您自己的配方檔案。
{DOCKER_URL}
:智慧服務的Docker映像的URL地址。本教程要求您完成 驗證Adobe Experience Platform教程 以便成功撥打 Platform API。 完成身份驗證教程將提供所有中每個必需標頭的值 Experience Platform API調用,如下所示:
{ACCESS_TOKEN}
:身份驗證後提供的特定持有者令牌值。{ORG_ID}
:在您獨特的Adobe Experience Platform整合中找到了您的IMS組織憑據。{API_KEY}
:在您獨特的Adobe Experience Platform整合中找到您的特定API密鑰值。通過向/engines端點發出POST請求,可以建立引擎。 建立的引擎基於打包的處方檔案的形式進行配置,這些檔案必須作為API請求的一部分包含。
為了建立具有儲存在Docker容器中的打包處方檔案的引擎,必須為打包的處方檔案提供Docker URL。
如果您使用 Python 或者使用以下請求。 如果使用PySpark或Scala,請使用位於Python/R示例下方的PySpark/Scala請求示例。
API格式
POST /engines
請求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 |
引擎的所需名稱。 與此引擎對應的處方將繼承此值,顯示在 Data Science Workspace 用戶介面作為處方名稱。 |
engine.description |
引擎的可選說明。 與此引擎對應的處方將繼承此值,顯示在 Data Science Workspace 用戶介面,作為處方說明。 不要刪除此屬性,如果選擇不提供說明,則讓此值為空字串。 |
engine.type |
引擎的執行類型。 此值與在中開發Docker影像的語言相對應。 當提供Docker URL以建立引擎時, type 或 Python 。 R 。 PySpark 。 Spark (斯卡拉),或 Tensorflow 。 |
artifacts.default.image.location |
您 {DOCKER_URL} 到這裡。 完整的Docker URL具有以下結構: your_docker_host.azurecr.io/docker_image_file:version |
artifacts.default.image.name |
Docker映像檔案的附加名稱。 不要刪除此屬性,如果選擇不提供其他Docker映像檔案名,則讓此值為空字串。 |
artifacts.default.image.executionType |
此引擎的執行類型。 此值與在中開發Docker影像的語言相對應。 當提供Docker URL以建立引擎時, executionType 或 Python 。 R 。 PySpark 。 Spark (斯卡拉),或 Tensorflow 。 |
請求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 |
引擎的所需名稱。 與此引擎對應的處方將繼承此值,該值將作為處方名稱顯示在UI中。 |
description |
引擎的可選說明。 與此引擎對應的處方將繼承此值,該值將作為處方說明顯示在UI中。 此為必要屬性。如果不想提供說明,請將其值設定為空字串。 |
type |
引擎的執行類型。 此值與在「PySpark」上構建Docker映像的語言相對應。 |
mlLibrary |
為PySpark和Scala配方建立引擎時所需的欄位。 |
artifacts.default.image.location |
由Docker URL連結到的Docker影像的位置。 |
artifacts.default.image.executionType |
引擎的執行類型。 此值與在「Spark」上構建Docker映像的語言相對應。 |
請求斯卡拉
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 |
引擎的所需名稱。 與此引擎對應的處方將繼承此值,該值將作為處方名稱顯示在UI中。 |
description |
引擎的可選說明。 與此引擎對應的處方將繼承此值,該值將作為處方說明顯示在UI中。 此為必要屬性。如果不想提供說明,請將其值設定為空字串。 |
type |
引擎的執行類型。 此值與在「Spark」上構建Docker映像的語言相對應。 |
mlLibrary |
為PySpark和Scala配方建立引擎時所需的欄位。 |
artifacts.default.image.location |
由Docker URL連結到的Docker影像的位置。 |
artifacts.default.image.executionType |
引擎的執行類型。 此值與在「Spark」上構建Docker映像的語言相對應。 |
回應
成功的響應返回包含新建立引擎的詳細資訊(包括其唯一標識符)的負載(id
)。 以下示例響應是 Python 引擎。 的 executionType
和 type
鍵會根據提供的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"
}
}
}
}
成功的響應顯示JSON負載,其中包含有關新建立的引擎的資訊。 的 id
key表示唯一的引擎標識符,在下一教程中建立MLInstance是必需的。 確保在繼續執行後續步驟之前保存引擎標識符。
您已使用API建立了引擎,並且作為響應主體的一部分獲得了唯一的引擎標識符。 在學習如何進行下一教程時,可以使用此引擎標識符 使用API建立、訓練和評估模型。