open-rec

open-rec是一个基于开源技术栈的推荐系统,提供standalone和cluster两种运行模式,包含SDK数据推送、推荐接口交互client、推荐系统在线服务、推荐算法模块和召回引擎等功能。

项目地址https://github.com/open-rec# 运行模式## standalone模式openrec_standalone.jpeg### SDK数据推送与推荐接口交互client,目前仅支持java版本### rec-server推荐系统在线服务,整合实时数据链路、运营操作以及召回+排序链路,完成整套推荐系统在线服务功能串通 ### rec-algorithm推荐算法模块,基于pandas实现,故而目前仅支持单机环境:包含i2i,word2vec,hot以及new四种召回算法### recall-engine推荐召回引擎,包括两部分 1. redis:用户i2i,hot,new以及曝光过滤等2. elasticsearch:用于向量召回以及文本检索### example顾名思义,为了使开发者更容易的了解整套链路的工作流程而准备的辅助模块## cluster模式openrec_cluster.jpeg主要是rec-algorithm以及离线、实时链路部分会进行集群版本的扩充,挖个坑先...先将standalone版本放出来试试水,尝试搜集下需求和建议,当然如果能一起参与开发就更好了,说实话一个人搞还是蛮累的...# 演示说明使用了开放的豆瓣数据集,由于太大没有上传至git 其中包含用户数据64w+,物品数据14w+,行为数据210w+测试效果: 个性化推荐,当你点了悬疑电影《葬礼之后》json{ "code": 200, "status": true, "msg": "", "data": { "results": [ { "id": "1768141", "score": 0.08358968296584475 }, { "id": "3426877", "score": 0.07665220781278664 }, { "id": "1427040", "score": 0.07655959028113997 }, { "id": "1427039", "score": 0.07570950809055003 }, { "id": "1768209", "score": 0.07437190381291456 }, { "id": "3228086", "score": 0.0697870242753483 }, { "id": "1421737", "score": 0.06672216347590268 }, { "id": "3992966", "score": 0.0652121816197966 }, { "id": "4106641", "score": 0.06475048223743467 }, { "id": "1768212", "score": 0.06289306435371969 } ], "detailInfos": [ { "id": "1768141", "weight": 0, "title": "遗产风波 - 电影", "category": "悬疑/惊悚/犯罪", "tags": "英剧/阿加莎·克里斯蒂/推理/英国/悬疑/Poirot/AgathaChristie/侦探", "scene": "douban_movie", "pubTime": "0", "modifyTime": "0", "expireTime": "0", "status": 1, "extFields": "{}" }, { "id": "3426877", "weight": 7, "title": "鸽群中的猫", "category": "剧情/悬疑/惊悚/犯罪", "tags": "英剧/阿加莎·克里斯蒂/推理/英国/悬疑/AgathaChristie/Poirot/波洛", "scene": "douban_movie", "pubTime": "0", "modifyTime": "0", "expireTime": "0", "status": 1, "extFields": "{}" }, { "id": "1427040", "weight": 7, "title": "空幻之屋", "category": "剧情/爱情/悬疑/犯罪", "tags": "阿加莎·克里斯蒂/推理/英剧/英国/波洛/悬疑/Poirot/AgathaChristie", "scene": "douban_movie", "pubTime": "0", "modifyTime": "0", "expireTime": "0", "status": 1, "extFields": "{}" }, { "id": "1427039", "weight": 8, "title": "H庄园的一次午餐", "category": "剧情/爱情/悬疑/犯罪", "tags": "阿加莎·克里斯蒂/推理/英国/英剧/悬疑/波洛/侦探/Poirot", "scene": "douban_movie", "pubTime": "0", "modifyTime": "0", "expireTime": "0", "status": 1, "extFields": "{}" }, { "id": "1768209", "weight": 7, "title": "底牌", "category": "剧情/悬疑/犯罪", "tags": "阿加莎·克里斯蒂/推理/英剧/英国/悬疑/Poirot/侦探/波洛", "scene": "douban_movie", "pubTime": "0", "modifyTime": "0", "expireTime": "0", "status": 1, "extFields": "{}" }, { "id": "3228086", "weight": 7, "title": "第三个女郎", "category": "悬疑/惊悚/犯罪", "tags": "英剧/阿加莎·克里斯蒂/推理/Poirot/AgathaChristie/英国/悬疑/波洛", "scene": "douban_movie", "pubTime": "0", "modifyTime": "0", "expireTime": "0", "status": 1, "extFields": "{}" }, { "id": "1421737", "weight": 0, "title": "埃奇威尔爵士之死 - 电影", "category": "悬疑/犯罪", "tags": "阿加莎·克里斯蒂/推理/英国/悬疑/英剧/波洛/侦探/Poirot", "scene": "douban_movie", "pubTime": "0", "modifyTime": "0", "expireTime": "0", "status": 1, "extFields": "{}" }, { "id": "3992966", "weight": 0, "title": "三幕悲剧 - 电影", "category": "剧情/悬疑/惊悚/犯罪", "tags": "阿加莎·克里斯蒂/推理/英剧/英国/悬疑/Poirot/波洛/AgathaChristie", "scene": "douban_movie", "pubTime": "0", "modifyTime": "0", "expireTime": "0", "status": 1, "extFields": "{}" }, { "id": "4106641", "weight": 7, "title": "怪钟疑案", "category": "剧情/悬疑/犯罪", "tags": "阿加莎·克里斯蒂/推理/英国/悬疑/英剧/波洛/侦探/Poirot", "scene": "douban_movie", "pubTime": "0", "modifyTime": "0", "expireTime": "0", "status": 1, "extFields": "{}" }, { "id": "1768212", "weight": 7, "title": "蓝色特快上的秘密", "category": "剧情/悬疑/犯罪", "tags": "阿加莎·克里斯蒂/推理/英剧/英国/波洛/悬疑/侦探/Poirot", "scene": "douban_movie", "pubTime": "0", "modifyTime": "0", "expireTime": "0", "status": 1, "extFields": "{}" } ] }}