数据准备
本示例以零售商超商品补货为背景,基于DWS和Dify构建AI补货智能体。商品补货是零售商超重要业务环节,补货合适与否直接影响企业资金周转与客户满意度。虽然传统ERP系统一般自带商品补货逻辑,但这类规则统一,无法考虑现实情况(比如天气、节假日、地理位置等),往往需要人工二次调整,而人工经验、执行力都是影响补货准确度的重要因素。本方案基于ERP系统规则处理后的补货数据,引入节假日、天气等现实因素,构建AI补货智能体,对基础补货数量进行智能调优,实现从"规则驱动"到"智能驱动"的跃升,助力企业构建精准、高效、灵活的智能补货体系。
- 进入DataArts Studio控制台 -->数据开发-->脚本开发,新建RDS SQL脚本,右上角选择MySQL数据连接和数据库,粘贴以下SQL命令,单击“运行”,在RDS for MySQL里建立原始表store_replenishment_ext,该表记录商品ID、分类、系统推荐补货量等。
CREATE TABLE `store_replenishment_ext` ( `store_id` int unsigned NOT NULL, `category_id` int unsigned NOT NULL, `product_id` int unsigned NOT NULL, `product_name` varchar(32) COLLATE utf8mb4_general_ci NOT NULL, `system_recommend_qty` decimal(10,0) unsigned NOT NULL, PRIMARY KEY (`product_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
数据说明如下:
字段名
类型
说明
store_id
int
门店ID
category_id
int
商品分类ID
product_id
int
商品ID
product_name
varchar(32)
商品名称
system_recommend_qty
decimal(10,0)
ERP系统推荐补货量
图1 数据库MySQL建表
- 本节提供部分测试数据示例。新建RDS SQL脚本,粘贴以下SQL命令,单击”运行”,给store_replenishment_ext表插入测试数据。
INSERT INTO store_replenishment_ext (store_id, category_id, product_id, product_name, system_recommend_qty) VALUES (111, 1003, 3, '农夫山泉茶π(蜜桃乌龙茶)', 48), (111, 1004, 4, '思朗纤麸无添糖消化饼干168g', 24), (111, 1005, 5, '旺旺雪饼84G', 24), (111, 1005, 6, '旺旺仙贝105G', 25), (111, 1005, 7, '海天上等蚝油700g', 261), (111, 1005, 8, '太太乐芝麻香油230ML', 9), (111, 1006, 9, '穆堂香五香粉30G', 160), (111, 1007, 10, '王致和玫瑰腐乳340G', 9), (111, 1008, 11, '葱伴侣甜面酱180G', 113), (111, 1009, 12, '光友袋装酸辣粉105G', 57), (111, 1010, 13, '好丽友蛋黄派6枚', 11), (111, 1011, 14, '德懋恭水晶饼500G', 95), (111, 1012, 15, '侯氏香酥麻花', 279), (111, 1014, 16, '天使土豆片椒香麻辣108G', 306), (111, 1015, 17, '益达无糖口香糖草莓56G', 4), (222, 1015, 18, '益达瓶装口香糖(香橙)', 9), (222, 1016, 19, '溜溜果园乌梅60G', 74), (222, 1017, 20, '好巴食五香豆腐干60G', 87), (222, 1017, 21, '卫龙大面筋106g', 144), (222, 1017, 22, '甘源牌蟹黄味瓜子仁75g', 77);
- 新建DWS SQL脚本,粘贴以下SQL命令,右上角选择DWS数据连接和数仓,单击”运行”,在数仓中创建2张数据表,分别是store_replenishment_ext贴源表和store_replenishment_advice结果表。
CREATE TABLE store_replenishment_ext ( store_id INTEGER, category_id INTEGER, product_id INTEGER, product_name CHARACTER VARYING (200), system_recommend_qty NUMERIC(12, 2) ); COMMENT ON COLUMN store_replenishment_ext.store_id IS '门店ID'; COMMENT ON COLUMN store_replenishment_ext.category_id IS '商品类别ID'; COMMENT ON COLUMN store_replenishment_ext.product_id IS '商品ID'; COMMENT ON COLUMN store_replenishment_ext.product_name IS '商品名称'; COMMENT ON COLUMN store_replenishment_ext.system_recommend_qty IS '系统推荐补货数量(含小数,单位:件)'; CREATE TABLE store_replenishment_advice ( store_id INTEGER NOT NULL, product_name CHARACTER VARYING (200) NOT NULL, system_recommend_stock NUMERIC(12, 2) DEFAULT 0, season_factor NUMERIC(4, 2) DEFAULT 1.0, holiday_factor NUMERIC(4, 2) DEFAULT 1.0, weekend_factor NUMERIC(4, 2) DEFAULT 1.0, weather_factor NUMERIC(4, 2) DEFAULT 1.0, suggested_order_qty INTEGER DEFAULT 0, create_time TIMESTAMP WITHOUT TIME ZONE DEFAULT pg_systimestamp (), update_time TIMESTAMP WITHOUT TIME ZONE DEFAULT pg_systimestamp () ) WITH (orientation = ROW, COMPRESSION = NO) DISTRIBUTE BY ROUNDROBIN TO GROUP group_version1; COMMENT ON COLUMN store_replenishment_advice.store_id IS '门店ID'; COMMENT ON COLUMN store_replenishment_advice.product_name IS '商品名称'; COMMENT ON COLUMN store_replenishment_advice.system_recommend_stock IS '系统推荐安全库存(单位:件,保留两位小数)'; COMMENT ON COLUMN store_replenishment_advice.season_factor IS '季节调整系数(0.9-1.1之间,1表示无影响)'; COMMENT ON COLUMN store_replenishment_advice.holiday_factor IS '节假日调整系数(1或1.5,1表示无影响)'; COMMENT ON COLUMN store_replenishment_advice.weekend_factor IS '周末调整系数(1或1.5,1表示无影响)'; COMMENT ON COLUMN store_replenishment_advice.weather_factor IS '天气调整系数(0.9-1.1之间,1表示无影响)'; COMMENT ON COLUMN store_replenishment_advice.suggested_order_qty IS '系统建议下单数量(单位:件)'; COMMENT ON COLUMN store_replenishment_advice.create_time IS '记录创建时间'; COMMENT ON COLUMN store_replenishment_advice.update_time IS '记录最后更新时间';
数据说明如下:
字段名
类型
说明
store_id
INTEGER
门店ID
product_name
CHARACTER
商品名称
system_recommend_stock
NUMERIC(12, 2)
系统推荐安全库存(单位:件,保留两位小数)
season_factor
NUMERIC(4, 2)
季节调整系数(0.9-1.1之间,1表示无影响)
holiday_factor
NUMERIC(4, 2)
节假日调整系数(1或1.5,1表示无影响)
weekend_factor
NUMERIC(4, 2)
周末调整系数(1或1.5,1表示无影响)
weather_factor
NUMERIC(4, 2)
天气调整系数(0.9-1.1之间,1表示无影响)
suggested_order_qty
INTEGER
系统建议下单数量(单位:件)
create_time
TIMESTAMP
记录创建时间
update_time
TIMESTAMP
记录最后更新时间