自定义排序模型

更新时间: 2023-04-06 17:29:01

注意:此项功能需要开通高级功能相关资源支持,包括但不限于MaxCompute、PAI、DataWorks等,

如上服务将用于高级版自定义召回模型的搭建、表存储、计算等。

一、创建AI工作空间

需要先开通MaxCompute,开通成功后请按照此链接配置:创建AI工作空间

二、部署easyRec模型

在画布左上角的“商品推荐排序模型”,右键从模板创建。

image

会生成一个新的实验,点击DeepFM组件,需要配置模型和相关日志的输出路径,需要用户开通并且在相应区域购买oss。

OSS Bucket路径指的是工作根目录路径,用来存储训练相关的描述问题。

模型路径用来存储生成的模型。

image

配置完成后点击运行按钮。运行完毕后,右键该节点,点击查看排序模型:

image

这里会显示模型的输出bucket以及运行完成时间。

image

回到控制台,进入模型服务页面。

点击模型上传部署,processor填写TensorFlow1.12,类型选择CPU,模型文件选择OSS文件路径。

image

因为该案例会生成多个模型checkpoint,最终部署需要使用的是savemodel格式文件,该文件路径为:export/final下的文件夹。

image

部署完成后生成模型服务,即可直接调用。

image

更多详情请见:EAS模型在线服务

三、注册排序服务

在“排序模型与服务”下“排序模型部署”内点击“注册排序服务”。

1

输入如图所示的信息。

image

提交后即可在控制台的模型服务管理处查看注册好的排序服务。

注册成功后,您可以点击更多进行服务地址连通性测试。2

四、应用自定义排序模型

在注册好排序服务后,就可以在创建实验时选择已注册的排序模型。

2

注意:第一期智能只能替代为自定义排序规则,不支持同时应用两个排序模型。

五、自定义排序调用方式

在您获取推荐结果时,传入UserInfo参数即可针对请求user_id的用户特征进行个性化推荐。

GET /recommend?_appid=<instanceId>&SceneId=<sceneId>&ReturnCount=<returnCount>&...

I 参数说明

参数

是否必填

描述

备注

_appid

阿里云实例ID。

例:airec-cn-npk1yhx90003。

SceneId

您的场景ID。

ReturnCount

请求返回的推荐结果条目数。

最大值=50。

UserId

可选

请求推荐的用户ID。

Imei

可选

请求推荐的设备ID。

Ip

可选

请求推荐的设备地址。

UtdiId

可选

请求推荐的用户唯一标识。若填入此参数,则UserId、Imei、Ip都会被忽略。

ServiceType

可选

请求的推荐类型

  • gul:猜你喜欢

  • rr:相关推荐

若未填入,则使用请求的场景所配置的推荐类型。

UserInfo

可选

请求的用户特征,仅当使用自定义EasyRec排序模型时有效。

UserInfo的使用详细说明:

格式如下:

1、首先准备形如feaname1:feavalue1,feaname2:feavalue2的特征KV串,其中:

key值包含的空格会被后端直接忽略。

value值中禁止包含:“、”及“,”。

2、将此字符串进行UTF-8编码。

3、将前步得到的二进制数据进行base64加密。

4、将前步得到的加密字符串进行以下处理:

  • 将+替换为-

  • 将/替换为_

  • 将=替换为.

所得加密字符串填入UserInfo参数。

正确编码举例(可用于验证编码逻辑是否正确):

假设原KV串为:gender:female,name:远方不败,city:北京 海淀

UTF-8编码后,二进制串为:

67 65 6e 64 65 72 3a 66 65 6d 61 6c 65 2c 6e 61 6d 65 3a e8 bf 9c e6 96 b9 e4 b8 8d e8 b4 a5 2c 63 69 74 79 3a e5 8c 97 e4 ba ac 20 e6 b5 b7 e6 b7 80

base64编码后,加密字符串为:

Z2VuZGVyOmZlbWFsZSxuYW1lOui/nOaWueS4jei0pSxjaXR5OuWMl+S6rCDmtbfmt4A=

进行字符替换后,最终得到的字符串为:

Z2VuZGVyOmZlbWFsZSxuYW1lOui_nOaWueS4jei0pSxjaXR5OuWMl-S6rCDmtbfmt4A.

II 调试参数

参数

是否必填

描述

备注

token

必填

调试参数令牌

必须填入token=airec6666才允许输入调试参数,否则下述所有调试参数会被忽略。

debug

可选

调试开关

必须填入debug=true才会返回debug_result。

ExperimentId

可选

指定实验ID

例:ExperimentId=123056。

阿里云首页 智能推荐 AIRec 相关技术圈