Multi Slot - Rank
发布多槽排名。
提交个性化体验创建服务多槽排名请求。 接收上下文、作列表和槽列表。 返回每个槽(每个 rewardActionId)中应使用哪些提供的作。
POST {Endpoint}/personalizer/v1.1-preview.1/multislot/rank
URI 参数
名称 | 在 | 必需 | 类型 | 说明 |
---|---|---|---|---|
Endpoint
|
path | True |
string |
支持的认知服务终结点。 |
请求正文
名称 | 必需 | 类型 | 说明 |
---|---|---|---|
actions | True |
个性化体验创建服务可从中选择的一组作。 该集不应包含超过 50 个作。 作的顺序不会影响排名结果,但顺序应与应用程序用来显示它们的序列匹配。 数组中的第一项将用作脱机评估中的基线项。 |
|
slots | True |
个性化体验创建服务应为其选择作的槽集。 该集不应包含 50 个以上的槽。 |
|
contextFeatures |
object[] |
用作个性化体验创建服务字典的上下文功能。 这由应用程序确定,通常包括有关当前用户、其设备、配置文件信息、有关时间和日期的聚合数据等的功能。功能不应包括个人身份信息(PII)、唯一的 UserID 或精确时间戳。 |
|
deferActivation |
boolean |
如果确定排名结果中的 rewardActionId 会显示给用户,则发送 false,因此个性化体验创建服务需要奖励调用,否则它将将默认奖励分配给事件。 如果用户可能看不到排名结果中指定的作(例如页面稍后呈现,或者排名结果可能由代码进一步下游重写),则发送 true。 如果向用户显示事件输出,则必须调用激活事件 API,否则将忽略 Rewards。 |
|
eventId |
string maxLength: 256 |
(可选)传递唯一标识此 Rank 事件的 eventId。 如果为 null,服务将生成唯一的 eventId。 eventId 将用于将此请求与其奖励相关联,以及在进行个性化体验创建服务调用时种子设定伪随机生成器。 |
响应
名称 | 类型 | 说明 |
---|---|---|
201 Created |
成功 |
|
Other Status Codes |
请求无效。 |
示例
Successful MultiSlot_Rank request
示例请求
POST {Endpoint}/personalizer/v1.1-preview.1/multislot/rank
{
"contextFeatures": [
{
"user": {
"profileType": "AnonymousUser",
"latLong": "47.6,-122.1"
}
},
{
"environment": {
"dayOfMonth": "28",
"monthOfYear": "8",
"weather": "Sunny"
}
},
{
"device": {
"mobile": true,
"windows": true
}
},
{
"recentActivity": {
"itemsInCart": 3
}
}
],
"actions": [
{
"id": "NewsArticle",
"features": [
{
"type": "News"
}
]
},
{
"id": "SportsArticle",
"features": [
{
"type": "Sports"
}
]
},
{
"id": "EntertainmentArticle",
"features": [
{
"type": "Entertainment"
}
]
}
],
"slots": [
{
"id": "Main Article",
"features": [
{
"size": "Large",
"position": "Top Middle"
}
],
"excludedActions": [
"SportsArticle"
],
"baselineAction": "EntertainmentArticle"
},
{
"id": "Side Bar",
"features": [
{
"size": "Small"
}
],
"baselineAction": "NewsArticle"
}
],
"eventId": "75269AD0-BFEE-4598-8196-C57383D38E10",
"deferActivation": false
}
示例响应
{
"slots": [
{
"id": "Main Article",
"rewardActionId": "EntertainmentArticle"
},
{
"id": "Side Bar",
"rewardActionId": "SportsArticle"
}
],
"eventId": "75269AD0-BFEE-4598-8196-C57383D38E10"
}
定义
名称 | 说明 |
---|---|
Error |
用于向客户端返回错误 |
Internal |
包含比父对象有关错误的更具体信息的对象。 |
Multi |
|
Multi |
|
Personalizer |
错误对象。 |
Personalizer |
个性化体验创建服务返回的错误代码 |
Rankable |
具有用于排名的关联功能的作。 |
Slot |
具有其关联功能和排除作列表的槽 |
Slot |
ErrorResponse
用于向客户端返回错误
名称 | 类型 | 说明 |
---|---|---|
error |
错误对象。 |
InternalError
包含比父对象有关错误的更具体信息的对象。
名称 | 类型 | 说明 |
---|---|---|
code |
string |
详细的错误代码。 |
innererror |
包含比父对象有关错误的更具体信息的对象。 |
MultiSlotRankRequest
名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
actions |
个性化体验创建服务可从中选择的一组作。 该集不应包含超过 50 个作。 作的顺序不会影响排名结果,但顺序应与应用程序用来显示它们的序列匹配。 数组中的第一项将用作脱机评估中的基线项。 |
||
contextFeatures |
object[] |
用作个性化体验创建服务字典的上下文功能。 这由应用程序确定,通常包括有关当前用户、其设备、配置文件信息、有关时间和日期的聚合数据等的功能。功能不应包括个人身份信息(PII)、唯一的 UserID 或精确时间戳。 |
|
deferActivation |
boolean |
False |
如果确定排名结果中的 rewardActionId 会显示给用户,则发送 false,因此个性化体验创建服务需要奖励调用,否则它将将默认奖励分配给事件。 如果用户可能看不到排名结果中指定的作(例如页面稍后呈现,或者排名结果可能由代码进一步下游重写),则发送 true。 如果向用户显示事件输出,则必须调用激活事件 API,否则将忽略 Rewards。 |
eventId |
string maxLength: 256 |
(可选)传递唯一标识此 Rank 事件的 eventId。 如果为 null,服务将生成唯一的 eventId。 eventId 将用于将此请求与其奖励相关联,以及在进行个性化体验创建服务调用时种子设定伪随机生成器。 |
|
slots |
个性化体验创建服务应为其选择作的槽集。 该集不应包含 50 个以上的槽。 |
MultiSlotRankResponse
名称 | 类型 | 说明 |
---|---|---|
eventId |
string maxLength: 256 |
往返请求到响应的 eventId。 |
slots |
每个槽都有一个对应的 rewardActionID,这是个性化体验创建服务建议的作 ID。 |
PersonalizerError
错误对象。
名称 | 类型 | 说明 |
---|---|---|
code |
个性化体验创建服务返回的错误代码 |
|
details |
导致此报告错误的特定错误的详细信息数组。 |
|
innerError |
包含比父对象有关错误的更具体信息的对象。 |
|
message |
string |
说明服务报告的错误的消息。 |
target |
string |
错误源元素。 |
PersonalizerErrorCode
个性化体验创建服务返回的错误代码
值 | 说明 |
---|---|
ApprenticeModeNeverTurnedOn |
学徒模式从未打开。 |
BadRequest |
服务器无法理解请求。 |
DuplicateCustomPolicyNames |
自定义策略名称应是唯一的。 |
EvaluationModelNotFound |
评估中未找到模型。 |
EvaluationNotFound |
找不到脱机评估。 |
FrontEndNotFound |
找不到前端。 |
InternalServerError |
服务器上发生了一般错误。 |
InvalidContainer |
SAS URI 必须是具有写入权限的容器的 URI。 |
InvalidEvaluationContract |
计算协定无效。 |
InvalidEventIdToActivate |
激活事件请求无效。 |
InvalidExportLogsRequest |
请求无效。 |
InvalidLearningModeServiceConfiguration |
将学习模式从联机模式更改为学徒模式时,更新 defaultReward、rewardWaitTime 和 rewardAggregation,反之亦然。 进行模式更改,然后使用其他 API 调用更改其他设置。 |
InvalidModelMetadata |
模型元数据无效。 |
InvalidMultiSlotApiAccess |
多槽功能当前处于禁用状态。 请按照多槽个性化体验创建服务文档更新循环设置以启用多槽功能。 |
InvalidPolicyConfiguration |
策略配置无效。 |
InvalidPolicyContract |
策略协定无效。 |
InvalidRankRequest |
请求无效。 |
InvalidRewardRequest |
奖励请求无效。 |
InvalidRewardWaitTime |
奖励等待时间应介于 5 秒到 2 天之间 |
InvalidServiceConfiguration |
服务配置无效。 |
LearningSettingsNotFound |
评估中未找到学习设置。 |
LogsPropertiesNotFound |
找不到日志属性。 |
LogsSizeExceedAllowedLimit |
日志的总大小超出了允许的限制。 |
MissingAppId |
标头中缺少 AppId。 |
ModelFileAccessDenied |
无法访问用于客户托管密钥的密钥保管库密钥。 |
ModelMetadataUpdateFailed |
模型元数据更新失败。 |
ModelPublishFailed |
模型发布失败。 |
ModelRankingError |
使用模型对作进行排名时出错。 请验证学习设置是否有效。 |
ModelResetFailed |
模型重置失败。 |
NoLogsExistInDateRange |
日期范围内不存在日志。 |
OperationNotAllowed |
目前不允许此作。 |
ProblemTypeIncompatibleWithAutoOptimization |
自动优化与多槽个性化不兼容。 |
RankNullResponse |
排名调用返回 null 响应。 |
ResourceNotFound |
服务器上不存在请求的资源。 |
UpdateConfigurationFailed |
无法更新配置。 |
RankableAction
具有用于排名的关联功能的作。
名称 | 类型 | 说明 |
---|---|---|
features |
object[] |
包含功能的字典列表。 |
id |
string maxLength: 256 |
作的 ID。 |
SlotRequest
具有其关联功能和排除作列表的槽
名称 | 类型 | 说明 |
---|---|---|
baselineAction |
string |
槽的“基线作”ID。 BaselineAction 是应用程序在该槽中使用的作 ID(如果个性化体验创建服务不存在)。 必须为每个槽定义 BaselineAction。 BaselineAction 不应是 ExcludedActions 的一部分。 每个槽必须具有唯一的 BaselineAction,它对应于事件作列表中的作。 |
excludedActions |
string[] |
排除的作 ID 的列表。 |
features |
object[] |
包含槽功能的字典列表。 |
id |
string |
槽 ID |
SlotResponse
名称 | 类型 | 说明 |
---|---|---|
id |
string maxLength: 256 |
ID 是槽 ID。 |
rewardActionId |
string maxLength: 256 |
RewardActionID 是个性化体验创建服务建议的作 ID。 |