SuperAPI AI 工具集

Agent4Rec

Agent4Rec 是一个基于论文“On Generative Agents in Recommendation”(SIGIR 2024 perspective)实现的推荐系统模拟器。它包含 1000 个由大语言模型驱动的生成式智能体,这些智能体从 MovieLens-1M 数据集初始化,具备多样的社会特征和偏好。每个智能体以逐页方式与个性化电影推荐交互,并执行观看、评分、评价、退出和访谈等操作。该模拟器旨在探索 LLM 赋能的生成式智能体在推荐环境中模拟真实独立人类行为的潜力,支持多种推荐系统(如 Random、Pop、MF、MultVAE、LightGCN)和不同模拟配置。

访问官网

工具介绍

Agent4Rec 是论文“On Generative Agents in Recommendation”(SIGIR 2024 perspective)的实现,一个带有 1000 个由 LLM 赋能的生成式智能体的推荐系统模拟器。这些智能体从 MovieLens-1M 数据集初始化,体现不同的社会特征和偏好。每个智能体以逐页方式与个性化电影推荐交互,并执行观看、评分、评价、退出和访谈等多种动作。通过 Agent4Rec,可以探索 LLM 赋能的生成式智能体在推荐环境中模拟真实、独立人类行为的潜力。

主要能力:

  • 支持 1000 个生成式智能体的模拟。
  • 智能体从 MovieLens-1M 数据集初始化,具有多样化的社会特征和偏好。
  • 每个智能体与个性化电影推荐进行逐页交互,并执行观看、评分、评价、退出和访谈等动作。
  • 支持多种推荐系统:Random(随机推荐物品)、Pop(随机推荐流行物品)、MF(带 BPR 损失的预训练矩阵分解模型)、MultVAE(预训练的 MultVAE 模型)、LightGCN(带 BPR 损失的预训练 LightGCN 模型)。
  • 支持不同的模拟配置,如智能体数量、每页物品数、最大浏览页数、并行模式等。

使用方式:

  1. 准备环境:
    • 安装 requirements.txt。建议设置虚拟环境并手动安装 PyTorch。实验测试于 Python 3.9.12 与 PyTorch 1.13.1+cu117。Python 版本高于 3.10 可能导致 'reckit' 包出现 bug。
    • 安装必要环境:进入 recommenders/ 目录(包含 setup.py)运行相关代码,安装加速推荐评估所需的工具。
  2. 运行模拟:
    • 确保位于主目录(包含 main.py),导出 OpenAI API 密钥:export OPENAI_API_KEY=<Your OpenAI API key>,将 <Your OpenAI API key> 替换为自己的 OpenAI API 密钥。
    • 运行以下命令可启动包含 3 个智能体的玩具模拟,智能体对推荐物品的响应将打印在终端,约 3 分钟完成。
    • 支持多种推荐系统和配置:例如运行命名 MyExp 的模拟,10 个智能体,每个智能体最多浏览 5 页,每页 4 个物品,推荐器使用 MF,实验以并行模式加速。可通过修改 --modeltype <model_name> 选择推荐器。
  3. 查看结果:
    • 模拟结果保存在 storage/ml-1m/<model_name>/<experiment_name> 目录。例如上述命令结果保存在 storage/ml-1m/MyExp 目录。智能体 0 的所有交互历史记录在 storage/ml-1m/MF/MyExp/running_logs/0.txt。

模拟成本: 所有实验由 ChatGPT-3.5 驱动,涉及 1000 个用户的完整模拟成本约为 16 美元(每用户 0.016 美元)。