预测接口
功能介绍
线上预测接口。
URI
POST 服务部署成功后返回的预测地址。
请求消息
请求参数请参见表1 请求参数说明。
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
rec_num |
否 |
Integer |
请求返回数量,默认返回50条。 |
user_id |
是 |
String |
用户ID。 |
items |
否 |
List |
由itemid组成的List。需要在部署服务的时候与物品-物品协同过滤算法一起使用,并提供物品-物品相似度查询功能。 |
others_users |
否 |
List |
由userid组成的List。提供多用户候选集查询功能。 |
context |
否 |
String |
上下文信息,可用于配置在线过滤黑名单列表,列表中的条目将会被排除在最终返回的候选集之外。 |
filter_items |
否 |
List |
由itemid组成的List。在线黑名单列表,列表中的物品将不会在返回的推荐候选集中。 |
online_tags |
否 |
List |
由属性、属性值和属性权重组成的数据格式的列表,其中属性值或属性权重可以不提供,权重信息不提供的场景下采用默认值0.01。需要在部署服务时与在线召回配合使用。格式如下:[{"name": "age","value": "中年","weight": 0.6},{"name": "sex","value": "男"}] |
online_override |
否 |
Boolean |
需要配置“online_tags”一起使用。表示在线预测的标签是否覆盖发布服务时配置的标签及权重,默认是“false”。如果“online_override”的值是“false”,则采用标签融合的方式,即在线预测的新标签值及权重会更新已有的标签及权重值。 |
priority_tags |
否 |
List |
由属性、属性值、属性权重以及该属性在物品中的数据类型信息组成的数据格式的列表,其中属性值或属性权重可以不提供,权重信息不提供的场景下采用默认值“0.01”。需要在部署服务时与属性匹配重排序配合使用。格式如下:[{"name":"age","value":"中年","item_data_type":"strArray"},{"name":"sex","value":["男","女"],"item_data_type":"strArray"}] |
priority_override |
否 |
Boolean |
需要配置“priority_tags”一起使用。表示在线预测的标签是否覆盖发布服务时配置的属性匹配重排序涉及的标签及权重,默认是“false”。如果“priority_override”的值是“false”,则采用标签融合的方式,即在线预测的新标签值及权重会更新已有的标签及权重值。 |
topping_sources |
否 |
List |
根据用户需求将某些策略的候选集进行置顶。例如:topping_sources:["A", "B"],则先输出A的所有选中候选集,再输出B所有选中候选集,最后输出不在A或B中的候选集。 |
响应消息
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
is_success |
是 |
Boolean |
true表示预测成功,false表示预测失败。 |
data |
是 |
JSON |
请参见表3 data参数说明。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
trace_id |
是 |
String |
消息追踪ID,标识本次请求的推荐结果。 |
rec_num |
是 |
Integer |
返回的结果数量。 |
user_id |
是 |
String |
用户ID。 |
content |
是 |
List |
请参见表4,推荐物品的内容。 |
示例
- 请求示例
{ "user_id": "u1", "rank_items": ["i1", "i2", "i3"], "rec_num": 20, "items": ["i4", "i5"], "other_users": ["u2", "u3"], "context": "{\"blackItemList\":[\"i6\", \"i7\", \"i8\"]}", "topping_sources": ["A", "B"] }
- 成功响应示例
{ "is_success": true, "data": { "trace_id": "a94495c062c6443b87c097427d99232d", "user_id": "260086000000100759", "rec_num": 2, "content": [{ "score": 0.51, "item": { "id": "3101010003401" }, "source": "A" }, { "score": 0.52, "item": { "id": "3101010003402" }, "source": "B" }, { "score": 0.53, "item": { "id": "3101010003403" }, "source": "C" } ] } }
- 失败响应示例
{ "is_success": false, "error_msg": "Backend service found error. Failed to respond due to backend service not found or failed to respond, please check the service you request. " }
状态码
状态码请参见状态码。