模型API概觀
模型API (也稱為Blocklist API)可讓使用者檢視和管理機器學習模型中用於Automated Personalization (AP)和Auto-Target (AT)活動的功能清單。 如果使用者想排除模型用於AP或AT活動的功能,他們可以使用模型API將該功能新增到「封鎖清單」。
blocklist 定義將由Adobe Target從其機器學習模型中排除的功能集。 如需功能的詳細資訊,請參閱機器學習演演算法使用的資料 Target。
封鎖清單可依活動(活動層級)定義,或針對Target帳戶(全域層級)內的所有活動定義。
模型API規格
在這裡檢視模型API規格。
必備條件
若要使用模型API,您必須使用Adobe Developer Console設定驗證,就像使用Target管理員API一樣。 如需詳細資訊,請參閱如何設定驗證。
模型API使用准則
如何管理封鎖清單
步驟1: 檢視活動的功能清單
步驟2: 檢查活動的封鎖清單
步驟3: 將功能新增至活動的封鎖清單
步驟4: (選擇性)解除封鎖
步驟5: (選擇性)管理全域封鎖清單
步驟1:檢視活動的功能清單 step1
在封鎖功能之前,請先檢視目前包含在該活動模型中的功能清單。
code language-json line-numbers |
---|
|
code language-json line-numbers |
---|
|
在此處的範例中,使用者正在檢查其活動ID為260840的活動之模型中使用的功能清單。
externalName 是功能的好記名稱。 由Target建立,此值可能會隨著時間而改變。 使用者可以在Personalization前瞻分析報表中檢視這些好記的名稱。
internalName 是功能的實際識別碼。 Target也建立了它,但無法變更。 這是您需要參考的值,以識別要加入封鎖清單的功能。
請注意,為了讓功能清單填入值(亦即為了使其成為非空值),活動:
- 必須具有「狀態= Live」,或之前必須已啟用
- 執行時間必須夠長,才能有促銷活動活動,因此模型必須對其執行資料。
步驟2:檢查活動的封鎖清單 step2
接下來,檢視封鎖清單。 換言之,檢查哪些功能(如果有的話)目前被封鎖而無法納入此活動的模型中。
/blockList/
在要求中區分大小寫。code language-json line-numbers |
---|
|
code language-json line-numbers |
---|
|
在此處的範例中,使用者正在檢查其活動ID為260840的活動之封鎖功能清單。 結果為空白,這表示此活動目前沒有任何已加入封鎖清單的功能。
步驟3:將功能新增至活動的封鎖清單 step3
若要新增功能至封鎖清單,請將請求從GET變更為PUT,並修改請求內文,以視需要指定blockedFeatureSources
或blockedFeatures
。
- 要求的主體需要
blockedFeatures
或blockedFeatureSources
。 兩者皆可納入。 - 將識別自
internalName
的值填入blockedFeatures
。 請參閱步驟1。 - 使用下表中的值填入
blockedFeatureSources
。
請注意,blockedFeatureSources
指出功能的來源。 為了加入封鎖清單,它們可作為功能群組或類別,讓使用者一次封鎖整組功能。 blockedFeatureSources
的值符合功能識別碼的前幾個字元(blockedFeatures
或internalName
個值);因此這些值也可能被視為「功能首碼」。
blockedFeatureSources
值的表格 table
code language-json line-numbers |
---|
|
code language-json line-numbers |
---|
|
在此顯示的範例中,使用者正在封鎖兩個功能SES_PREVIOUS_VISIT_COUNT
和SES_TOTAL_SESSIONS
,他們之前透過查詢活動ID為260480的活動完整功能清單來識別這些功能,如步驟1中所述。 他們也會封鎖來自Experience Cloud區段的所有功能,方法是封鎖前置詞為"AAM"的功能,如上述表格所述。
請注意,將功能加入封鎖清單後,建議您再次執行步驟2以驗證更新的封鎖清單(GET封鎖清單)。 確認結果如預期般顯示(確認結果包含最新PUT請求新增的功能)。
步驟4:(選擇性)解除封鎖 step4
若要解除封鎖所有已加入封鎖清單的功能,請清除blockedFeatureSources
或blockedFeatures
的值。
code language-json line-numbers |
---|
|
code language-json line-numbers |
---|
|
在此處的範例中,使用者正在清除260840有活動ID之活動的封鎖清單。 請注意,回應會確認已封鎖功能及其來源(分別為blockedFeatureSources
和blockedFeatures
)的空白陣列。
修改封鎖清單後,建議您再次執行步驟2 (GET封鎖清單,以驗證清單是否如預期包含功能)。 在此處的範例中,使用者正在驗證其封鎖清單現在是否為空。
問題:如何刪除封鎖清單中的部分(但非全部)?
回答:若要從多功能封鎖清單中移除已封鎖功能的離散子集,使用者只需在封鎖清單請求中傳送要封鎖的更新功能清單即可,而不是清除整個封鎖清單並重新新增所需功能。 換句話說,請傳送更新的功能清單(如步驟3中所示),確定要從封鎖清單中排除您要「刪除」的功能。
步驟5: (選用)管理全域封鎖清單 step5
上述範例均在單一活動的內容中。 您也可以封鎖指定使用者端(租使用者)上所有活動的功能,而不必個別指定每個活動的封鎖清單。 若要執行全域封鎖清單,請使用/blockList/global
呼叫,而非blockList/<campaignId>
。
code language-json line-numbers |
---|
|
code language-json line-numbers |
---|
|
在上面顯示的範例要求中,使用者在其Target帳戶中的所有活動中封鎖兩項功能: "AAM_FEATURE_1"及"AAM_FEATURE_2"。 這表示無論活動為何,「AAM_FEATURE_1」和「AAM_FEATURE_2」都不會包含在此帳戶的機器學習模型中。 此外,使用者也會全域封鎖首碼為"AAM"、"PRO"或"ENV"的所有功能。
問題:上述程式碼範例不是多餘的嗎?
回答:是。 若封鎖的值以「AAM」開頭的功能,同時封鎖來源為「AAM」的所有功能,則是多餘的。 最終結果是所有來源於AAM (Experience Cloud區段)的功能將會遭到封鎖。 因此,如果目標是要封鎖「Experience Cloud區段」中的所有功能,則不需要在上述範例中以「AAM」開頭個別指定某些功能。
最後一個步驟:無論是在活動或全域層級,都建議您在修改封鎖清單後加以驗證,以確保其包含您預期的值。 將PUT
變更為GET
以執行此操作。
以下顯示的範例回應表示Target封鎖兩個個別的功能,加上所有來源為「AAM」、「PRO」和「ENV」的功能。