Skip to main content

Embedders Reference

Embedders convert text chunks into vector representations for semantic search. LlamaFarm supports multiple embedding providers to match your infrastructure and requirements.

Quick Start​

Embedders are configured within embedding_strategies in your database definition:

rag:
databases:
- name: my_database
embedding_strategies:
- name: default_embeddings
type: OllamaEmbedder
config:
model: nomic-embed-text

UniversalEmbedder​

Flexible embedder that works with Ollama and falls back to HuggingFace models.

Best for: Most use cases, automatic model management

- name: default_embeddings
type: UniversalEmbedder
config:
model: nomic-ai/nomic-embed-text-v2-moe
base_url: http://localhost:11434
dimension: 768

Options​

OptionTypeDefaultRequiredDescription
modelstringnomic-ai/nomic-embed-text-v2-moeNoHuggingFace model ID
base_urlstringhttp://localhost:11434NoOllama API endpoint
dimensioninteger768NoEmbedding dimension (128-4096)
batch_sizeinteger16NoBatch processing size (1-128)
timeoutinteger60NoRequest timeout in seconds

OllamaEmbedder​

Native Ollama embedder with auto-pull support.

Best for: Ollama-based deployments, local inference

- name: ollama_embeddings
type: OllamaEmbedder
config:
model: nomic-embed-text:latest
base_url: http://localhost:11434
auto_pull: true

Options​

OptionTypeDefaultRequiredDescription
modelstringnomic-embed-textNoOllama model name
base_urlstringhttp://localhost:11434NoOllama API endpoint
dimensioninteger768NoEmbedding dimension (128-4096)
batch_sizeinteger16NoBatch processing size (1-128)
timeoutinteger60NoRequest timeout in seconds
auto_pullbooleantrueNoAuto-pull missing models
# Pull embedding models
ollama pull nomic-embed-text # 768 dim, general purpose
ollama pull mxbai-embed-large # 1024 dim, higher quality
ollama pull all-minilm # 384 dim, fast

HuggingFaceEmbedder (Coming Soon)​

Coming Soon

HuggingFaceEmbedder is planned but not yet implemented. Use UniversalEmbedder or OllamaEmbedder instead.

Direct HuggingFace model loading with GPU/MPS support.

Best for: Custom models, GPU acceleration, offline use

- name: hf_embeddings
type: HuggingFaceEmbedder
config:
model_name: sentence-transformers/all-MiniLM-L6-v2
device: auto
normalize_embeddings: true

Planned Options​

OptionTypeDefaultRequiredDescription
model_namestringsentence-transformers/all-MiniLM-L6-v2NoHuggingFace model ID
devicestringautoNocpu, cuda, mps, or auto
batch_sizeinteger32NoBatch size (1-256)
normalize_embeddingsbooleantrueNoL2 normalize embeddings
show_progress_barbooleanfalseNoShow progress bar
cache_folderstringnullNoModel cache directory
ModelDimensionsSpeedQuality
all-MiniLM-L6-v2384FastGood
all-mpnet-base-v2768MediumHigh
BAAI/bge-base-en-v1.5768MediumHigh
BAAI/bge-large-en-v1.51024SlowHighest

SentenceTransformerEmbedder (Coming Soon)​

Coming Soon

SentenceTransformerEmbedder is planned but not yet implemented. Use UniversalEmbedder or OllamaEmbedder instead.

Sentence Transformers library integration.

Best for: Sentence-level embeddings, specialized models

- name: st_embeddings
type: SentenceTransformerEmbedder
config:
model_name: sentence-transformers/all-MiniLM-L6-v2
device: cpu

Planned Options​

OptionTypeDefaultRequiredDescription
model_namestringsentence-transformers/all-MiniLM-L6-v2NoModel name
devicestringcpuNocpu, cuda, or mps

OpenAIEmbedder (Coming Soon)​

Coming Soon

OpenAIEmbedder is planned but not yet implemented. Use UniversalEmbedder or OllamaEmbedder instead.

OpenAI embedding API integration.

Best for: OpenAI API users, high-quality embeddings

- name: openai_embeddings
type: OpenAIEmbedder
config:
model: text-embedding-3-small
api_key: ${OPENAI_API_KEY}

Options​

OptionTypeDefaultRequiredDescription
modelstringtext-embedding-3-smallNoOpenAI embedding model
api_keystring-YesOpenAI API key
base_urlstringnullNoCustom API base URL
organizationstringnullNoOpenAI organization ID
batch_sizeinteger100NoBatch size (1-2048)
max_retriesinteger3NoMaximum retry attempts
timeoutinteger60NoRequest timeout in seconds

Available Models​

ModelDimensionsMax TokensUse Case
text-embedding-3-small15368191Cost-effective
text-embedding-3-large30728191Highest quality
text-embedding-ada-00215368191Legacy

Multiple Embedding Strategies​

Configure multiple embedders for different content types:

embedding_strategies:
- name: general
type: OllamaEmbedder
config:
model: nomic-embed-text
priority: 0

- name: code
type: HuggingFaceEmbedder
config:
model_name: microsoft/codebert-base
condition: "doc.type == 'code'"
priority: 1

default_embedding_strategy: general

Dimension Matching​

Ensure embedding dimensions match your vector store configuration:

databases:
- name: my_db
type: ChromaStore
config:
embedding_dimension: 768 # Must match embedder output

embedding_strategies:
- name: default
type: OllamaEmbedder
config:
model: nomic-embed-text
dimension: 768 # Match store dimension

Next Steps​