stanford-futuredata/colbert

ColBERT: state-of-the-art neural search (SIGIR'20, TACL'21, NeurIPS'21, NAACL'22, CIKM'22, ACL'23, EMNLP'23)

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 30 minutes ago
Added to GitGenius on September 17th, 2026
Created on May 25th, 2020
Open Issues & Pull Requests: 105 (+0)
GitHub issues: Enabled
Number of forks: 476
Total Stargazers: 3,936 (+0)
Total Subscribers: 46 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 20.9 days
Mean response time: 89.1 days
90th percentile: 266.1 days
Tracked items: 42

Most active contributors

Sign in to see contributor activity.

How this project is maintained

100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 75% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 31
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 762 days
Stale 30+ days: 31
Stale 90+ days: 31

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

ColBERT is a neural retrieval model that enables fast, accurate search over large text collections using BERT-based embeddings.

ColBERT addresses the challenge of scaling semantic search to large corpora while maintaining high relevance quality. Traditional single-vector representation models sacrifice either speed or accuracy when applied to massive datasets. ColBERT solves this through contextualized late interaction: it encodes each passage as a matrix of token-level embeddings rather than a single vector, then at search time embeds queries similarly and uses efficient MaxSim operators to find contextually matching passages. This fine-grained token-level matching allows the model to capture rich semantic interactions while remaining scalable enough to search large collections in tens of milliseconds.

ColBERT suits teams building retrieval systems where both speed and ranking quality matter. It works well for open-domain question answering, passage ranking, and information retrieval applications that need to search substantial text corpora. The tool is particularly valuable when single-vector dense retrievers prove insufficiently accurate but traditional sparse methods are too slow. The project maintains multiple versions: the original ColBERTv1 is available in a separate branch, while the current version includes features like index updating and support for additional Hugging Face models. Installation is straightforward through pip or conda, with the tool requiring Python 3.7 or later and PyTorch 1.9 or later.

The project maintains active engagement with its user community through documentation and integration points. The README explicitly highlights RAGatouille as a semi-official library for using ColBERT in applications. The codebase has incorporated user feedback on new features like the index updater, which the maintainers note are in beta. The project also connects to related Stanford work, directing users to the DSPy framework for composing retrievers like ColBERT with language models.