candding

Roadmap

The families candding adds phase by phase, the output modes and quantized variants each model offers, and the runtime work around the catalog.

A phase is verified when its family has an implementation, golden references, parity on the supported backends, a family page and a regenerated catalog, which has every model's status per device and dtype.

PhaseFamilyExample modelsStatus
0BERT13 models: bge (4), MiniLM (2), gte (2), mixedbread-ai/mxbai-embed-large-v1, Snowflake Arctic (4)verified
1Qwen3Qwen/Qwen3-Embedding-0.6B, 4B, 8Bverified
1Gemma3google/embeddinggemma-300mverified
2XLM-RoBERTaintfloat/multilingual-e5-large, base, BAAI/bge-m3, sentence-transformers/paraphrase-multilingual-mpnet-base-v2verified
2BERTintfloat/multilingual-e5-small, a BERT checkpoint by its own model_typeverified
2MPNetsentence-transformers/all-mpnet-base-v2verified
2JinaBERTjinaai/jina-embeddings-v2-small-en, base-en, base-de, base-es, base-zh, base-codeverified
2NomicBERTnomic-ai/nomic-embed-text-v1, v1.5, Snowflake/snowflake-arctic-embed-m-longverified
2ModernBERTAlibaba-NLP/gte-modernbert-baseverified
2GTE (new)Alibaba-NLP/gte-multilingual-base, gte-base-en-v1.5verified
3Sparseprithivida/Splade_PP_en_v1, BAAI/bge-m3, naver/splade-code-06B, Qdrant/minicoil-v1, Qdrant/all_miniLM_L6_v2_with_attentions, Qdrant/bm25verified
4Multi-vector and late interactionBAAI/bge-m3, colbert-ir/colbertv2.0, answerdotai/answerai-colbert-small-v1, jinaai/jina-colbert-v2verified
5Rerankerscross-encoder/ms-marco-MiniLM-L6-v2, jinaai/jina-reranker-v1-tiny-en, BAAI/bge-reranker-base, bge-reranker-v2-m3, Qwen/Qwen3-Reranker-0.6B, 4B, 8B, jinaai/jina-reranker-v2-base-multilingualverified
6Image and othersopenai/clip-vit-base-patch32, jinaai/jina-clip-v1, vidore/colpali-v1.3, sentence-transformers/sentence-t5-base, gtr-t5-base, jinaai/jina-embeddings-v3, Qwen/Qwen3-Embedding-0.6B-GGUFplanned
7ConstellaNovaSearch/stella_en_400M_v5 as the document side, Qdrant/constella-zero, Qdrant/constella-nanoplanned

Planned phases

  • Phase 6 will add image input, so that text queries can search images and document pages: openai/clip-vit-base-patch32, then jinaai/jina-clip-v1, then vidore/colpali-v1.3, which embeds a page as one vector per patch. It will also add the two T5 encoders, jinaai/jina-embeddings-v3 with its five task adapters, kept out of CI by its CC-BY-NC licence, and Qwen/Qwen3-Embedding-0.6B-GGUF through the quantized path.
  • Phase 7 will add Qdrant's MIT-licensed Constella family: a document encoder and two query encoders writing into one normalized space, so that a collection indexed once with the document side can be searched with either query side. Qdrant/constella-nano will land once its weights are published as safetensors rather than ONNX.
  • ResNet50 and the Unicom ViT models are not planned, since they are published only as ONNX graphs.

Output modes

Every shipped model offers one output, except the first four below; a dash means the model does not offer that output.

ModelDenseSparseMulti-vectorRerankImage
BAAI/bge-m3shipsshipsships——
sentence-transformers/all-MiniLM-L6-v2shipsships, BM42———
jinaai/jina-embeddings-v2-small-enshipsships, miniCOIL———
Alibaba-NLP/gte-multilingual-baseshipsplanned———
openai/clip-vit-base-patch32, jinaai/jina-clip-v1planned———planned
vidore/colpali-v1.3——planned—planned
every other phase 6 and 7 modelplanned————

gte-multilingual-base's sparse output is a token-classification head that only the repository's own script uses; see GTE (new).

Quantized weights

Planned after the remaining output modes: a quantized loading path for every model with published quantized weights, from the vendor or a well-known community conversion, verified against the model's F32 reference at a tolerance of its own. Only the matmul projections will run quantized.

Published quantized weightsModels
Official GGUFQwen/Qwen3-Embedding-0.6B, 4B and 8B, nomic-ai/nomic-embed-text-v1 and v1.5
Official quantization-aware safetensors, gatedgoogle/embeddinggemma-300m, q4_0 and q8_0, with GGUF conversions from ggml-org
Community GGUF onlyevery other catalog model with weights, except the four below
NoneAlibaba-NLP/gte-multilingual-base, naver/splade-code-06B, answerdotai/answerai-colbert-small-v1, jinaai/jina-colbert-v2

candle reads the classic GGML types and the k-quants but neither the IQ nor the TQ types, and a GGUF of BAAI/bge-m3 carries neither side head, so its quantized path will be dense only.

Other open work

ItemWhat it is and whyStatus
Pipelines around the catalogchunking, document parsing and vector-database inserts, from documents to a populated collectionplanned last
Videothe image models over frames the caller samples, the frame vectors pooled or kept as a multi-vectorafter the image models
Audioa CLAP-style encoder, or Whisper transcription then text embedding; which one is openinvestigating
Late chunkingone pass over a long document, its token states pooled per chunk, so each chunk keeps the whole document's contextplanned
Static embeddingsmodel2vec-style lookup tables with mean pooling and no attention; Qdrant/constella-zero is the firstplanned
Servers and hosted endpointsa network service is a different product from a libraryout of scope
Large-model runsF32 of Qwen/Qwen3-Reranker-4B, Qwen3-Embedding-8B and Qwen3-Reranker-8B, and the 8B reranker's Metal F16, all waiting for a machine with the memoryplanned
Half precision on the CPUan F32-accumulating F16 path and a BF16 upcast, to lift the half-precision refusals on the CPUinvestigating
Long inputs and flash attention on CUDAchunked attention, and flash attention as a third kernel, to lift the Qwen3 models' 8192-token default that quadratic attention memory setsplanned
CUDA verificationF32 and F16 are verified on an NVIDIA T4 for every entry but the cells testing lists; BF16 waits for a GPU of sm_80 or newer, and the 4B and 8B models' larger cells for one with more memoryin progress
CUDA wheels for Pythona candding-cu12 package for Linux x86-64, built for sm_80 and newer with NVIDIA's CUDA 12 runtime packages as dependencies, so pip install needs only the driver; today CUDA from Python takes a source buildplanned
Benchmarks pagerelease-build numbers per model, device and batch sizeplanned

On this page