Roadmap
The families candding adds phase by phase, what each phase brings, and the work planned around the catalog.
The phases are ordered by what a retrieval stack needs first: the dense encoders that ship today, then the decoder-based embedders that lead the multilingual benchmarks, which is why Qwen3-Embedding and EmbeddingGemma come before the remaining encoder families, the rerankers, the sparse and late-interaction models, and the image models. A phase lands as a family implementation, golden references, parity on the supported backends, a family page and a regenerated catalog.
| Phase | Family | Example models | Status |
|---|---|---|---|
| 0 | BERT | the 13 catalog models | verified |
| 1 | Qwen3 | Qwen/Qwen3-Embedding-0.6B, 4B, 8B | planned |
| 1 | Gemma3 | google/embeddinggemma-300m | planned |
| 2 | XLM-RoBERTa | intfloat/multilingual-e5-large, base, small, BAAI/bge-m3 | planned |
| 2 | MPNet | sentence-transformers/paraphrase-multilingual-mpnet-base-v2, all-mpnet-base-v2 | planned |
| 2 | JinaBERT | jinaai/jina-embeddings-v2-small-en, base-en, base-de, base-es, base-zh, base-code | planned |
| 2 | NomicBERT | nomic-ai/nomic-embed-text-v1, v1.5, Snowflake/snowflake-arctic-embed-m-long | planned |
| 2 | ModernBERT | Alibaba-NLP/gte-modernbert-base | planned |
| 2 | GTE (new) | Alibaba-NLP/gte-multilingual-base, gte-base-en-v1.5 | planned |
| 3 | Rerankers | cross-encoder/ms-marco-MiniLM-L-6-v2, BAAI/bge-reranker-base, bge-reranker-v2-m3, jinaai/jina-reranker-v1-tiny-en, Qwen/Qwen3-Reranker-0.6B, 4B, 8B, jinaai/jina-reranker-v2-base-multilingual | planned |
| 4 | Sparse | prithivida/Splade_PP_en_v1, Qdrant/bm25, Qdrant/bm42-all-minilm-l6-v2-attentions, Qdrant/minicoil-v1, BAAI/bge-m3 sparse | planned |
| 5 | Late interaction | colbert-ir/colbertv2.0, answerdotai/answerai-colbert-small-v1, jinaai/jina-colbert-v2, vidore/colpali-v1.3 | planned |
| 6 | Image and others | openai/clip-vit-base-patch32, jinaai/jina-clip-v1, ResNet50, Unicom ViT-B/16 and B/32, sentence-transformers/sentence-t5-base, gtr-t5-base, jinaai/jina-embeddings-v3, Qwen3-Embedding GGUF | planned |
Phase 0, the catalog's first family, is BERT: one architecture behind every model shipped today. Phase 1 brings the two decoder-based families the project exists for, with last-token pooling, instruction templates and Matryoshka truncation, all of which the pipeline already supports. Phase 2 is the rest of the encoders, each with its own position scheme. Phases 3 to 6 widen the API surface rather than the encoder list: reranking, sparse and late-interaction vectors, and image embeddings.
Also planned
- CUDA verification for the catalog, which is what the
cudacolumn of the catalog table is waiting for; the models are expected to pass, and the column staysuntesteduntil a run says so. - Flash attention on CUDA, as a third kernel behind the one attention function, in the same place candle's Metal kernel is chosen today.
- A benchmarks page with numbers from release builds, per model, device and batch size.
- Publication on crates.io, which is what turns the git dependency in getting started into a version requirement.