[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-microsoft--RecAI":3,"tool-microsoft--RecAI":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":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":77,"owner_twitter":78,"owner_website":79,"owner_url":80,"languages":81,"stars":94,"forks":95,"last_commit_at":96,"license":97,"difficulty_score":98,"env_os":99,"env_gpu":100,"env_ram":100,"env_deps":101,"category_tags":110,"github_topics":111,"view_count":24,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":114,"updated_at":115,"faqs":116,"releases":145},10013,"microsoft\u002FRecAI","RecAI","Bridging LLM and Recommender System.","RecAI 是一个致力于将大型语言模型（LLM）与传统推荐系统深度融合的开源项目。它旨在解决通用大模型缺乏垂直领域知识、难以直接用于精准推荐，而传统推荐系统又受限于结构化数据、缺乏交互性与可解释性的痛点。通过整合多种前沿策略，RecAI 帮助开发者构建更智能、互动性更强且以用户为中心的新一代推荐系统。\n\n该项目特别适合从事推荐算法研究的研究人员、希望引入大模型能力的 AI 开发者，以及探索人机交互新范式的产品设计师。RecAI 的核心技术亮点丰富：其\"Recommender AI Agent\"模块创新性地将大模型作为“大脑”负责理解指令，传统推荐模型作为“工具”提供专业计算，实现了自然对话式的推荐体验；“选择性知识插件”则无需微调模型，仅通过提示词注入即可让大模型掌握动态变化的领域数据；此外，项目还包含专为物品检索优化的嵌入模型（RecLM-emb），显著提升了密集检索场景下的表现。无论是想探索 LLM4Rec 的前沿架构，还是寻求落地的工程化方案，RecAI 都提供了全面的方法论与代码支持。","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_RecAI_readme_18ce86b1b644.png\" alt=\"Recommender System with AI\"\u002F>\n\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\n# RecAI: Leveraging Large Language Models for Next-Generation Recommender Systems\n\n\u003C\u002Fdiv>\n\nLarge Language Models (LLMs) offer significant potential for the development of cutting-edge recommender systems, particularly in terms of enhancing interactivity, explainability, and controllability. These are aspects that have traditionally posed challenges. However, the direct application of a general-purpose LLM for recommendation purposes is not viable due to the absence of specific domain knowledge.\n\nThe RecAI project aims to bridge this gap by investigating various strategies to integrate LLMs into recommender systems, a concept people usually term as LLM4Rec. Our goal is to reflect the real-world needs of LLM4Rec through holistic views and methodologies.\n\nWe believe that by adopting a holistic perspective, we can incorporate the majority of practical requirements of LLM4Rec into one or more of the techniques explored in the RecAI project. These techniques include, but are not limited to, Recommender AI agents, the injection of knowledge through personalized prompting, fine-tuning language models as recommenders, evaluation, and LLMs as model explainers. The ultimate objective is to create a more sophisticated, interactive, and user-centric recommender system.\n\n\u003Cdiv align=\"center\" style=\"background-image:url(.\u002Fassets\u002Fbackground\u002Fbackground.png);background-color:rgba(255, 255, 255, 0.8);background-blend-mode:overlay;background-position:right;background-repeat:no-repeat;background-size:100% 100%;\">\n\n\u003Ctable>  \n  \u003Ctr>  \n    \u003Ctd> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_RecAI_readme_8ba4c2c7a6e2.png\" alt=\"Recommender AI agent\" \u002F> \u003C\u002Ftd>  \n    \u003Ctd> \n     \u003Cstrong style=\"font-size:3vw\"> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FRecAI\u002Fblob\u002Fmain\u002FInteRecAgent\u002FREADME.md\" style=\"color: #0000FF; text-decoration: underline;\"> Recommender AI Agent \u003C\u002Fa> \u003C\u002Fstrong> \u003Cbr> LLMs provide natural interactions and respond smartly to human instructions but lack domain-specific expertise. In contrast, traditional recommender systems excel with in-domain data training yet are constrained to structured data and lack interactivity. InteRecAgent introduces an AI agent that combines the strengths of both: it employs an LLM as the brain and traditional recommender models as tools. Consequently, traditional models like matrix factorization can be transformed into conversational, interactive, and explainable recommender systems..\n     \u003C\u002Ftd>  \n  \u003C\u002Ftr> \n\n  \u003Ctr>  \n    \u003Ctd> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_RecAI_readme_6c033d431c1b.png\" alt=\"Selective Knowledge Plugin\" \u002F> \u003C\u002Ftd>  \n    \u003Ctd> \n     \u003Cstrong style=\"font-size:3vw\"> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FRecAI\u002Fblob\u002Fmain\u002FKnowledge_Plugin\u002FREADME.md\" style=\"color: #0000FF; text-decoration: underline;\"> Selective Knowledge Plugin \u003C\u002Fa>\u003C\u002Fstrong> \u003C\u002Fbr>\n     How can we enhance an LLM's domain-specific ability without finetuning the model? Then the prompt is the key. In this work, we introduce a method that augments LLMs with selective knowledge, so that large-scale, continuously evolving, and domain-specific data patterns can be injected by prompt. \n     \u003C\u002Ftd>  \n  \u003C\u002Ftr>   \n\n  \u003Ctr>  \n    \u003Ctd> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_RecAI_readme_e895b0324fab.png\" alt=\"Embedding RecLM\" \u002F> \u003C\u002Ftd>  \n    \u003Ctd> \n     \u003Cstrong style=\"font-size:3vw\"> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FRecAI\u002Fblob\u002Fmain\u002FRecLM-emb\u002FREADME.md\" style=\"color: #0000FF; text-decoration: underline;\"> Embedding RecLM \u003C\u002Fa>\u003C\u002Fstrong> \u003C\u002Fbr>\n     Dense retrieval is a crucial component in a range of scenarios, including recommender systems and retrieval-augmented generation (RAG). While generative language models such as GPTs are designed for sequential token generation, they are not optimized for retrieval-oriented embedding. This is where our project, RecLM-emb, comes into play. RecLM-emb aligns with text-embedding models like text-embedding-ada-002, but it is specifically optimized for item retrieval. The goal is to embed everything for item retrieval. Currently it only supports text modality, such as search query, item description, and user instructions.\n     \u003C\u002Ftd>  \n  \u003C\u002Ftr> \n\n  \u003Ctr>  \n    \u003Ctd> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_RecAI_readme_6b3ba2984e02.png\" alt=\"Generative RecLM \" \u002F> \u003C\u002Ftd>  \n    \u003Ctd> \n     \u003Cstrong style=\"font-size:3vw\"> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FRecAI\u002Fblob\u002Fmain\u002FRecLM-gen\u002FREADME.md\" style=\"color: #0000FF; text-decoration: underline;\"> Generative RecLM \u003C\u002Fa>\u003C\u002Fstrong> \u003C\u002Fbr>\n  It's important to note that data patterns vary significantly across domains, meaning a general-purpose LLM may not deliver optimized performance within a specific domain. To adapt to specific domain data patterns, grounding to domain item catalogs, and enhance instruction-following capability, this project discusses the process of fine-tuning a generative Language Model for recommenders, referred to as RecLM-gen. Techniques include supervised finetuning (SFT) and reinforcement learning (RL). Potential applications of this approach include rankers, conversational recommenders, and user simulators.\n     \u003C\u002Ftd>  \n  \u003C\u002Ftr> \n\n  \u003Ctr>  \n    \u003Ctd> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_RecAI_readme_ab4c4e1b35d4.png\" alt=\"Recommendation model explainer\" \u002F> \u003C\u002Ftd>  \n    \u003Ctd> \n     \u003Cstrong style=\"font-size:3vw\"> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FRecAI\u002Fblob\u002Fmain\u002FRecExplainer\u002FREADME.md\" style=\"color: #0000FF; text-decoration: underline;\"> Model Explainer \u003C\u002Fa>\u003C\u002Fstrong> \u003C\u002Fbr>\n     Deep learning-based recommender systems are widely used in various online services, thanks to their superiority in effectiveness and efficiency. However, these models often lack interpretability, making them less reliable and transparent for both users and developers. In this work, we propose a new model interpretation approach for recommender systems, call RecExplainer, by using LLMs as surrogate models and learn to mimic and comprehend target recommender models.\n     \u003C\u002Ftd>  \n  \u003C\u002Ftr> \n\n  \u003Ctr>  \n    \u003Ctd> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_RecAI_readme_1b99a95d88eb.png\" alt=\"Recommendation Evaluator\"\u002F> \u003C\u002Ftd>  \n    \u003Ctd> \n     \u003Cstrong style=\"font-size:3vw\"> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FRecAI\u002Fblob\u002Fmain\u002FRecLM-eval\u002FREADME.md\" style=\"color: #0000FF; text-decoration: underline;\"> RecLM Evaluator \u003C\u002Fa>\u003C\u002Fstrong> \u003C\u002Fbr>\nEvaluation is crucial for assessing the true capabilities of models and identifying areas of weakness for further improvement. In the era of using language models as recommenders, which function in a human-like manner, the evaluation method has significantly deviated from traditional styles. This project intends to offer a comprehensive service for the evaluation of LM-based recommender systems. Whether provided with a trained LM or an API (such as Azure OpenAI API), it assesses the model's performance from various perspectives, including retrieval, ranking, explanation capability, and general AI ability.\n     \u003C\u002Ftd>  \n  \u003C\u002Ftr> \n\u003C\u002Ftable>  \n\u003C\u002Fdiv>\n\n## License\nRecAI uses [MIT](.\u002FLICENSE) license. \n\n\n## Contributing\n\nThis project welcomes contributions and suggestions.  Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit https:\u002F\u002Fcla.opensource.microsoft.com.\n\nWhen you submit a pull request, a CLA bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002F).\nFor more information see the [Code of Conduct FAQ](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002Ffaq\u002F) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n## Trademarks\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft \ntrademarks or logos is subject to and must follow \n[Microsoft's Trademark & Brand Guidelines](https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Flegal\u002Fintellectualproperty\u002Ftrademarks\u002Fusage\u002Fgeneral).\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\nAny use of third-party trademarks or logos are subject to those third-party's policies.\n\n\n## Acknowledge\n\nThanks to the open source codes of the following projects:\n\n[UniRec](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FUniRec) &#8194;\n[VisualChatGPT](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FTaskMatrix\u002Fblob\u002Fmain\u002Fvisual_chatgpt.py) &#8194;\n[JARVIS](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FJARVIS) &#8194;\n[LangChain](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain) &#8194;\n[guidance](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fguidance) &#8194;\n[FlagEmbedding](https:\u002F\u002Fgithub.com\u002FFlagOpen\u002FFlagEmbedding) &#8194;\n\n## Responsible AI FAQ\n\nPlease refer to [RecAI: Responsible AI FAQ](.\u002FRAI_FAQ.md) for document on the purposes, capabilities, and limitations of the RecAI systems. \n\n\n\n## Citation\nIf this project aids your research, please cite our following paper:\n#### RecAI Overview:\n```\n@inproceedings{10.1145\u002F3589335.3651242,\n    author = {Lian, Jianxun and Lei, Yuxuan and Huang, Xu and Yao, Jing and Xu, Wei and Xie, Xing},\n    title = {RecAI: Leveraging Large Language Models for Next-Generation Recommender Systems},\n    year = {2024},\n    isbn = {9798400701726},\n    publisher = {Association for Computing Machinery},\n    address = {New York, NY, USA},\n    url = {https:\u002F\u002Fdoi.org\u002F10.1145\u002F3589335.3651242},\n    doi = {10.1145\u002F3589335.3651242},\n    booktitle = {Companion Proceedings of the ACM Web Conference 2024},\n    pages = {1031–1034},\n    numpages = {4},\n    keywords = {large language models, recommender systems},\n    location = {Singapore, Singapore},\n    series = {WWW '24}\n}\n```\nAnd corresponding paper in the subfolder:\n\n#### InteRecAgent:\n```\n@article{10.1145\u002F3731446,\n    author = {Huang, Xu and Lian, Jianxun and Lei, Yuxuan and Yao, Jing and Lian, Defu and Xie, Xing},\n    title = {Recommender AI Agent: Integrating Large Language Models for Interactive Recommendations},\n    year = {2025},\n    publisher = {Association for Computing Machinery},\n    address = {New York, NY, USA},\n    issn = {1046-8188},\n    url = {https:\u002F\u002Fdoi.org\u002F10.1145\u002F3731446},\n    doi = {10.1145\u002F3731446},\n    note = {Just Accepted},\n    journal = {ACM Trans. Inf. Syst.},\n    month = apr,\n    keywords = {Conversational Recommendation, Large Language Models, Interactive Agents}\n}\n```\n\n#### Knowledge_Plugin:\n```\n@misc{yao2023knowledgepluginsenhancinglarge,\n      title={Knowledge Plugins: Enhancing Large Language Models for Domain-Specific Recommendations}, \n      author={Jing Yao and Wei Xu and Jianxun Lian and Xiting Wang and Xiaoyuan Yi and Xing Xie},\n      year={2023},\n      eprint={2311.10779},\n      archivePrefix={arXiv},\n      primaryClass={cs.IR},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2311.10779}, \n}\n```\n\n#### RecExplainer:\n```\n@inproceedings{10.1145\u002F3637528.3671802,\n    author = {Lei, Yuxuan and Lian, Jianxun and Yao, Jing and Huang, Xu and Lian, Defu and Xie, Xing},\n    title = {RecExplainer: Aligning Large Language Models for Explaining Recommendation Models},\n    year = {2024},\n    isbn = {9798400704901},\n    publisher = {Association for Computing Machinery},\n    address = {New York, NY, USA},\n    url = {https:\u002F\u002Fdoi.org\u002F10.1145\u002F3637528.3671802},\n    doi = {10.1145\u002F3637528.3671802},\n    booktitle = {Proceedings of the 30th ACM SIGKDD Conference on Knowledge Discovery and Data Mining},\n    pages = {1530–1541},\n    numpages = {12},\n    keywords = {large language models, model explainability, recommender systems},\n    location = {Barcelona, Spain},\n    series = {KDD '24}\n}\n```\n\n#### RecLM-uni:\n```\n@misc{liao2026eliminatingoutofdomainrecommendationsllmbased,\n      title={Eliminating Out-of-Domain Recommendations in LLM-based Recommender Systems: A Unified View}, \n      author={Hao Liao and Jiwei Zhang and Jianxun Lian and Wensheng Lu and Mingqi Wu and Shuo Wang and Yong Zhang and Yitian Huang and Mingyang Zhou and Rui Mao},\n      year={2026},\n      eprint={2505.03336},\n      archivePrefix={arXiv},\n      primaryClass={cs.IR},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2505.03336}, \n}\n```\n\n#### RecLM-emb:\n```\n@inproceedings{10.1145\u002F3589335.3651468,\n    author = {Lei, Yuxuan and Lian, Jianxun and Yao, Jing and Wu, Mingqi and Lian, Defu and Xie, Xing},\n    title = {Aligning Language Models for Versatile Text-based Item Retrieval},\n    year = {2024},\n    isbn = {9798400701726},\n    publisher = {Association for Computing Machinery},\n    address = {New York, NY, USA},\n    url = {https:\u002F\u002Fdoi.org\u002F10.1145\u002F3589335.3651468},\n    doi = {10.1145\u002F3589335.3651468},\n    booktitle = {Companion Proceedings of the ACM Web Conference 2024},\n    pages = {935–938},\n    numpages = {4},\n    keywords = {item retrieval, search and recommendation, text embedding},\n    location = {Singapore, Singapore},\n    series = {WWW '24}\n}\n```\n\n#### RecLM-gen:\n```\n@inproceedings{lu-etal-2024-aligning,\n    title = \"Aligning Large Language Models for Controllable Recommendations\",\n    author = \"Lu, Wensheng  and Lian, Jianxun  and Zhang, Wei  and Li, Guanghua  and Zhou, Mingyang  and Liao, Hao  and Xie, Xing\",\n    editor = \"Ku, Lun-Wei  and Martins, Andre  and Srikumar, Vivek\",\n    booktitle = \"Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)\",\n    month = aug,\n    year = \"2024\",\n    address = \"Bangkok, Thailand\",\n    publisher = \"Association for Computational Linguistics\",\n    url = \"https:\u002F\u002Faclanthology.org\u002F2024.acl-long.443\u002F\",\n    doi = \"10.18653\u002Fv1\u002F2024.acl-long.443\",\n    pages = \"8159--8172\",\n}\n```","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_RecAI_readme_18ce86b1b644.png\" alt=\"基于AI的推荐系统\"\u002F>\n\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\n# RecAI：利用大型语言模型打造下一代推荐系统\n\n\u003C\u002Fdiv>\n\n大型语言模型（LLMs）为开发前沿的推荐系统提供了巨大潜力，尤其是在提升交互性、可解释性和可控性方面。这些正是传统推荐系统长期以来面临的挑战。然而，由于缺乏特定领域的知识，直接将通用大型语言模型应用于推荐任务并不现实。\n\nRecAI项目旨在通过探索多种策略，将大型语言模型融入推荐系统中，这一概念通常被称为LLM4Rec。我们的目标是通过整体性的视角和方法论，反映LLM4Rec在实际应用中的需求。\n\n我们相信，通过采用整体性视角，可以将LLM4Rec的大多数实际需求整合到RecAI项目所探讨的若干技术中。这些技术包括但不限于：推荐AI智能体、通过个性化提示注入知识、将语言模型微调为推荐器、模型评估以及利用大型语言模型进行模型解释等。最终目标是构建更加 sophisticated、交互性强且以用户为中心的推荐系统。\n\n\u003Cdiv align=\"center\" style=\"background-image:url(.\u002Fassets\u002Fbackground\u002Fbackground.png);background-color:rgba(255, 255, 255, 0.8);background-blend-mode:overlay;background-position:right;background-repeat:no-repeat;background-size:100% 100%;\">\n\n\u003Ctable>  \n  \u003Ctr>  \n    \u003Ctd> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_RecAI_readme_8ba4c2c7a6e2.png\" alt=\"推荐AI智能体\" \u002F> \u003C\u002Ftd>  \n    \u003Ctd> \n     \u003Cstrong style=\"font-size:3vw\"> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FRecAI\u002Fblob\u002Fmain\u002FInteRecAgent\u002FREADME.md\" style=\"color: #0000FF; text-decoration: underline;\"> 推荐AI智能体 \u003C\u002Fa> \u003C\u002Fstrong> \u003Cbr> 大型语言模型能够提供自然的交互，并智能响应人类指令，但缺乏领域-specific的专业知识。相比之下，传统的推荐系统擅长利用领域内数据进行训练，却受限于结构化数据，且缺乏交互性。InteRecAgent引入了一种结合两者优势的AI智能体：它以大型语言模型作为“大脑”，而将传统的推荐模型作为工具。因此，诸如矩阵分解等传统模型可以被转化为对话式、交互式且具有可解释性的推荐系统。\n     \u003C\u002Ftd>  \n  \u003C\u002Ftr> \n\n  \u003Ctr>  \n    \u003Ctd> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_RecAI_readme_6c033d431c1b.png\" alt=\"选择性知识插件\" \u002F> \u003C\u002Ftd>  \n    \u003Ctd> \n     \u003Cstrong style=\"font-size:3vw\"> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FRecAI\u002Fblob\u002Fmain\u002FKnowledge_Plugin\u002FREADME.md\" style=\"color: #0000FF; text-decoration: underline;\"> 选择性知识插件 \u003C\u002Fa>\u003C\u002Fstrong> \u003C\u002Fbr>\n     如何在不微调模型的情况下增强大型语言模型的领域-specific能力呢？答案就在于提示词的设计。在这项工作中，我们提出了一种通过提示词为大型语言模型注入选择性知识的方法，从而能够将大规模、持续更新且领域-specific的数据模式嵌入到模型中。\n     \u003C\u002Ftd>  \n  \u003C\u002Ftr>   \n\n  \u003Ctr>  \n    \u003Ctd> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_RecAI_readme_e895b0324fab.png\" alt=\"Embedding RecLM\" \u002F> \u003C\u002Ftd>  \n    \u003Ctd> \n     \u003Cstrong style=\"font-size:3vw\"> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FRecAI\u002Fblob\u002Fmain\u002FRecLM-emb\u002FREADME.md\" style=\"color: #0000FF; text-decoration: underline;\"> Embedding RecLM \u003C\u002Fa>\u003C\u002Fstrong> \u003C\u002Fbr>\n     密集检索是许多场景中的关键组件，包括推荐系统和检索增强生成（RAG）。尽管像GPT这样的生成式语言模型专为序列化的token生成而设计，但它们并未针对检索-oriented的embedding进行优化。这正是我们的项目RecLM-emb发挥作用的地方。RecLM-emb与text-embedding-ada-002等文本embedding模型保持一致，但专门针对item retrieval进行了优化。其目标是为item retrieval对所有内容进行embedding。目前它仅支持文本模态，例如搜索查询、商品描述和用户指令。\n     \u003C\u002Ftd>  \n  \u003C\u002Ftr> \n\n  \u003Ctr>  \n    \u003Ctd> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_RecAI_readme_6b3ba2984e02.png\" alt=\"生成式 RecLM \" \u002F> \u003C\u002Ftd>  \n    \u003Ctd> \n     \u003Cstrong style=\"font-size:3vw\"> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FRecAI\u002Fblob\u002Fmain\u002FRecLM-gen\u002FREADME.md\" style=\"color: #0000FF; text-decoration: underline;\"> 生成式 RecLM \u003C\u002Fa>\u003C\u002Fstrong> \u003C\u002Fbr\n需要注意的是，不同领域的数据模式差异很大，这意味着通用大型语言模型可能无法在特定领域内达到最佳性能。为了适应特定领域的数据模式、与领域内的item目录建立联系，并提升指令遵循能力，本项目讨论了将生成式语言模型微调为推荐器的过程，称为RecLM-gen。相关技术包括监督微调（SFT）和强化学习（RL）。该方法的潜在应用场景包括ranker、对话式推荐系统以及用户模拟器。\n     \u003C\u002Ftd>  \n  \u003C\u002Ftr> \n\n  \u003Ctr>  \n    \u003Ctd> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_RecAI_readme_ab4c4e1b35d4.png\" alt=\"推荐模型解释器\" \u002F> \u003C\u002Ftd>  \n    \u003Ctd> \n     \u003Cstrong style=\"font-size:3vw\"> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FRecAI\u002Fblob\u002Fmain\u002FRecExplainer\u002FREADME.md\" style=\"color: #0000FF; text-decoration: underline;\"> 模型解释器 \u003C\u002Fa>\u003C\u002Fstrong> \u003C\u002Fbr\n基于深度学习的推荐系统因其高效性和有效性，在各类在线服务中得到了广泛应用。然而，这些模型往往缺乏可解释性，使得它们对用户和开发者而言都显得不够可靠和透明。在这项工作中，我们提出了一种新的推荐系统模型解释方法——RecExplainer，即利用大型语言模型作为代理模型，学习模仿并理解目标推荐模型。\n     \u003C\u002Ftd>  \n  \u003C\u002Ftr> \n\n  \u003Ctr>  \n    \u003Ctd> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_RecAI_readme_1b99a95d88eb.png\" alt=\"推荐系统评估器\"\u002F> \u003C\u002Ftd>  \n    \u003Ctd> \n     \u003Cstrong style=\"font-size:3vw\"> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FRecAI\u002Fblob\u002Fmain\u002FRecLM-eval\u002FREADME.md\" style=\"color: #0000FF; text-decoration: underline;\"> RecLM 评估器 \u003C\u002Fa>\u003C\u002Fstrong> \u003C\u002Fbr\n评估对于衡量模型的真实能力以及识别薄弱环节以进一步改进至关重要。在如今使用语言模型作为推荐器的时代，这些模型以类似人类的方式运作，因此评估方法也已显著偏离传统方式。本项目旨在为基于语言模型的推荐系统提供全面的评估服务。无论客户提供的是一份训练好的语言模型，还是一个API（如Azure OpenAI API），该项目都能从检索、排序、解释能力以及通用AI能力等多个角度评估模型的表现。\n     \u003C\u002Ftd>  \n  \u003C\u002Ftr> \n\u003C\u002Ftable>  \n\u003C\u002Fdiv>\n\n## 许可证\nRecAI采用[MIT](.\u002FLICENSE)许可证。\n\n## 贡献\n\n本项目欢迎贡献和建议。大多数贡献都需要您同意贡献者许可协议（CLA），声明您有权且确实将您的贡献使用权授予我们。有关详细信息，请访问 https:\u002F\u002Fcla.opensource.microsoft.com。\n\n当您提交拉取请求时，CLA 机器人会自动判断您是否需要提供 CLA，并相应地标记 PR（例如状态检查、评论）。请按照机器人提供的指示操作即可。对于使用我们 CLA 的所有仓库，您只需执行一次此操作。\n\n本项目已采用 [微软开源行为准则](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002F)。更多信息请参阅 [行为准则常见问题解答](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002Ffaq\u002F) 或发送邮件至 [opencode@microsoft.com](mailto:opencode@microsoft.com) 咨询更多问题或意见。\n\n## 商标\n\n本项目可能包含与项目、产品或服务相关的商标或标识。对微软商标或标识的授权使用须遵守并严格执行 [微软商标与品牌指南](https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Flegal\u002Fintellectualproperty\u002Ftrademarks\u002Fusage\u002Fgeneral)。在本项目的修改版本中使用微软商标或标识时，不得造成混淆或暗示微软的赞助关系。任何第三方商标或标识的使用均应遵循该第三方的相关政策。\n\n## 致谢\n\n感谢以下开源项目提供的代码：\n\n[UniRec](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FUniRec) &#8194;\n[VisualChatGPT](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FTaskMatrix\u002Fblob\u002Fmain\u002Fvisual_chatgpt.py) &#8194;\n[JARVIS](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FJARVIS) &#8194;\n[LangChain](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain) &#8194;\n[guidance](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fguidance) &#8194;\n[FlagEmbedding](https:\u002F\u002Fgithub.com\u002FFlagOpen\u002FFlagEmbedding) &#8194;\n\n## 负责任的人工智能常见问题解答\n\n有关 RecAI 系统的目的、功能及局限性的文档，请参阅 [RecAI：负责任的人工智能常见问题解答](.\u002FRAI_FAQ.md)。\n\n\n\n## 引用\n\n如果本项目对您的研究有所帮助，请引用我们的以下论文：\n#### RecAI 概述：\n```\n@inproceedings{10.1145\u002F3589335.3651242,\n    author = {Lian, Jianxun and Lei, Yuxuan and Huang, Xu and Yao, Jing and Xu, Wei and Xie, Xing},\n    title = {RecAI: 利用大型语言模型构建下一代推荐系统},\n    year = {2024},\n    isbn = {9798400701726},\n    publisher = {计算机协会 ACM},\n    address = {纽约，美国},\n    url = {https:\u002F\u002Fdoi.org\u002F10.1145\u002F3589335.3651242},\n    doi = {10.1145\u002F3589335.3651242},\n    booktitle = {ACM 网络大会 2024 年配套论文集},\n    pages = {1031–1034},\n    numpages = {4},\n    keywords = {大型语言模型，推荐系统},\n    location = {新加坡，新加坡},\n    series = {WWW '24}\n}\n```\n以及子文件夹中的对应论文：\n\n#### InteRecAgent：\n```\n@article{10.1145\u002F3731446,\n    author = {Huang, Xu and Lian, Jianxun and Lei, Yuxuan and Yao, Jing and Lian, Defu and Xie, Xing},\n    title = {推荐人工智能代理：整合大型语言模型实现交互式推荐},\n    year = {2025},\n    publisher = {计算机协会 ACM},\n    address = {纽约，美国},\n    issn = {1046-8188},\n    url = {https:\u002F\u002Fdoi.org\u002F10.1145\u002F3731446},\n    doi = {10.1145\u002F3731446},\n    note = {刚刚被接受},\n    journal = {ACM 信息系统汇刊},\n    month = apr,\n    keywords = {对话式推荐，大型语言模型，交互式代理}\n}\n```\n\n#### Knowledge_Plugin：\n```\n@misc{yao2023knowledgepluginsenhancinglarge,\n      title={知识插件：增强大型语言模型以实现领域特定推荐}, \n      author={Jing Yao 和 Wei Xu 以及 Jianxun Lian、Xiting Wang、Xiaoyuan Yi 和 Xing Xie},\n      year={2023},\n      eprint={2311.10779},\n      archivePrefix={arXiv},\n      primaryClass={cs.IR},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2311.10779}, \n}\n```\n\n#### RecExplainer：\n```\n@inproceedings{10.1145\u002F3637528.3671802,\n    author = {Lei, Yuxuan 和 Lian, Jianxun 以及 Yao, Jing、Huang, Xu、Lian, Defu 和 Xie, Xing},\n    title = {RecExplainer：对齐大型语言模型以解释推荐模型},\n    year = {2024},\n    isbn = {9798400704901},\n    publisher = {计算机协会 ACM},\n    address = {纽约，美国},\n    url = {https:\u002F\u002Fdoi.org\u002F10.1145\u002F3637528.3671802},\n    doi = {10.1145\u002F3637528.3671802},\n    booktitle = {第 30 届 ACM SIGKDD 知识发现与数据挖掘会议论文集},\n    pages = {1530–1541},\n    numpages = {12},\n    keywords = {大型语言模型，模型可解释性，推荐系统},\n    location = {巴塞罗那，西班牙},\n    series = {KDD '24}\n}\n```\n\n#### RecLM-uni：\n```\n@misc{liao2026eliminatingoutofdomainrecommendationsllmbased,\n      title={消除基于大型语言模型的推荐系统中的域外推荐：统一视角}, \n      author={Hao Liao 和 Jiwei Zhang 以及 Jianxun Lian、Wensheng Lu、Mingqi Wu、Shuo Wang、Yong Zhang、Yitian Huang、Mingyang Zhou 和 Rui Mao},\n      year={2026},\n      eprint={2505.03336},\n      archivePrefix={arXiv},\n      primaryClass={cs.IR},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2505.03336}, \n}\n```\n\n#### RecLM-emb：\n```\n@inproceedings{10.1145\u002F3589335.3651468,\n    author = {Lei, Yuxuan 和 Lian, Jianxun 以及 Yao, Jing、Wu, Mingqi、Lian, Defu 和 Xie, Xing},\n    title = {对齐语言模型以实现多功能文本驱动的商品检索},\n    year = {2024},\n    isbn = {9798400701726},\n    publisher = {计算机协会 ACM},\n    address = {纽约，美国},\n    url = {https:\u002F\u002Fdoi.org\u002F10.1145\u002F3589335.3651468},\n    doi = {10.1145\u002F3589335.3651468},\n    booktitle = {ACM 网络大会 2024 年配套论文集},\n    pages = {935–938},\n    numpages = {4},\n    keywords = {商品检索，搜索与推荐，文本嵌入},\n    location = {新加坡，新加坡},\n    series = {WWW '24}\n}\n```\n\n#### RecLM-gen：\n```\n@inproceedings{lu-etal-2024-aligning,\n    title = \"对齐大型语言模型以实现可控推荐\",\n    author = \"Lu, Wensheng 与 Lian, Jianxun 以及 Zhang, Wei、Li, Guanghua、Zhou, Mingyang、Liao, Hao 和 Xie, Xing\",\n    editor = \"Ku, Lun-Wei 与 Martins, Andre 以及 Srikumar, Vivek\",\n    booktitle = \"第 62 届计算语言学协会年会论文集（第一卷：长篇论文）\",\n    month = aug,\n    year = \"2024\",\n    address = \"曼谷，泰国\",\n    publisher = \"计算语言学协会\",\n    url = \"https:\u002F\u002Faclanthology.org\u002F2024.acl-long.443\u002F\",\n    doi = \"10.18653\u002Fv1\u002F2024.acl-long.443\",\n    pages = \"8159--8172\",\n}\n```","# RecAI 快速上手指南\n\nRecAI 是一个利用大语言模型（LLM）构建下一代推荐系统的开源项目。它旨在解决通用 LLM 缺乏领域知识的问题，通过智能体、知识注入、微调、评估和可解释性等技术，打造更具交互性、可解释性和可控性的推荐系统。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux (推荐 Ubuntu 20.04+) 或 macOS。Windows 用户建议使用 WSL2。\n*   **Python**: 版本 3.8 或更高。\n*   **包管理工具**: `pip` 或 `conda`。\n*   **GPU (可选但推荐)**: 如需进行模型微调或本地部署大模型，建议配备 NVIDIA GPU 并安装对应的 CUDA 驱动。\n*   **API Key**: 部分功能（如使用云端 LLM）需要配置 OpenAI API Key 或 Azure OpenAI API Key。\n\n## 安装步骤\n\nRecAI 包含多个子模块（如 InteRecAgent, Knowledge_Plugin, RecExplainer 等），建议根据需求选择安装特定模块或克隆整个仓库。\n\n### 1. 克隆仓库\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FRecAI.git\ncd RecAI\n```\n\n### 2. 创建虚拟环境\n\n推荐使用 conda 创建独立的 Python 环境：\n\n```bash\nconda create -n recaipython=3.9 -y\nconda activate recaipy\n```\n\n### 3. 安装依赖\n\n由于不同子模块的依赖可能略有差异，建议进入具体子模块目录安装，或安装根目录的基础依赖（如果存在 `requirements.txt`）。\n\n**安装全局基础依赖（如有）：**\n```bash\npip install -r requirements.txt\n```\n\n**安装特定模块依赖（以 InteRecAgent 为例）：**\n```bash\ncd InteRecAgent\npip install -r requirements.txt\n```\n\n> **提示**：国内开发者如遇下载速度慢，可使用清华源加速安装：\n> ```bash\n> pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n## 基本使用\n\nRecAI 的核心功能分布在不同的子项目中。以下以 **InteRecAgent（推荐智能体）** 为例，展示如何快速启动一个基于 LLM 的交互式推荐演示。\n\n### 1. 配置 API Key\n\n在使用前，需设置您的 LLM API 密钥（以 OpenAI 为例）：\n\n```bash\nexport OPENAI_API_KEY=\"your-sk-xxxxxx\"\n```\n\n### 2. 运行智能体示例\n\n进入 `InteRecAgent` 目录并运行主脚本。该脚本将加载传统推荐模型作为工具，并由 LLM 作为大脑进行决策和对话。\n\n```bash\ncd InteRecAgent\npython main.py --config .\u002Fconfigs\u002Fconfig.yaml\n```\n\n*注：`config.yaml` 中需指定使用的 LLM 模型名称及传统推荐模型的路径。*\n\n### 3. 交互示例\n\n程序启动后，您将进入命令行交互界面。您可以尝试输入自然语言指令，例如：\n\n```text\nUser: 我想找一些适合夏天看的科幻电影，不要太长。\nAgent: 收到。正在为您筛选评分高、时长适中且属于科幻类型的夏季热门电影... \n       为您推荐：《星际穿越》、《降临》...\n```\n\n### 其他模块快速入口\n\n*   **知识插件 (Knowledge_Plugin)**: 用于通过 Prompt 注入领域知识，无需微调。\n    ```bash\n    cd Knowledge_Plugin\n    python run_plugin.py --data_path .\u002Fdata\u002Famazon_books\n    ```\n*   **模型解释器 (RecExplainer)**: 利用 LLM 解释黑盒推荐模型的决策原因。\n    ```bash\n    cd RecExplainer\n    python explain_model.py --target_model .\u002Fmodels\u002Fsasrec.pt\n    ```\n*   **评估工具 (RecLM-eval)**: 对基于 LLM 的推荐系统进行全方位评估。\n    ```bash\n    cd RecLM-eval\n    python evaluate.py --model_api azure_openai --task ranking\n    ```\n\n更多详细参数和高级用法，请参考各子模块目录下的 `README.md` 文件。","某大型电商平台的技术团队正致力于升级其推荐系统，希望从传统的“猜你喜欢”列表转型为支持自然语言交互的智能购物助手。\n\n### 没有 RecAI 时\n- **交互僵硬**：用户只能点击预设标签或浏览固定列表，无法通过“我想找适合雨天露营的轻便装备”这类自然语言表达需求。\n- **缺乏解释**：系统推荐商品时仅展示结果，无法告知用户“为什么推荐这个”，导致信任度低，转化率难以提升。\n- **领域知识缺失**：直接调用通用大模型会因缺乏电商专有数据（如实时库存、特定品类属性）而产生幻觉或推荐不相关商品。\n- **开发成本高**：若要实现对话式推荐，需从头构建复杂的意图识别模块并重新训练专用模型，周期长且维护困难。\n\n### 使用 RecAI 后\n- **自然对话交互**：利用 RecAI 中的 Recommender AI Agent 技术，将传统推荐模型转化为智能代理，用户可直接用自然语言多轮沟通，系统精准理解复杂意图。\n- **透明可解释**：系统能基于用户指令生成个性化推荐理由（如“这款帐篷防水等级高且重量低于 1kg，符合您的露营需求”），显著增强用户信任。\n- **知识无缝注入**：通过 Selective Knowledge Plugin，无需微调大模型即可将实时商品库和领域规则注入提示词，确保推荐内容专业且时效性强。\n- **快速落地集成**：团队可直接复用现有的矩阵分解等传统模型作为工具库，由 RecAI 统一调度，大幅缩短了新功能上线周期。\n\nRecAI 成功打破了大模型与专业推荐系统间的壁垒，让冷冰冰的算法变成了懂业务、会解释、能对话的智能购物顾问。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_RecAI_8ba4c2c7.png","microsoft","Microsoft","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmicrosoft_4900709c.png","Open source projects and samples from Microsoft",null,"opensource@microsoft.com","OpenAtMicrosoft","https:\u002F\u002Fopensource.microsoft.com","https:\u002F\u002Fgithub.com\u002Fmicrosoft",[82,86,90],{"name":83,"color":84,"percentage":85},"Jupyter Notebook","#DA5B0B",56.1,{"name":87,"color":88,"percentage":89},"Python","#3572A5",41.5,{"name":91,"color":92,"percentage":93},"Shell","#89e051",2.4,1096,116,"2026-04-17T09:57:26","MIT",4,"","未说明",{"notes":102,"python":100,"dependencies":103},"README 主要介绍了项目理念和子模块（如 InteRecAgent, Knowledge_Plugin, RecLM-emb 等），未在当前文本中列出具体的运行环境配置、硬件需求或依赖版本。具体安装要求需参考各子模块（如 InteRecAgent\u002FREADME.md）的独立文档。项目依赖 LangChain、guidance、FlagEmbedding 等开源库，且涉及大语言模型（LLM）的微调与推理，实际运行通常需要 GPU 支持及较大的显存。",[104,105,106,107,108,109],"LangChain","guidance","FlagEmbedding","UniRec","transformers (推断)","torch (推断)",[14,36],[112,113],"llm","recommender","2026-03-27T02:49:30.150509","2026-04-20T17:01:50.851312",[117,122,127,132,136,141],{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},44973,"运行 RecExplainer 数据管道时遇到\"Token 序列长度超过模型最大限制（2636 > 1024）”的错误怎么办？","该错误通常发生在为 MF 模型生成训练数据时调用了 GPT。解决方法是编辑 `RecExplainer\u002Fpreprocess\u002Fmf_amazon_video_games_generate.py` 文件，注释掉第 95-113 行（或相关版本中的对应行），以禁止在为 MF 模型生成数据时使用 GPT。如果修改后仍报错，请检查代码中涉及的 Pandas 索引逻辑是否因注释操作而错位。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FRecAI\u002Fissues\u002F71",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},44974,"InteRecAgent 使用 Vicuna-7B 等小模型运行时无法生成响应或返回空结果，如何解决？","主要原因有两个：\n1. **OpenAI 库版本不兼容**：框架最初基于 `openai==0.27` 开发，但现在 fschat 仅支持 `openai==1.x.x`。请务必升级 openai 库到最新版（`pip install -U openai`）。\n2. **模型能力不足**：7B 系列的小模型往往不够智能，无法遵循指令生成可解析的输出。建议更换为更强大的模型（如 GPT-4 或更大参数的开源模型）以获得正常响应。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FRecAI\u002Fissues\u002F78",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},44975,"训练 RecExplainer 模型时出现\"CUDA error: device-side assert triggered\"或\"index out of bounds\"错误，有哪些解决方案？","这是显存溢出或索引越界导致的常见错误，可以通过以下几种方式解决：\n1. **使用更小的模型**：例如切换到 phi3 系列模型。\n2. **减少可训练参数**：修改 `RecAI\u002FRecExplainer\u002Fsrc\u002Fsft_training.py` 第 372-380 行中的 `r` 和 `target_modules` 配置。\n3. **启用梯度检查点（Gradient Checkpointing）**。\n4. **使用 DeepSpeed Zero** 进行优化（可能需要额外修改代码以兼容当前实现）。\n前两种方法通常只需少量改动即可生效。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FRecAI\u002Fissues\u002F76",{"id":133,"question_zh":134,"answer_zh":135,"source_url":121},44976,"在单张 80GB A100 显卡上运行 RecExplainer 训练脚本时，如何调整配置以避免多卡报错？","默认脚本可能配置了多卡并行。若只有一张显卡，需编辑 `RecExplainer\u002Fshell\u002Ftrain.sh` 文件，找到 `torchrun` 命令，将 `--nproc_per_node 4` 修改为 `--nproc_per_node 1`，即：\n`torchrun --nnodes=1 --nproc_per_node 1 --master_port=29501 .\u002Fsrc\u002Fsft_training.py`",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},44977,"运行 InteRecAgent 时出现关于 `huggingface_hub` 的 `cached_download` 函数被移除的错误，如何处理？","这是由于 `huggingface_hub` 升级到 0.26.0 版本后移除了 `cached_download()` 函数导致的破坏性更新。解决方法是将 `huggingface_hub` 降级到早于 0.26.0 的版本，例如执行：\n`pip install huggingface_hub\u003C0.26.0`","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FRecAI\u002Fissues\u002F74",{"id":142,"question_zh":143,"answer_zh":144,"source_url":131},44978,"在多张 RTX 4090 上使用 torchrun 训练时即使 batch_size 设为 1 仍报\"CUDA out of memory\"，还有什么办法？","除了减小 batch size，还应尝试以下策略：\n1. 确保正确使用 `torchrun` 启动多卡训练。\n2. 参考其他显存优化方案，如使用更小的基座模型、开启梯度检查点（gradient checkpointing）、或使用 DeepSpeed ZeRO 优化器来分割模型状态和梯度，从而降低单卡显存占用。",[]]