引擎配置單
整體配置概述
為了降低推薦引擎的使用門檻,我們通過全面且細致的配置化來表達推薦召回、過濾、排序和重排的流程。允許用戶在無需編寫一行代碼的前提下,通過配置文件描述整個推薦的流程,包括從什么存儲去讀取要推薦的候選物品,完成曝光過濾,指定用某種模型來排序,最后再重排。在推薦系統中需要為算法工程師、策略工程師完成多種實驗,我們還提供了a/b testing服務,幫助用戶配置AB測試服務。
由于阿里云提供多樣的存儲選項,我們支持將數據存儲于Hologres、BE、OTS和Redis中。具體選擇哪一種存儲方式,后續(xù)文檔將進行詳細介紹。
當推薦場景每天有很多新物品的時候,我們還支持冷啟動的配置。
PAI-Rec 引擎支持熱加載,所以我們只需要更改配置,重新發(fā)布配置即可。
整個配置主要由以下構成:
{
"RunMode": "",
"ListenConf": {},
"RecallConfs": [],
"SceneConfs": {},
"FilterConfs": [],
"FilterNames": {},
"BeFilterConfs": {},
"GeneralRankConfs": {},
"AlgoConfs": [],
"RankConf": {},
"ColdStartGeneralRankConfs": {},
"ColdStartRankConfs": {},
"SortConfs": {},
"DPPConf": {},
"SortNames": {},
"FeatureConfs": {},
"UserFeatureConfs": {},
"HologresConfs": {},
"KafkaConfs": {},
"RedisConfs": {},
"MysqlConfs": {},
"GraphConfs": {},
"FeatureStoreConfs": {},
"KafkaConfs": {},
"SlsConfs": {},
"DatahubConfs": {},
"BEConfs": {},
"TableStoreConfs": {},
"PrometheusConfig": {},
"LogConf": {},
"DebugConfs": {},
"CallBackConfs": {},
"PipelineConfs": {},
"UserDefineConfs": {}
}
參數名稱 | 描述 | 是否支持熱加載 |
RunMode | 引擎運行環(huán)境,枚舉值:
| 否 |
ListenConf | 監(jiān)聽信息的配置 | 是 |
RecallConfs | 召回的配置 | 是 |
SceneConfs | 根據不同場景,可以引用在 RecallConfs 中配置好的召回 | 是 |
FilterConfs | 過濾的配置 | 是 |
FilterNames | 根據不同場景,可以引用在 FilterConfs 中配置好的過濾 | 是 |
BeFilterConfs | BE 過濾的配置 | 是 |
AlgoConfs | 精排模型的配置 | 是 |
GeneralRankConfs | 根據不同場景,可以引用在 AlgoConfs 中配置好的粗排模型信息 | 是 |
RankConf | 根據不同場景,可以引用在 AlgoConfs 中配置好的精排模型信息 | 是 |
ColdStartGeneralRankConfs | 根據不同場景,可以引用在 AlgoConfs 中配置好的冷啟動粗排模型信息 | 是 |
ColdStartRankConfs | 根據不同場景,可以選擇在 AlgoConfs 中配置好的冷啟動模型 | 是 |
SortConfs | 重排的配置 | 是 |
DPPConf | 多樣性打散的配置 | 是 |
SortNames | 根據不同場景,可以引用在 SortConfs 中配置好的重排 | 是 |
FeatureConfs | 根據不同場景,可以使用不同的特征加載 | 是 |
UserFeatureConfs | 根據不同場景,可以使用不同的 user 特征加載,這個是 user 側特征預加載 | 是 |
HologresConfs | holo 連接信息的配置 | 否 |
KafkaConfs | kafka 連接信息的配置 | 否 |
RedisConfs | redis 連接信息的配置 | 否 |
MysqlConfs | mysql 連接信息的配置 | 否 |
GraphConfs | graph 連接信息的配置 | 否 |
FeatureStoreConfs | feature store 連接信息的配置 | 否 |
SlsConfs | sls 連接信息的配置 | 否 |
DatahubConfs | datahub 連接信息的配置 | 否 |
BEConfs | be 連接信息的配置 | 否 |
TableStoreConfs | tablestore 連接信息的配置 | 否 |
PrometheusConfig | prometheus 連接信息的配置 | 否 |
LogConf | log 輸出的配置 | 是 |
DebugConfs | debug 信息的配置 | 是 |
CallBackConfs | callback 的配置, 參考Callback 回調接口 | 是 |
PipelineConfs | pipeline 的配置 | 是 |
UserDefineConfs | 自定義的配置 | 否 |