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.