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>

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

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

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多