CRSLab  by RUCAIBox

Open-source toolkit for conversational recommender systems (CRS)

created 4 years ago
537 stars

Top 59.9% 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

1 year ago

Responsiveness

Inactive

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

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), Georgios Konstantopoulos Georgios Konstantopoulos(CTO, General Partner at Paradigm), and
2 more.

maestro by roboflow

0.1%
3k
CLI/SDK for fine-tuning multimodal models
created 1 year ago
updated 6 days ago
Starred by Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), Nathan Lambert Nathan Lambert(AI Researcher at AI2), and
1 more.

tianshou by thu-ml

0.1%
9k
PyTorch RL library for algorithm development and application
created 7 years ago
updated 2 days ago
Starred by Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), Thomas Wolf Thomas Wolf(Cofounder of Hugging Face), and
1 more.

stable-baselines3 by DLR-RM

0.5%
11k
PyTorch library for reinforcement learning algorithm implementations
created 5 years ago
updated 1 week ago
Feedback? Help us improve.