本文档为您展示一个示例,在本例中,我们将准备一份U2I召回数据(假设数据表的表名为aime_example_u2i
),一份I2I召回数据(假设数据表的表名为aime_example_i2i
),然后在智能召回引擎控制台上注册数据,最后用这两份数据拉起一个U2I2I召回服务。
数据准备
准备U2I召回表
在MaxCompute客户端中准备离线数据
-- 创建数据表
CREATE TABLE IF NOT EXISTS aime_example_u2i (
user_id STRING COMMENT "用户ID",
item_id STRING COMMENT "物品ID",
logtime BIGINT COMMENT "时间"
) PARTITIONED BY (
ds STRING COMMENT "分区字段"
);
-- 写入U2I数据,实际业务场景下,具体的写入数据由您的算法逻辑产出
INSERT OVERWRITE TABLE aime_example_u2i PARTITION (ds = '20230101')
SELECT 'A' AS user_id, '10001' AS item_id, 1672502401 AS logtime UNION
SELECT 'A' AS user_id, '10002' AS item_id, 1672502402 AS logtime UNION
SELECT 'B' AS user_id, '10001' AS item_id, 1672502403 AS logtime UNION
SELECT 'C' AS user_id, '10003' AS item_id, 1672502404 AS logtime;
-- 写入标识分区
INSERT OVERWRITE TABLE aime_example_u2i PARTITION (ds = '20230101.done')
SELECT NULL, NULL, NULL UNION;
在智能召回引擎控制台上注册数据
进入实例详情-数据管理页面,点击“注册数据”。
配置基础信息:
点击“保存并上线”,完成注册并发布。
准备I2I召回表
在MaxCompute客户端中准备离线数据
-- 创建数据表
CREATE TABLE IF NOT EXISTS aime_example_i2i (
trigger_id STRING COMMENT "召回字段",
item_id STRING COMMENT "物品ID",
score DOUBLE COMMENT "召回分"
) PARTITIONED BY (
ds STRING COMMENT "分区字段"
);
-- 写入I2I数据,实际业务场景下,具体的写入数据由您的算法逻辑产出
INSERT OVERWRITE TABLE aime_example_i2i PARTITION (ds = '20230101')
SELECT '10001' AS trigger_id, '10004' AS item_id, 1.12 AS score UNION
SELECT '10001' AS trigger_id, '10005' AS item_id, 1.07 AS score UNION
SELECT '10002' AS trigger_id, '10006' AS item_id, 0.98 AS score UNION
SELECT '10003' AS trigger_id, '10007' AS item_id, 0.87 AS score;
-- 写入标识分区
INSERT OVERWRITE TABLE aime_example_i2i PARTITION (ds = '20230101.done')
SELECT NULL, NULL, NULL UNION;
在智能召回引擎控制台上注册数据
进入实例详情-数据管理页面,点击“注册数据”。
配置基础信息:
点击“保存并上线”,完成注册并发布。
服务注册
在实例详情-服务管理中,点击“创建召回服务”按钮,开始创建召回服务。
配置服务基础信息
配置数据,选择我们刚才准备好的数据,U2I2I召回服务是根据user查找item1,再根据item1查找item2,因此“Recall”召回这里选择u2i召回表,同时,需要join关联 i2i召回表。
新增算子类型“Join关联”
增加算子“Sorter排序”,可根据i2i召回表中score召回分对返回物品排序(可选)。
可根据业务情况自行选择新增或删除算子。
此时U2I2I召回链路配置完成,由于BE召回引擎支持多路召回,因此需要设置归并结果的去重字段(字段自选)。
点击“保存并上线”,完成注册并发布。
进入服务管理,可以看到我们刚才创建的召回服务,等待其发布完成,就可以使用了。
文档内容是否对您有帮助?