If you find our work useful, please consider giving us a star🌟
- Code Release
- Paper Release
- Datasets
- Customized Retrieval-Augmented Generation with LLM for Debiasing Recommendation Unlearning
CRAGRU is a unified framework that integrates RAG (Retrieval-Augmented Generation), Large Language Models (LLMs), and Recommendation Unlearning.
It enables:
- User-level and item-level unlearning
- Debiasing through controlled prompt design
- LLM-based recommendation generation
- Comparison and fusion with traditional recommender models
- Dataset clustering, DP strategy exploration, knapsack optimization, and more
The framework is modular, reproducible, and designed for flexible experimentation.
🔍 RAG-Enhanced LLM Recommendation Structured prompt design ensures controlled and interpretable LLM reasoning.
🧹 Efficient Recommendation Unlearning Supports flexible removal of user interactions or item histories.
📈 Dataset Analytics Suite Includes clustering, statistical analysis, and knapsack-based optimization.
🧩 Modular Architecture Every stage can be swapped or extended easily for research purposes.
DRAGRU works with the following operating systems:
- Linux
- Windows 10
- macOS X
DRAGRU requires Python version 3.10.12 or later.
DRAGRU requires torch version 2.5.1 or later. If you want to use DRAGRU with GPU,
pip install -r requirements.txtDownload GoogleNews-vectors-negative300.bin and put it in the library file of your python directory
Below is the complete DRAGRU workflow, including one-sentence explanations and directly runnable commands.
Description: Splits the dataset into the forget set and remain set, which serve as the foundation for all downstream unlearning tasks.
python DRAGRU/movie-lens/dataset_split.py2️⃣ Item Clustering
Description: Performs item clustering using K-means + Word2Vec to provide semantic grouping for DP strategies and prompt construction.
python DRAGRU/movie-lens/statistics/item_cluster.py3️⃣ Construct LLM Prompts
Description: Creates prompt files based on the remain set, serving as structured input for LLM-based recommendation.
python DRAGRU/movie-lens/data_preprocess_unlearning.py4️⃣ Run LLM Recommendation
Description: Generates recommendation results using a large language model, with optional fallback to traditional models.
python DRAGRU/movie-lens/llm_recommender.py --input prompt_file.json5️⃣ Evaluate Results
Description: Computes evaluation metrics using the recommendation results from the previous step.
python DRAGRU/movie-lens/evaluation.py --input recommender_output.jsonContributions, suggestions, and pull requests are welcome. Feel free to ask for improvements (README, visualization, scripts, etc.).
Please consider ⭐ starring the repository — it's the best way to support this project.
@article{zhang2025customized,
title={Customized Retrieval-Augmented Generation with LLM for Debiasing Recommendation Unlearning},
author={Zhang, Haichao and Zhang, Chong and Hu, Peiyu and Qiu, Shi and Wang, Jia},
journal={arXiv preprint arXiv:2511.05494},
year={2025}
}
