【GitHub每日速递 20251230】揭秘X推荐算法:架构、组件与构建全解析!

image

原文: https://mp.weixin.qq.com/s/7557WJXw0O9FL6NCf-MuyA

揭秘X推荐算法:架构、组件与构建全解析!

[the-algorithm] 是一个 实现X平台推荐算法 的 开源项目。简单讲,它公开了推特内容推荐系统的核心代码,用于决定用户在时间线看到的内容。适用人群:算法工程师、推荐系统研究者、对社交平台机制感兴趣的技术人员。

项目地址:https://github.com/twitter/the-algorithm

主要语言:Scala

stars: 68.7k

核心功能

X's Recommendation Algorithm 是一套服务和作业,负责在所有 X 产品界面(如“为你推荐”时间线、搜索、探索、通知等)提供帖子和其他内容的信息流。

架构特点

  • 共享组件:X 的产品界面基于一组共享的数据、模型和软件框架构建。
    • 数据组件
      • tweetypie:处理帖子数据读写的核心服务。
      • unified-user-actions:提供 X 上用户操作的实时流。
      • user-signal-service:集中平台,用于检索用户的显式(如点赞、回复)和隐式(如个人资料访问、推文点击)信号。
    • 模型组件
      • SimClusters:进行社区检测并将其稀疏嵌入到社区中。
      • TwHIN:为用户和帖子提供密集知识图谱嵌入。
      • trust-and-safety-models:检测不适当或滥用内容的模型。
      • real-graph:预测 X 用户与其他用户互动可能性的模型。
      • tweepcred:使用 Page - Rank 算法计算 X 用户声誉。
      • recos-injector:为基于 GraphJet 的服务构建输入流的流式事件处理器。
      • graph-feature-service:为有向用户对提供图特征。
      • topic-social-proof:识别与单个帖子相关的主题。
      • representation-scorer:使用嵌入相似度计算实体对(用户、帖子等)之间的分数。
    • 软件框架组件
      • navi:用 Rust 编写的高性能机器学习模型服务。
      • product-mixer:用于构建内容信息流的软件框架。
      • timelines-aggregation-framework:用于批量或实时生成聚合特征的框架。
      • representation-manager:用于检索嵌入(如 SimClusters 和 TwHIN)的服务。
      • twml:基于 TensorFlow v1 的旧机器学习框架。

主要产品界面组件

  • “为你推荐”时间线
    • 候选源
      • search-index:查找并排名网络内的帖子,约 50% 的帖子来自此候选源。
      • tweet-mixer:从底层计算服务获取网络外推文候选的协调层。
      • user-tweet-entity-graph (UTEG):维护内存中的用户到帖子交互图,并基于此图的遍历查找候选。
      • follow-recommendation-service (FRS):为用户提供关注账户的推荐以及这些账户的帖子。
    • 排名
      • light-ranker:搜索索引(Earlybird)用于对帖子进行排名的轻量级排名模型。
      • heavy-ranker:用于对候选帖子进行排名的神经网络,是候选源之后选择时间线帖子的主要信号之一。
    • 帖子混合与过滤
      • home-mixer:用于构建和提供主页时间线的主要服务,基于 product-mixer 构建。
      • visibility-filters:负责过滤 X 内容,以支持法律合规、提高产品质量、增加用户信任和保护收入。
      • timelineranker:提供来自 Earlybird 搜索索引和 UTEG 服务的相关性评分帖子的旧服务。
  • 推荐通知
    • 服务
      • pushservice:X 上用于通过通知向用户展示推荐内容的主要推荐服务。
    • 排名
      • pushservice-light-rankerpushservice 用于对帖子进行排名的轻量级排名模型,通过从初始大量候选池中预选择高度相关的候选来连接候选生成和重量级排名。
      • pushservice-heavy-ranker:用于预测目标用户打开并参与发送的通知的概率的多任务学习模型。

优势

  • 模块化架构:将不同功能拆分为多个组件,便于开发、维护和扩展。
  • 多类型模型支持:涵盖了社区检测、知识图谱嵌入、内容检测等多种模型,能从多个维度处理数据和进行推荐。
  • 实时处理能力:通过 unified-user-actions 等组件实现实时数据处理,可及时响应用户行为。

可能的应用场景

  • 社交媒体平台:为用户提供个性化的内容推荐,如“为你推荐”时间线和推荐通知,提高用户参与度和留存率。
  • 内容分发平台:根据用户兴趣和行为,精准推送相关的文章、视频等内容。

构建和测试

大部分组件包含 Bazel BUILD 文件,但没有顶级的 BUILD 或 WORKSPACE 文件,未来计划添加更完整的构建和测试系统。

2分钟本地搭建!开源电商平台Vendure,满足企业级定制需求!

[vendure] 是一个基于 TypeScript、NestJS 和 GraphQL 构建的高可定制化电商平台。简单讲,它是一个灵活易扩展的在线商店后台系统,适合需要深度定制的开发者使用。适用人群:中大型企业技术团队、需要高度自定义功能的电商平台开发者。

项目地址:https://github.com/vendure-ecommerce/vendure

主要语言:TypeScript

stars: 7.5k

image

关键信息解析

  • README文件说明:详细介绍了Vendure是一个开源的无头商务平台,说明了其技术栈、特点、适用场景、入门指南、更新与插件情况、贡献方式以及许可协议等内容。
  • 代码架构特点:采用了可扩展的插件架构,基于TypeScript、Node.js、NestJS和GraphQL构建,这种架构使得系统具有良好的可扩展性和可维护性。
  • 项目核心功能描述:提供企业级数字商务应用的基础,支持多渠道商务,拥有丰富的开箱即用功能,包括可定制的管理仪表盘和商务框架。
  • 更新日志:新更新每两周发布一次,可在发布说明中查看最新版本信息。

主要内容

Vendure是使用TypeScript和Node.js构建的开源无头商务平台,为构建企业级数字商务应用提供了强大基础,具有出色的可扩展性和可维护性。

优势

  • 高度可定制:可扩展的插件架构能让开发者根据需求定制商务解决方案的各个方面。
  • 现代技术栈:基于TypeScript、Node.js、NestJS和GraphQL构建,性能出色,开发体验良好,且对AI友好。
  • 无头架构:以API为先的设计,可实现跨任何前端的无缝多渠道商务。
  • 企业级适用:受到全球数千个团队的信赖,涵盖初创公司到财富500强企业。
  • 功能丰富:具备全面的开箱即用功能,拥有可定制的管理仪表盘和商务框架。

应用场景

适用于构建B2B平台、多供应商市场或D2C店面等,能为不同业务需求创建独特的商务体验。

入门指南

访问入门指南,通过单个命令可在不到2分钟内让Vendure在本地运行起来。若需要帮助,可加入Discord社区获取支持和进行讨论。

升级与插件

每两周发布一次更新,可查看发布说明了解最新版本。还可查看现成的Vendure插件

posted @ 2025-12-31 08:13  piggy侠  阅读(31)  评论(0)    收藏  举报