[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-tensorflow--recommenders":3,"tool-tensorflow--recommenders":61},[4,18,28,37,45,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":24,"last_commit_at":25,"category_tags":26,"status":17},9989,"n8n","n8n-io\u002Fn8n","n8n 是一款面向技术团队的公平代码（fair-code）工作流自动化平台，旨在让用户在享受低代码快速构建便利的同时，保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点，帮助用户轻松连接 400 多种应用与服务，实现复杂业务流程的自动化。\n\nn8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”：既可以通过直观的可视化界面拖拽节点搭建流程，也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外，n8n 原生集成了基于 LangChain 的 AI 能力，支持用户利用自有数据和模型构建智能体工作流。在部署方面，n8n 提供极高的自由度，支持完全自托管以保障数据隐私和控制权，也提供云端服务选项。凭借活跃的社区生态和数百个现成模板，n8n 让构建强大且可控的自动化系统变得简单高效。",184740,2,"2026-04-19T23:22:26",[16,14,13,15,27],"插件",{"id":29,"name":30,"github_repo":31,"description_zh":32,"stars":33,"difficulty_score":10,"last_commit_at":34,"category_tags":35,"status":17},10095,"AutoGPT","Significant-Gravitas\u002FAutoGPT","AutoGPT 是一个旨在让每个人都能轻松使用和构建 AI 的强大平台，核心功能是帮助用户创建、部署和管理能够自动执行复杂任务的连续型 AI 智能体。它解决了传统 AI 应用中需要频繁人工干预、难以自动化长流程工作的痛点，让用户只需设定目标，AI 即可自主规划步骤、调用工具并持续运行直至完成任务。\n\n无论是开发者、研究人员，还是希望提升工作效率的普通用户，都能从 AutoGPT 中受益。开发者可利用其低代码界面快速定制专属智能体；研究人员能基于开源架构探索多智能体协作机制；而非技术背景用户也可直接选用预置的智能体模板，立即投入实际工作场景。\n\nAutoGPT 的技术亮点在于其模块化“积木式”工作流设计——用户通过连接功能块即可构建复杂逻辑，每个块负责单一动作，灵活且易于调试。同时，平台支持本地自托管与云端部署两种模式，兼顾数据隐私与使用便捷性。配合完善的文档和一键安装脚本，即使是初次接触的用户也能在几分钟内启动自己的第一个 AI 智能体。AutoGPT 正致力于降低 AI 应用门槛，让人人都能成为 AI 的创造者与受益者。",183572,"2026-04-20T04:47:55",[13,36,27,14,15],"语言模型",{"id":38,"name":39,"github_repo":40,"description_zh":41,"stars":42,"difficulty_score":10,"last_commit_at":43,"category_tags":44,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":46,"name":47,"github_repo":48,"description_zh":49,"stars":50,"difficulty_score":24,"last_commit_at":51,"category_tags":52,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",161147,"2026-04-19T23:31:47",[14,13,36],{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":24,"last_commit_at":59,"category_tags":60,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":72,"owner_avatar_url":73,"owner_bio":74,"owner_company":75,"owner_location":75,"owner_email":76,"owner_twitter":75,"owner_website":77,"owner_url":78,"languages":79,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":24,"env_os":92,"env_gpu":92,"env_ram":92,"env_deps":93,"category_tags":100,"github_topics":101,"view_count":24,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":104,"updated_at":105,"faqs":106,"releases":122},10046,"tensorflow\u002Frecommenders","recommenders","TensorFlow Recommenders is a library for building recommender system models using TensorFlow.","TensorFlow Recommenders 是一个基于 TensorFlow 构建的开源库，专为开发推荐系统模型而设计。它旨在简化从数据准备、模型构建、训练评估到最终部署的全流程工作，帮助开发者高效解决“如何在海量物品中为用户精准匹配感兴趣内容”这一核心问题。\n\n无论是需要快速验证想法的研究人员，还是致力于构建生产级推荐引擎的工程师，都能从中受益。其独特之处在于建立在 Keras 之上，既提供了平缓的学习曲线让新手轻松上手，又保留了足够的灵活性以支持复杂模型的定制。通过内置的任务模块（如检索任务）和评估指标，用户可以像搭积木一样组合用户与物品的嵌入表示，快速实现如矩阵分解等经典算法。配合丰富的教程与 API 文档，即使是初学者也能在短时间内利用 Movielens 等数据集完成一个完整的推荐模型原型，是进入推荐系统领域的理想起点。","# TensorFlow Recommenders\n\n![TensorFlow Recommenders logo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorflow_recommenders_readme_754509e14344.png)\n\n![TensorFlow Recommenders build badge](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Frecommenders\u002Factions\u002Fworkflows\u002Ftest.yaml\u002Fbadge.svg)\n[![PyPI badge](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Ftensorflow-recommenders.svg)](https:\u002F\u002Fpypi.python.org\u002Fpypi\u002Ftensorflow-recommenders\u002F)\n\nTensorFlow Recommenders is a library for building recommender system models\nusing [TensorFlow](https:\u002F\u002Fwww.tensorflow.org).\n\nIt helps with the full workflow of building a recommender system: data\npreparation, model formulation, training, evaluation, and deployment.\n\nIt's built on Keras and aims to have a gentle learning curve while still giving\nyou the flexibility to build complex models.\n\n## Installation\n\nMake sure you have TensorFlow 2.x installed, and install from `pip`:\n\n```shell\npip install tensorflow-recommenders\n```\n\n## Documentation\n\nHave a look at our\n[tutorials](https:\u002F\u002Ftensorflow.org\u002Frecommenders\u002Fexamples\u002Fquickstart) and\n[API reference](https:\u002F\u002Fwww.tensorflow.org\u002Frecommenders\u002Fapi_docs\u002Fpython\u002Ftfrs\u002F).\n\n## Quick start\n\nBuilding a factorization model for the Movielens 100K dataset is very simple\n([Colab](https:\u002F\u002Ftensorflow.org\u002Frecommenders\u002Fexamples\u002Fquickstart)):\n\n```python\nfrom typing import Dict, Text\n\nimport tensorflow as tf\nimport tensorflow_datasets as tfds\nimport tensorflow_recommenders as tfrs\n\n# Ratings data.\nratings = tfds.load('movielens\u002F100k-ratings', split=\"train\")\n# Features of all the available movies.\nmovies = tfds.load('movielens\u002F100k-movies', split=\"train\")\n\n# Select the basic features.\nratings = ratings.map(lambda x: {\n    \"movie_id\": tf.strings.to_number(x[\"movie_id\"]),\n    \"user_id\": tf.strings.to_number(x[\"user_id\"])\n})\nmovies = movies.map(lambda x: tf.strings.to_number(x[\"movie_id\"]))\n\n# Build a model.\nclass Model(tfrs.Model):\n\n  def __init__(self):\n    super().__init__()\n\n    # Set up user representation.\n    self.user_model = tf.keras.layers.Embedding(\n        input_dim=2000, output_dim=64)\n    # Set up movie representation.\n    self.item_model = tf.keras.layers.Embedding(\n        input_dim=2000, output_dim=64)\n    # Set up a retrieval task and evaluation metrics over the\n    # entire dataset of candidates.\n    self.task = tfrs.tasks.Retrieval(\n        metrics=tfrs.metrics.FactorizedTopK(\n            candidates=movies.batch(128).map(self.item_model)\n        )\n    )\n\n  def compute_loss(self, features: Dict[Text, tf.Tensor], training=False) -> tf.Tensor:\n\n    user_embeddings = self.user_model(features[\"user_id\"])\n    movie_embeddings = self.item_model(features[\"movie_id\"])\n\n    return self.task(user_embeddings, movie_embeddings)\n\n\nmodel = Model()\nmodel.compile(optimizer=tf.keras.optimizers.Adagrad(0.5))\n\n# Randomly shuffle data and split between train and test.\ntf.random.set_seed(42)\nshuffled = ratings.shuffle(100_000, seed=42, reshuffle_each_iteration=False)\n\ntrain = shuffled.take(80_000)\ntest = shuffled.skip(80_000).take(20_000)\n\n# Train.\nmodel.fit(train.batch(4096), epochs=5)\n\n# Evaluate.\nmodel.evaluate(test.batch(4096), return_dict=True)\n```\n","# TensorFlow 推荐系统\n\n![TensorFlow 推荐系统 logo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorflow_recommenders_readme_754509e14344.png)\n\n![TensorFlow 推荐系统构建徽章](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Frecommenders\u002Factions\u002Fworkflows\u002Ftest.yaml\u002Fbadge.svg)\n[![PyPI 徽章](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Ftensorflow-recommenders.svg)](https:\u002F\u002Fpypi.python.org\u002Fpypi\u002Ftensorflow-recommenders\u002F)\n\nTensorFlow 推荐系统是一个用于使用 [TensorFlow](https:\u002F\u002Fwww.tensorflow.org) 构建推荐系统模型的库。\n\n它涵盖了构建推荐系统的完整工作流程：数据准备、模型构建、训练、评估和部署。\n\n该库基于 Keras 构建，旨在提供平缓的学习曲线，同时赋予您构建复杂模型的灵活性。\n\n## 安装\n\n请确保已安装 TensorFlow 2.x，并通过 `pip` 进行安装：\n\n```shell\npip install tensorflow-recommenders\n```\n\n## 文档\n\n请参阅我们的\n[教程](https:\u002F\u002Ftensorflow.org\u002Frecommenders\u002Fexamples\u002Fquickstart) 和\n[API 参考文档](https:\u002F\u002Fwww.tensorflow.org\u002Frecommenders\u002Fapi_docs\u002Fpython\u002Ftfrs\u002F)。\n\n## 快速入门\n\n使用 Movielens 100K 数据集构建一个矩阵分解模型非常简单（[Colab](https:\u002F\u002Ftensorflow.org\u002Frecommenders\u002Fexamples\u002Fquickstart)）：\n\n```python\nfrom typing import Dict, Text\n\nimport tensorflow as tf\nimport tensorflow_datasets as tfds\nimport tensorflow_recommenders as tfrs\n\n# 评分数据。\nratings = tfds.load('movielens\u002F100k-ratings', split=\"train\")\n# 所有可用电影的特征。\nmovies = tfds.load('movielens\u002F100k-movies', split=\"train\")\n\n# 选择基本特征。\nratings = ratings.map(lambda x: {\n    \"movie_id\": tf.strings.to_number(x[\"movie_id\"]),\n    \"user_id\": tf.strings.to_number(x[\"user_id\"])\n})\nmovies = movies.map(lambda x: tf.strings.to_number(x[\"movie_id\"]))\n\n# 构建模型。\nclass Model(tfrs.Model):\n\n  def __init__(self):\n    super().__init__()\n\n    # 设置用户表示。\n    self.user_model = tf.keras.layers.Embedding(\n        input_dim=2000, output_dim=64)\n    # 设置电影表示。\n    self.item_model = tf.keras.layers.Embedding(\n        input_dim=2000, output_dim=64)\n    # 设置检索任务及在整个候选集上的评估指标。\n    self.task = tfrs.tasks.Retrieval(\n        metrics=tfrs.metrics.FactorizedTopK(\n            candidates=movies.batch(128).map(self.item_model)\n        )\n    )\n\n  def compute_loss(self, features: Dict[Text, tf.Tensor], training=False) -> tf.Tensor:\n\n    user_embeddings = self.user_model(features[\"user_id\"])\n    movie_embeddings = self.item_model(features[\"movie_id\"])\n\n    return self.task(user_embeddings, movie_embeddings)\n\n\nmodel = Model()\nmodel.compile(optimizer=tf.keras.optimizers.Adagrad(0.5))\n\n# 随机打乱数据并分为训练集和测试集。\ntf.random.set_seed(42)\nshuffled = ratings.shuffle(100_000, seed=42, reshuffle_each_iteration=False)\n\ntrain = shuffled.take(80_000)\ntest = shuffled.skip(80_000).take(20_000)\n\n# 训练。\nmodel.fit(train.batch(4096), epochs=5)\n\n# 评估。\nmodel.evaluate(test.batch(4096), return_dict=True)\n```","# TensorFlow Recommenders 快速上手指南\n\nTensorFlow Recommenders (TFRS) 是一个基于 TensorFlow 和 Keras 构建的推荐系统库。它涵盖了从数据准备、模型构建、训练、评估到部署的全流程，旨在以平缓的学习曲线提供构建复杂推荐模型的灵活性。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux, macOS 或 Windows\n*   **Python 版本**：3.7 - 3.10\n*   **前置依赖**：必须已安装 **TensorFlow 2.x**。\n\n建议先检查 TensorFlow 版本：\n```python\nimport tensorflow as tf\nprint(tf.__version__)\n```\n\n## 安装步骤\n\n推荐使用 `pip` 进行安装。国内开发者可使用清华源或阿里源加速下载。\n\n**标准安装：**\n```shell\npip install tensorflow-recommenders\n```\n\n**使用国内镜像源加速安装（推荐）：**\n```shell\npip install tensorflow-recommenders -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n## 基本使用\n\n以下示例展示了如何使用 TFRS 基于 Movielens 100K 数据集构建一个简单的矩阵分解（Factorization）模型。该流程包括数据加载、特征处理、模型定义、训练及评估。\n\n```python\nfrom typing import Dict, Text\n\nimport tensorflow as tf\nimport tensorflow_datasets as tfds\nimport tensorflow_recommenders as tfrs\n\n# 1. 加载数据\n# 评分数据\nratings = tfds.load('movielens\u002F100k-ratings', split=\"train\")\n# 电影特征数据\nmovies = tfds.load('movielens\u002F100k-movies', split=\"train\")\n\n# 2. 数据预处理：选择基础特征并转换类型\nratings = ratings.map(lambda x: {\n    \"movie_id\": tf.strings.to_number(x[\"movie_id\"]),\n    \"user_id\": tf.strings.to_number(x[\"user_id\"])\n})\nmovies = movies.map(lambda x: tf.strings.to_number(x[\"movie_id\"]))\n\n# 3. 构建模型\nclass Model(tfrs.Model):\n\n  def __init__(self):\n    super().__init__()\n\n    # 用户嵌入层\n    self.user_model = tf.keras.layers.Embedding(\n        input_dim=2000, output_dim=64)\n    # 物品（电影）嵌入层\n    self.item_model = tf.keras.layers.Embedding(\n        input_dim=2000, output_dim=64)\n    # 定义检索任务及评估指标\n    self.task = tfrs.tasks.Retrieval(\n        metrics=tfrs.metrics.FactorizedTopK(\n            candidates=movies.batch(128).map(self.item_model)\n        )\n    )\n\n  def compute_loss(self, features: Dict[Text, tf.Tensor], training=False) -> tf.Tensor:\n\n    user_embeddings = self.user_model(features[\"user_id\"])\n    movie_embeddings = self.item_model(features[\"movie_id\"])\n\n    return self.task(user_embeddings, movie_embeddings)\n\n\nmodel = Model()\nmodel.compile(optimizer=tf.keras.optimizers.Adagrad(0.5))\n\n# 4. 数据划分：随机打乱并分为训练集和测试集\ntf.random.set_seed(42)\nshuffled = ratings.shuffle(100_000, seed=42, reshuffle_each_iteration=False)\n\ntrain = shuffled.take(80_000)\ntest = shuffled.skip(80_000).take(20_000)\n\n# 5. 训练模型\nmodel.fit(train.batch(4096), epochs=5)\n\n# 6. 评估模型\nmodel.evaluate(test.batch(4096), return_dict=True)\n```\n\n更多详细教程和 API 文档请参考 [TensorFlow Recommenders 官方文档](https:\u002F\u002Ftensorflow.org\u002Frecommenders)。","某电商初创团队正急需为百万级用户构建个性化商品推荐系统，以提升首页点击率和转化率。\n\n### 没有 recommenders 时\n- **开发门槛极高**：团队需从零手写复杂的双塔模型架构和负采样逻辑，代码量大且极易出错，新手难以快速上手。\n- **评估流程繁琐**：缺乏内置的高效评估指标，计算“顶部 K 准确率”等关键数据时需手动遍历全量候选集，训练迭代周期长达数天。\n- **数据对接困难**：原始用户行为数据与物品特征格式杂乱，缺少标准化的预处理组件，清洗和对齐数据消耗了大部分工程时间。\n- **部署风险大**：自定义模型结构非标准化，导致从实验环境迁移到生产服务时兼容性差，维护成本高昂。\n\n### 使用 recommenders 后\n- **建模效率飞跃**：利用其基于 Keras 封装的双塔检索任务模板，仅需几十行代码即可搭建出成熟的因子分解模型，大幅降低试错成本。\n- **即时反馈效果**：内置 `FactorizedTopK` 等指标可在训练过程中实时评估全量候选集表现，将模型调优周期从数天缩短至数小时。\n- **流水线标准化**：提供从数据加载、特征映射到模型训练的一站式工作流，轻松处理大规模稀疏特征，让团队聚焦业务逻辑而非底层细节。\n- **无缝生产落地**：生成的模型天然兼容 TensorFlow Serving，确保实验模型能平滑部署至线上高并发场景，稳定性显著提升。\n\nrecommenders 通过标准化的全流程工具链，让中小团队也能以极低门槛构建出媲美大厂水平的工业级推荐系统。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftensorflow_recommenders_dc8db066.png","tensorflow","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ftensorflow_07ed5093.png","",null,"github-admin@tensorflow.org","http:\u002F\u002Fwww.tensorflow.org","https:\u002F\u002Fgithub.com\u002Ftensorflow",[80,84],{"name":81,"color":82,"percentage":83},"Python","#3572A5",99.3,{"name":85,"color":86,"percentage":87},"Shell","#89e051",0.7,2008,299,"2026-04-18T10:57:42","Apache-2.0","未说明",{"notes":94,"python":92,"dependencies":95},"该工具基于 TensorFlow 2.x 构建，需确保已安装 TensorFlow。README 中未明确指定操作系统、GPU、内存及 Python 版本的具体要求，通常遵循 TensorFlow 的通用环境需求。示例代码使用了 Movielens 数据集进行快速入门。",[96,97,98,99],"tensorflow>=2.x","tensorflow-recommenders","tensorflow_datasets","keras",[14],[97,72,102,103],"recommender","recommender-system","2026-03-27T02:49:30.150509","2026-04-20T16:48:55.962170",[107,112,117],{"id":108,"question_zh":109,"answer_zh":110,"source_url":111},45126,"如何使用 TensorFlow Recommenders 库实现序列推荐（Sequential Recommendation）？","虽然官方指南主要关注矩阵补全问题，但可以通过自定义模型架构来实现序列推荐。关键点包括：\n1. 用户模型（User Model）应使用序列处理层（如 GRU），输入为过去物品的序列。\n2. 确保用户模型和物品模型（Item Model）使用相同的词汇表（Vocabulary），否则两者的嵌入空间将不相关。\n3. 代码示例中，用户模型应定义为：`Embedding` 层后接 `GRU` 层，且 `Embedding` 层需应用与物品模型一致的词汇表映射。\n4. 对于匿名会话数据，需注意避免为每个会话学习独立嵌入导致的过拟合问题，可考虑平滑会话数据的策略。","https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Frecommenders\u002Fissues\u002F119",{"id":113,"question_zh":114,"answer_zh":115,"source_url":116},45127,"在检索任务中，如何利用 candidate_sampling_probability 修正负采样带来的偏差？","当使用批内均匀采样（in-batch uniform sampling）时，热门物品被选为负样本的频率更高，导致模型学到的概率分布产生偏差。修正方法如下：\n1. 理解原理：完整 Softmax 学习的是 P(y|x)，而采样 Softmax 学习的是 P(y|x, C)。需要通过校正项将后者还原为前者。\n2. 计算概率：候选采样概率通常基于物品在整体数据集中的出现频率计算（例如：该物品出现次数 \u002F 总交互次数）。\n3. 作用机制：对于不热门的物品（采样概率低），校正项会增加其 Logit 值（减去 log(小概率) 相当于加上一个较大的正数），从而提升其得分；对于热门物品，校正幅度较小。这抵消了因采样频率不同造成的偏差。","https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Frecommenders\u002Fissues\u002F257",{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},45128,"保存并加载包含字典输入（Dict Input）的 Scann 或 BruteForce 模型时，为什么调用会报错找不到匹配的函数？","这个问题通常发生在保存模型前未正确初始化索引层的状态。解决方案是：\n1. 在保存 Scann 或 BruteForce 对象之前，必须先使用示例数据调用一次索引对象，以建立正确的签名（Signature）。\n2. 具体操作：在执行 `tf.saved_model.save` 之前，先运行 `scores, identifiers = index(example_record)`，其中 `example_record` 是符合输入格式的字典数据。\n3. 这样可以确保 SavedModel 中包含能够处理字典输入的正确函数签名，加载后即可正常进行预测。","https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Frecommenders\u002Fissues\u002F413",[123,127,131,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,209,213],{"id":124,"version":125,"summary_zh":75,"released_at":126},359969,"v0.7.7","2026-01-23T01:29:41",{"id":128,"version":129,"summary_zh":75,"released_at":130},359970,"v0.7.6","2026-01-07T22:14:09",{"id":132,"version":133,"summary_zh":75,"released_at":134},359971,"v0.7.5","2025-11-25T23:45:32",{"id":136,"version":137,"summary_zh":138,"released_at":139},359972,"v0.7.4","统一嵌入。","2025-11-10T18:56:52",{"id":141,"version":142,"summary_zh":143,"released_at":144},359973,"v0.7.3","### 变更\n\n-   `Retrieval` 任务现在接受一个因子化指标列表，而不是单个可选指标。\n\n### 新增\n\n-   `tfrs.experimental.optimizers.ClippyAdagrad`: 一种基于 `tf.keras.optimizers.Adagrad` 的新优化器，能够提高训练稳定性。\n-   `tfrs.metrics.FactorizedTopK` 现在接受样本权重，用于计算加权的 top k 指标。","2023-02-03T02:08:24",{"id":146,"version":147,"summary_zh":148,"released_at":149},359974,"v0.7.2","- 改进了在参数服务器策略下使用 TPUEmbedding 的支持。","2022-09-28T22:56:14",{"id":151,"version":152,"summary_zh":153,"released_at":154},359975,"v0.7.1","发布修复。","2022-07-12T23:32:26",{"id":156,"version":157,"summary_zh":158,"released_at":159},359976,"v0.7.0","## [0.7.0][2022-07-07]\n\n进行了一系列更改，以使因子化 Top-K 指标计算更加准确，并减少用户误用的可能性。\n\n### 变更\n\n- `tfrs.layers.embedding.TPUEmbedding` 现在支持具有动态形状的输入特征。`batch_size` 参数已弃用，不再需要。\n\n- `tfrs.layers.embedding.TPUEmbedding` 现在支持在不同版本的 TPU 上运行。\n\n- TensorFlow 固定为 >= 2.9.0，以便与 Scann 1.2.7 兼容。\n\n- `tfrs.tasks.Ranking.call` 现在接受 `compute_batch_metrics` 参数，以允许关闭批次指标的计算。在此更改之后，`compute_metrics` 参数不再影响批次指标的计算。\n\n### 破坏性变更\n\n- `tfrs.metrics.FactorizedTopK` 在使用近似 Top-K 数据源时，要求提供正样本的候选 ID。每个 Top-K 层现在都提供一个 `exact` 方法，用于指示其是返回精确的还是近似的 Top-K 结果。\n- 移除了 `tfrs.metrics.FactorizedTopK` 的 `metrics` 构造函数参数。`FactorizedTopK` 仅适用于 Top-k 指标，此更改强化了这一约束。\n- 将 `tfrs.metrics.FactorizedTopK` 中的 `k` 构造函数参数替换为 `ks`：一个用于指定要计算 Top-k 指标的 `k` 值列表。\n\n### 变更\n\n- `tfrs.metrics.FactorizedTopK` 指标现在可以在调用 `call` 方法时，通过传入 `true_candidate_ids` 参数来计算基于候选 ID 的指标。\n\n### 新增\n\n- `Retrieval` 任务现在也接受 `loss_metrics` 参数。","2022-07-12T16:40:05",{"id":161,"version":162,"summary_zh":163,"released_at":164},359977,"v0.6.0","### 变更\r\n\r\n-   将 TensorFlow 固定为 >= 2.6.0，该版本与 Scann 1.2.3 兼容。\r\n\r\n### 破坏性变更\r\n\r\n-   `TopK` 层的索引 API 发生了变化。现在通过 `index_from_dataset` 方法对数据集进行索引。这一更改降低了在使用非确定性数据集进行索引时，嵌入向量与候选标识符发生错位的可能性。","2021-08-23T23:20:47",{"id":166,"version":167,"summary_zh":168,"released_at":169},359978,"v0.5.2","### 修复\n\n- 修复了 `tfrs.experimental.models.Ranking` 默认参数中的错误\n  （https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Frecommenders\u002Fissues\u002F311）。\n- 修正 TPUEmbedding 层，使其使用命名参数。\n\n### 新增\n\n- 向 `tfrs.tasks.Retrieval` 添加了 `batch_metrics`，用于衡量模型从批次中的其他候选者中正确选出查询的真实候选者的性能。\n- 新增了 `tfrs.experimental.layers.embedding.PartialTPUEmbedding` 层，该层在处理大规模嵌入查找时使用 `tfrs.layers.embedding.TPUEmbedding`，而在处理小规模嵌入查找时则使用 `tf.keras.layers.Embedding`。","2021-07-16T21:22:22",{"id":171,"version":172,"summary_zh":173,"released_at":174},359979,"v0.5.1","### 变更\r\n\r\n-   向 `factorized_top_k` 层提供形状不兼容的候选和标识符输入，现在将引发异常（以防止出现类似 https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Frecommenders\u002Fissues\u002F286 的问题）。","2021-05-17T16:31:38",{"id":176,"version":177,"summary_zh":178,"released_at":179},359980,"v0.5.0","### 新增\r\n\r\n-   `tfrs.experimental.models.Ranking`：一个用于排序任务的实验性预构建模型。可以作为类似 DLRM 的模型，使用点积进行特征交互；也可以作为类似 DCN 的模型，使用 Cross 层进行特征交互。\r\n\r\n### 变更\r\n\r\n-   修复了 `tfrs.layers.loss.SamplingProbablityCorrection` 中的一个 bug：logits 应当减去物品概率的对数。\r\n-   `tfrs.experimental.optimizers.CompositeOptimizer`：一种由多个独立优化器组成的优化器，可用于模型不同变量子集的优化。\r\n-   `tfrs.layers.dcn.Cross` 和 `DotInteraction` 层已被移至 `tfrs.layers.feature_interaction` 包中。","2021-05-07T17:47:08",{"id":181,"version":182,"summary_zh":183,"released_at":184},359981,"v0.4.0","### 新增\n\n-   `TopK` 层现提供 `query_with_exclusions` 方法，允许在 top-k 检索中排除特定候选。\n-   用于 TPU 的 Keras 层 `TPUEmbedding`，可加速大型嵌入表的查找。\n\n### 变更\n\n-   `factorized_top_k.Streaming` 层现在接受查询模型，与其他 `factorized_top_k` 层一致。\n-   ScaNN 更新至 1.2.0 版本，该版本要求 TensorFlow 2.4.x。如果不使用 ScaNN，则仍支持 TF 2.3 及以上版本。","2021-01-20T22:51:14",{"id":186,"version":187,"summary_zh":188,"released_at":189},359982,"v0.3.2","### Changed\r\n\r\n-   Pinned TensorFlow to >= 2.3 when ScaNN is not being installed. When ScaNN is\r\n    being installed, we pin on >= 2.3, \u003C 2.4. This allows users to use TFRS on\r\n    TF 2.4 when they are not using ScaNN.","2020-12-22T19:21:09",{"id":191,"version":192,"summary_zh":193,"released_at":194},359983,"v0.3.1","### Changed\r\n\r\n-   Pinned TensorFlow to 2.3.x and ScaNN to 1.1.1 to ensure TF and ScaNN\r\n    versions are in lockstep.","2020-12-22T18:48:27",{"id":196,"version":197,"summary_zh":198,"released_at":199},359984,"v0.3.0","### Added\r\n\r\n-   Deep cross networks: efficient ways of learning feature interactions.\r\n-   ScaNN integration: efficient approximate maximum inner product search for\r\n    fast retrieval.","2020-11-19T01:39:42",{"id":201,"version":202,"summary_zh":203,"released_at":204},359985,"v0.2.0","### Breaking changes\r\n\r\n-   Corpus retrieval metrics and layers have been reworked. `tfrs.layers.corpus.DatasetTopk` has been removed,\r\n    `tfrs.layers.corpus.DatasetIndexedTopK` renamed to\r\n    `tfrs.layers.factorized_top_k.Streaming`, `tfrs.layers.ann.BruteForce`\r\n    renamed to `tfrs.layers.factorized_top_k.BruteForce`. All top-k retrieval\r\n    layers (`BruteForce`, `Streaming`) now follow a common interface.\r\n\r\n### Added\r\n\r\n-   `tfrs.tasks.Ranking.call` now accepts a `compute_metrics` argument to allow\r\n    switching off metric computation.\r\n-   `tfrs.tasks.Ranking` now accepts label and prediction metrics.\r\n-   Add metrics setter\u002Fgetters on `tfrs.tasks.Retrieval`.\r\n\r\n### Changed\r\n\r\n-   `Dataset` parallelism enabled by default in `DatasetTopK` and\r\n    `DatasetIndexedTopK` layers, bringing over 2x speed-ups to evaluations\r\n    workloads.\r\n-   `evaluate_metrics` argument to `tfrs.tasks.Retrieval.call` renamed to\r\n    `compute_metrics`.","2020-10-15T20:06:55",{"id":206,"version":207,"summary_zh":75,"released_at":208},359986,"v0.1.3","2020-09-22T21:54:59",{"id":210,"version":211,"summary_zh":75,"released_at":212},359987,"v0.1.2","2020-09-17T17:20:15",{"id":214,"version":215,"summary_zh":75,"released_at":216},359988,"v0.1.1","2020-09-17T00:54:15"]