Skip to main content
Ragrails ships with Voyage embeddings and Voyage/BM25 reranking. Register your own to use a provider it doesn’t bundle.

Register an embedder

from ragrails.models.embedder.registry import register_embedder

register_embedder(
    "my-provider",
    my_embedder_factory,          # callable returning an embedder instance
    default_model="my-model",
    models=("my-model", "my-model-large"),
)

Register a reranker

from ragrails.models.reranker.registry import register_reranker

register_reranker(
    "my-reranker",
    my_reranker_factory,
    default_model="my-model",
    models=("my-model",),
)
Once registered, use them anywhere a provider name is accepted:
embedder = rag.embedder(provider="my-provider", model="my-model")
reranker = rag.reranker(provider="my-reranker", model="my-model")
Register providers once at startup, before you create embedders or rerankers.
Reference: Built-in providers.