CRSLab  by RUCAIBox

Open-source toolkit for conversational recommender systems (CRS)

Created 5 years ago
552 stars

Top 57.8% on SourcePulse

GitHubView on GitHub
Project Summary

CRSLab is an open-source Python toolkit for building Conversational Recommender Systems (CRS). It provides researchers and developers with a unified, extensible framework to experiment with and develop CRS models, offering comprehensive benchmarks, standardized evaluation protocols, and human-machine interaction interfaces.

How It Works

CRSLab unifies CRS development by abstracting tasks into three sub-tasks: recommendation (item suggestion), conversation (response generation), and policy (interaction strategy selection). It leverages PyTorch and supports various model architectures, including graph neural networks (e.g., R-GCN) and pre-trained models (e.g., BERT, GPT-2), enabling researchers to integrate and compare diverse approaches within a consistent structure.

Quick Start & Requirements

  • Install: pip install crslab or install from source.
  • Prerequisites: Python 3.7+, PyTorch 1.8+, CUDA 10.2+ (for GPU). PyTorch Geometric installation is also required.
  • Run: python run_crslab.py --config config/crs/kgsf/redial.yaml (CPU default, specify GPU with --gpu).
  • Docs: CRSLab Paper, Docs, 中文版

Highlighted Details

  • Integrates 18 benchmark models across CRS, Recommendation, Conversation, and Policy categories.
  • Supports 6 preprocessed datasets (e.g., ReDial, TG-ReDial) with associated Knowledge Graphs.
  • Implements standard evaluation metrics for recommendation (Hit, MRR, NDCG) and conversation (BLEU, PPL, Distinct).
  • Offers flexible human-machine interaction interfaces for qualitative analysis.

Maintenance & Community

  • Developed and maintained by the AI Box group at RUC.
  • Contributions are welcomed via issue tracker and pull requests.

Licensing & Compatibility

  • MIT License. Permissive for commercial use and integration into closed-source projects.

Limitations & Caveats

The provided performance benchmarks are preliminary and may not represent optimal model tuning. The library requires specific PyTorch and CUDA versions, potentially necessitating environment management.

Health Check
Last Commit

2 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
0 stars in the last 30 days

Explore Similar Projects

Starred by Elie Bursztein Elie Bursztein(Cybersecurity Lead at Google DeepMind), Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), and
3 more.

parlant by emcie-co

0.2%
18k
Conversation modeling engine for deliberate agentic UX
Created 2 years ago
Updated 1 day ago
Feedback? Help us improve.