finds.dev← search

// the find

RUCAIBox/RecBole

★ 4,523 · Python · MIT · updated Feb 2025

A unified, comprehensive and efficient recommendation library

RecBole is a PyTorch-based research framework for recommender systems from Renmin University of China, implementing 94 algorithms across collaborative filtering, sequential, CTR prediction, and knowledge-graph-based recommendation. It's aimed squarely at researchers who need reproducible baselines — not practitioners building production systems. If you're writing a RecSys paper and need to benchmark against SASRec, LightGCN, or KGAT without reimplementing them, this is the tool.

The breadth is genuinely impressive: 94 models under one unified training loop with shared data preprocessing and evaluation protocols means apples-to-apples comparisons that are otherwise painful to reproduce. The published hyperparameter configs for 94 models on standard datasets (ml-1m, Amazon Books, Yelp) save days of tuning time. Multi-GPU and mixed-precision training landed in v1.2, which matters for GNN-based models that choke on a single card. The atomic file format (.inter, .item, .user) is a clean abstraction that handles sparse interaction data without forcing you into a specific storage backend.

The last meaningful commit was February 2025 and activity has been sparse for over a year — the project is maintained by a rotating cast of PhD students, which creates obvious continuity risk. LLM-based recommendation (LLM4Rec, SLMRec, etc.) is entirely absent from the core library; RecBole2.0 extensions partially fill this gap but they're separate repos with their own maintenance state. The custom data format means you'll spend non-trivial time converting any real dataset before you can run anything. And the framework is research-only by design — there's no serving layer, no online inference path, and no obvious route from 'trained model in RecBole' to 'predictions in a production system'.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →