Skip to main content
Create an embedder object with embedder(), then pass it to embed().
pip install "ragrails[voyage]"
from ragrails import RagRails

rag = RagRails()

embedder = rag.embedder(provider="voyage", model="voyage-3", input_type="document")

result = rag.embed(
    chunks=chunk_result.items,  # list of chunk dicts from rag.chunk()
    embedder=embedder,
    batch_size=64,
)

result.inputs    # chunks passed in
result.embedded  # chunks successfully embedded
result.items     # chunk dicts with an added "embedding" vector field
result.failed    # failed chunks
result.errors    # list of error dicts

embedder() parameters

ParameterDefaultDescription
provider"voyage"Embedding provider ("voyage")
model"voyage-3"Model name
input_type"document""document" for indexing, "query" for retrieval
optionsNoneProvider-specific options dict

embed() parameters

ParameterDefaultDescription
chunksrequiredList of chunk dicts; each must have id and text
embedderrequiredEmbedder object from rag.embedder()
batch_size64Chunks per embedding API request

Supported providers

ProviderExtraModels
Voyageragrails[voyage]voyage-3 (default), voyage-3-lite, voyage-3-large
Bring your own provider with register_embedder(). See extending providers.