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