本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
本文介绍如何基于PAI-Rec平台把引擎服务部署到PAI-EAS平台上。
创建引擎配置单
PAI-Rec引擎启动时,会读取引擎配置单中的配置。引擎配置有改动时,也可以直接发布。这时,引擎也会读取到,并且进行热更新而无需重启引擎服务。
创建引擎服务时,需要首先创建配置单。并且配置单在预发和生产环境中发布成功。
配置单名称可以自定义。这里我们创建的名称是 pairec_config_test。新建配置单会有默认的配置,可以不用修改,直接创建即可。创建成功后,发布即可。
生产环境的配置单,可以通过预发环境的配置克隆生成。
创建完成,切换到生产环境下,进行发布。
创建服务
参数含义如下:
参数 | 描述 |
服务名称 | 部署到PAI-EAS上的服务名称 |
服务描述 | 服务描述信息 |
地域 | 部署到PAI-EAS的服务地域 |
镜像名称 | 分为官方镜像和用户自定义镜像。 |
镜像密钥 | PAI-EAS通过这里设置的镜像密钥拉取镜像 |
推荐引擎配置 | 引擎服务用到的引擎配置名称 |
这里创建的服务名称为pairec_config_test,并使用了上文创建的引擎配置。在镜像选择上,如果无需自定义的代码开发,直接选择官方即可。如果需要自定义开发代码,可以参考快速创建项目进行打包镜像。
进入下一步后,首先选择PAI-EAS资源组。如果没有私有资源组的话,直接默认使用公共资源组即可。
页面下方有两组配置,分别是预发环境配置和正式环境配置。这里是通过这两个配置,在PAI-EAS创建两个服务,分别是预发服务和生产服务。两个步骤是一样的。
以部署预发服务举例,这里复制下配置,前往EAS控制台即可。
进入EAS控制台,点击部署服务。
可以直接选择JSON独立部署。
然后把PAI-Rec控制台复制的配置直接粘贴即可。然后根据实际情况修改以下内容。
这里需要把阿里云的AccessKey和AccessSecre填上。为了安全,务必使用阿里云子账号的AK信息。
调整完成,点击部署按钮。
等待服务部署成功,也可以检查服务的启动日志。
同样的,回到PAI-Rec控制台,可以复制生产服务配置。把生产服务部署到EAS上。
点击下一步,系统会检查预发和生产服务是否是正常运行。检查成功,进入下一步。
如果是用官方镜像进行部署的话,可以跳过这一步,直接创建完成。
服务测试
部署好服务后,可以进行测试。PAI-Rec 引擎中已经内置了推荐接口,定义参考接口测试。可以有两种方式进行测试。
EAS 控制台测试
进入EAS控制台的在线调试,接口的路径,需要加上/api/rec/feed。请求的body设置参数即可。
服务请求后,我们可以根据接口返回的request_id查看整个日志详情。
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引擎服务会读取到相应的配置,进行热加载,而无需重启服务。可以通过EAS日志查看是否成功加载。可以直接搜索reload进行日志查看。
加载的版本会和已发布的版本对应起来。
使用上面的方式进行测试。 可以看到召回数量已经变化了。