本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
本文介绍如何基于PAI-Rec平台把引擎服务部署到PAI-EAS平台上。
前提条件
已获取阿里云账号的鉴权AccessKey ID和AccessKey Secret,为避免安全风险,建议您使用RAM账号的AccessKey。详情请参见获取AccessKey。
创建引擎配置单
在启动PAI-Rec引擎前,需先创建并成功发布配置单至预发和生产环境。引擎将依据配置单中的设置进行初始化。若后续对配置进行了调整,可直接发布更新后的配置,引擎能够实时读取新配置并实现热更新,无需重启服务。
登录PAI-Rec管理控制台,在左侧导航栏选择系统配置>引擎配置。
在预发环境,单击创建配置单,系统会提供默认设置,可直接创建。
单击克隆,可从预发环境的配置克隆生成生产环境的配置单。
在生产环境,单击目标配置单右侧的详情,进行发布。
创建服务
登录PAI-Rec管理控制台,在左侧导航栏选择系统配置>服务管理。
单击创建服务,按照如下说明配置相关参数。
基础配置
参数
描述
服务名称
部署到PAI-EAS上的服务名称。
服务描述
服务描述信息。
地域
部署到PAI-EAS的服务地域。
镜像名称
如果无需自定义开发代码,选择官方镜像;如果需要自定义开发代码,选择用户自定义镜像,可参考快速创建项目打包镜像。
镜像密钥
PAI-EAS通过此处设置的镜像密钥拉取镜像。
推荐引擎配置
引擎服务用到的引擎配置名称。需要先发布预发和生产环境的引擎配置。
EAS配置
配置EAS参数。
参数
描述
EAS资源组
如果没有私有资源组,默认使用公共资源组即可。
EAS配置文件
包括预发环境配置和正式环境配置,通过该配置,在PAI-EAS分别创建预发服务和生产服务。
在预发环境配置页签,单击复制配置,然后单击前往EAS控制台。
选择对应工作空间后,单击进入EAS,在模型在线服务(EAS)页面,单击部署服务。
选择JSON独立部署,将已复制的PAI-Rec预发环境配置粘贴在此处。
说明AccessKey
和AccessSecret
对应的值需要替换为您的阿里云账号AccessKey ID和AccessKey Secret。为了安全,请务必使用阿里云子账号的AccessKey。单击部署。
等待服务状态变为运行中时,代表预发服务部署成功。您可以单击服务名称,查看服务日志等信息。
部署生产服务,操作和预发服务同理。
待预发服务和生产服务部署完成后,单击下一步。
系统会检查预发和生产服务是否正常运行。检查成功后,进入下一步。
预发发布/生产发布
如果使用官方镜像部署,可跳过此步骤,直接创建。
测试服务
部署服务后,可以测试该服务。具体操作,请参见接口测试。
EAS控制台测试
登录PAI-EAS控制台,单击服务名称,在在线调试页签,测试服务。接口路径需要加上
/api/rec/feed
,请求的body设置参数即可。服务请求后,可以根据接口返回的request_id查看日志详情。
PAI-Rec控制台测试
登录PAI-Rec管理控制台,在左侧导航栏选择排查工具>推荐结果诊断,根据服务、环境和接口等进行测试。
引擎配置概览
从上述接口中可知,返回了等于入参size
大小的item
数量,并且召回源名称是mock_recall
。
在RecallConfs
定义了一路模拟的召回mock_recall
,在SceneConfs
中,场景home_feed
下引用了这一路召回。
详细的引擎配置,请参见引擎配置单。
"RecallConfs": [
{
"Name": "mock_recall",
"RecallType": "MockRecall",
"RecallCount": 200
}
],
"SceneConfs": {
"home_feed": {
"default": {
"RecallNames": [
"mock_recall"
]
}
}
}
服务正式上线时,RecallNames
需要删除mock_recall
。
引擎配置热加载
服务部署后,可以按照实际需求调整引擎配置。例如,将上面的mock_recall
的召回数量从200调整到500。
登录PAI-Rec管理控制台,在左侧导航栏选择系统配置>引擎配置。
在生产页签,单击目标引擎右侧的查看。
单击创建变更单内容,可以基于已发布的配置,创建变更内容,也可以对未发布的配置进行多次编辑修改。
编辑完成后,单击发布。
发布成功后,PAI-Rec引擎服务会读取到相应的配置,进行热加载,无需重启服务。
可以在EAS服务日志页面搜索reload,查看是否成功加载。
加载的版本会和已发布的版本对应起来。
使用上面的方式进行测试,可以看到召回数量已经变化。