metarank

metarank

实时个性化搜索和推荐服务,优化CTR和用户体验

Metarank是一个开源排名服务,帮助构建个性化的语义/神经搜索和推荐系统。通过整合点击和购买等客户信号,该服务可以优化搜索结果和推荐内容,实现最大化CTR。其快速性能支持大规模结果集的重新排序,并提供开箱即用的排名信号计算,节省开发时间。与多种流处理系统集成,Metarank能处理大量RPS,支持横向扩展。另外,用户可以使用LLM,在搜索查询中理解其真实含义,提供更智能的搜索解决方案。

Metarank排序服务个性化开源推荐系统Github开源项目
<h1 align="center"> <a style="text-decoration: none" href="https://www.metarank.ai"> <img width="120" src="https://yellow-cdn.veclightyear.com/35dd4d3f/4cfc2eb6-ff6a-431e-bba5-a1ce2721311c.svg" /> <p align="center">Metarank:实时个性化服务</p> </a> </h1> <h2 align="center"> <a href="https://docs.metarank.ai">文档</a> | <a href="https://metarank.ai">官网</a> | <a href="https://metarank.ai/slack">社区 Slack</a> | <a href="https://blog.metarank.ai">博客</a> | <a href="https://demo.metarank.ai">示范</a> </h2>

CI Status License: Apache 2 Last commit Last release Join our slack

什么是Metarank?

Metarank是一个开源排名服务。它可以帮助你建立个性化的语义/神经搜索和推荐系统。

如果你只是想快速入门,试试:

为什么选择Metarank?

通过Metarank,你可以让现有的搜索和推荐系统变得更智能

  • 将客户信号(如点击和购买)整合到排名中——并为最大化点击率(CTR)进行优化!
  • 追踪访客资料,通过实时个性化使搜索结果适应用户操作。
  • 使用LLM的双编码和交叉编码模式,让你的搜索更好地理解查询的真实含义。

Metarank非常快速

  • 针对重排序延迟进行了优化,即使是大结果集,它也可以在10-20毫秒内处理。查看基准测试
  • 作为无状态的云原生服务(通过Redis管理状态),它可以横向扩展并处理成千上万的RPS。详情请参阅Kubernetes部署指南

节省你的开发时间

  • Metarank可以开箱即用地计算几十种典型的排名信号:点击率(CTR)、引用来源、用户代理、时间等——你不需要为大多数常见的排名因素编写自定义的临时代码。查看文档中支持的全部排名信号列表
  • 与许多可能的流处理系统集成以摄取访客信号:详情请参阅数据源

你能用Metarank构建什么?

Metarank帮助你建立用于搜索和推荐的高级排名系统:

  • 语义搜索:使用最先进的LLM使你的Elasticsearch/OpenSearch理解你的查询意图。
  • 推荐:传统的协同过滤和新式的语义内容推荐。
  • 学习排序:优化你的现有搜索。

内容

博客文章:

聚会和会议讲座:

主要特征

演示

你可以在demo.metarank.ai上体验Metarank的演示:

Demo

演示本身和使用的数据都是开源的,你可以在GitHub仓库中获取训练事件和配置文件的副本。

一分钟了解Metarank

让我们展示如何在不到一分钟的时间内开始使用基于LambdaMART的重排序进行内容个性化:

  1. 准备数据:我们将从demo.metarank.ai获取数据集和配置文件。
  2. 以独立模式启动Metarank:它将导入数据,训练ML模型并启动API。
  3. 发送几个请求到API。

第一步:准备数据

我们将使用ranklens数据集,它在我们的演示中使用,所以只需下载数据文件

curl -O -L https://github.com/metarank/metarank/raw/master/src/test/resources/ranklens/events/events.jsonl.gz

第二步:准备配置文件

我们将再次使用演示中的配置文件。它使用内存存储,因此不需要其他依赖项。 <SOURCE_TEXT>

curl -O -L https://raw.githubusercontent.com/metarank/metarank/master/src/test/resources/ranklens/config.yml

第三步:启动 Metarank!

在最后一步中,我们将使用 Metarank 的 standalone 模式,该模式将训练和运行 API 合并为一个命令:

docker run -i -t -p 8080:8080 -v $(pwd):/opt/metarank metarank/metarank:latest standalone --config /opt/metarank/config.yml --data /opt/metarank/events.jsonl.gz

在 Metarank 启动并处理数据时,你会看到一些有用的输出。一旦完成,你可以向 localhost:8080 发送请求以获取个性化结果。

这里我们将通过点击其中一部电影并观察结果与几部电影进行互动。

首先,让我们看看 Metarank 在我们与其互动之前提供的初始输出

# 获取一些项目的初始排名 curl http://localhost:8080/rank/xgboost \ -d '{ "event": "ranking", "id": "id1", "items": [ {"id":"72998"}, {"id":"67197"}, {"id":"77561"}, {"id":"68358"}, {"id":"79132"}, {"id":"103228"}, {"id":"72378"}, {"id":"85131"}, {"id":"94864"}, {"id":"68791"}, {"id":"93363"}, {"id":"112623"} ], "user": "alice", "session": "alice1", "timestamp": 1661431886711 }' # {"item":"72998","score":0.9602446652021992},{"item":"79132","score":0.7819134441404151},{"item":"68358","score":0.33377910321385645},{"item":"112623","score":0.32591281190727805},{"item":"103228","score":0.31640256043322723},{"item":"77561","score":0.3040782705414116},{"item":"94864","score":0.17659007036183608},{"item":"72378","score":0.06164568676567339},{"item":"93363","score":0.058120639770243385},{"item":"68791","score":0.026919880032451306},{"item":"85131","score":-0.35794106000271037},{"item":"67197","score":-0.48735167237049154}
# 告诉 Metarank 在上一个请求中向用户展示了哪些项目及其顺序 # 可选地,我们可以包括由 Metarank 或你的内部检索系统计算的分数 curl http://localhost:8080/feedback \ -d '{ "event": "ranking", "fields": [], "id": "test-ranking", "items": [ {"id":"72998","score":0.9602446652021992},{"id":"79132","score":0.7819134441404151},{"id":"68358","score":0.33377910321385645}, {"id":"112623","score":0.32591281190727805},{"id":"103228","score":0.31640256043322723},{"id":"77561","score":0.3040782705414116}, {"id":"94864","score":0.17659007036183608},{"id":"72378","score":0.06164568676567339},{"id":"93363","score":0.058120639770243385}, {"id":"68791","score":0.026919880032451306},{"id":"85131","score":-0.35794106000271037},{"id":"67197","score":-0.48735167237049154} ], "user": "test2", "session": "test2", "timestamp": 1661431888711 }'

现在,让我们与项目 93363 互动

# 点击 id 为 93363 的项目 curl http://localhost:8080/feedback \ -d '{ "event": "interaction", "type": "click", "fields": [], "id": "test-interaction", "ranking": "test-ranking", "item": "93363", "user": "test", "session": "test", "timestamp": 1661431890711 }'

现在,Metarank 将对项目进行个性化处理,响应中的项目顺序将有所不同

# 个性化相同的项目列表 # 它们将按照 Metarank 返回的不同顺序返回 curl http://localhost:8080/rank/xgboost \ -d '{ "event": "ranking", "fields": [], "id": "test-personalized", "items": [ {"id":"72998"}, {"id":"67197"}, {"id":"77561"}, {"id":"68358"}, {"id":"79132"}, {"id":"103228"}, {"id":"72378"}, {"id":"85131"}, {"id":"94864"}, {"id":"68791"}, {"id":"93363"}, {"id":"112623"} ], "user": "test", "session": "test", "timestamp": 1661431892711 }' # {"items":[{"item":"93363","score":2.2013986484185124},{"item":"72998","score":1.1542776301073876},{"item":"68358","score":0.9828904282341605},{"item":"112623","score":0.9521647429731446},{"item":"79132","score":0.9258841742518286},{"item":"77561","score":0.8990921381835769},{"item":"103228","score":0.8990921381835769},{"item":"94864","score":0.7131600718467729},{"item":"68791","score":0.624462038351694},{"item":"72378","score":0.5269765094008626},{"item":"85131","score":0.29198666089255343},{"item":"67197","score":0.16412780810560743}]}

有用的链接

接下来呢?

查看更深入的 快速入门 完整的 参考

如果你有任何问题,请随时加入我们的 Slack

许可证

本项目根据 Apache 2.0 许可证发布,具体内容请参见 许可证 文件。 </SOURCE_TEXT>

编辑推荐精选

问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

聊天机器人AI助手热门AI工具AI对话
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

热门AI工具AI办公办公工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

模型训练热门AI工具内容创作智能问答AI开发讯飞星火大模型多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

AI助手热门AI工具AI创作AI辅助写作讯飞绘文内容运营个性化文章多平台分发
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

下拉加载更多