ractogateway.rag.embedders
RAG embedding providers.
- class ractogateway.rag.embedders.BaseEmbedder[source]
Bases:
ABCEmbed a list of texts into dense float vectors.
All embedders implement both sync
embed()and asyncaembed()variants. The dimension of returned vectors is declared via thedimensionproperty (-1if unknown until the first call).- property dimension: int
Dimensionality of the embedding vectors.
Returns
-1if not known until after the first call.
- abstractmethod embed(texts)[source]
Embed texts synchronously.
- class ractogateway.rag.embedders.GoogleEmbedder(model='text-embedding-004', *, api_key=None, task_type=None, batch_size=100)[source]
Bases:
BaseEmbedderEmbed texts using the Google Gemini Embeddings API.
- Parameters:
model (
str) – Gemini embedding model (default"text-embedding-004").api_key (
str|None) – Gemini API key. Falls back toGEMINI_API_KEYenv var.task_type (
str|None) – Gemini task type hint (e.g."RETRIEVAL_DOCUMENT","RETRIEVAL_QUERY").Nonelets the API decide.batch_size (
int) – Maximum number of texts per API call.
- property dimension: int
Dimensionality of the embedding vectors.
Returns
-1if not known until after the first call.
- embed(texts)[source]
Embed texts synchronously.
- class ractogateway.rag.embedders.OpenAIEmbedder(model='text-embedding-3-small', *, api_key=None, base_url=None, dimensions=None, batch_size=256)[source]
Bases:
BaseEmbedderEmbed texts using the OpenAI Embeddings API.
- Parameters:
model (
str) – OpenAI embedding model (default"text-embedding-3-small").api_key (
str|None) – OpenAI API key. Falls back toOPENAI_API_KEYenv var.base_url (
str|None) – Custom base URL (Azure OpenAI or proxy).dimensions (
int|None) – Override output dimensionality (supported fortext-embedding-3-*).batch_size (
int) – Maximum number of texts per API call.
- property dimension: int
Dimensionality of the embedding vectors.
Returns
-1if not known until after the first call.
- embed(texts)[source]
Embed texts synchronously.
- class ractogateway.rag.embedders.VoyageEmbedder(model='voyage-3', *, api_key=None, input_type='document', batch_size=128)[source]
Bases:
BaseEmbedderEmbed texts using the Voyage AI API.
Voyage AI embeddings are optimised for Anthropic Claude RAG pipelines and are the recommended choice when using Claude as the generation LLM.
- Parameters:
model (
str) – Voyage model name (default"voyage-3").api_key (
str|None) – Voyage API key. Falls back toVOYAGE_API_KEYenv var.input_type (
str|None) –"query"for queries,"document"for documents to index. Using the correct type improves retrieval quality.batch_size (
int) – Maximum texts per API call.
- property dimension: int
Dimensionality of the embedding vectors.
Returns
-1if not known until after the first call.
- embed(texts)[source]
Embed texts synchronously.