Overview
Embeddings convert text into numerical vectors that capture semantic meaning. LlamaIndex.TS uses embeddings for:- Semantic search: Finding similar documents based on meaning, not just keywords
- RAG (Retrieval-Augmented Generation): Retrieving relevant context for LLM queries
- Clustering and classification: Grouping similar texts together
- Similarity comparison: Measuring how related two pieces of text are
BaseEmbedding Interface
All embedding models in LlamaIndex.TS extend theBaseEmbedding class from @llamaindex/core/embeddings:
Embedding Info
Embedding models expose metadata about their capabilities:Generating Embeddings
Single Text Embedding
Embed a single piece of text:Multiple Text Embeddings
Embed multiple texts efficiently:Query Embeddings
Embed queries for semantic search:getQueryEmbedding accepts MessageContentDetail types, making it compatible with multi-modal queries.Batch Processing
For large datasets, use batch processing with automatic chunking:logProgress: Log progress to consoleprogressCallback: Custom progress handlerlogger: Custom logger instance
embedBatchSize (default: 10) to optimize API calls:
Similarity Calculation
Compare embeddings to measure semantic similarity:SimilarityType.DEFAULT- Cosine similarity (recommended)SimilarityType.EUCLIDEAN- Euclidean distanceSimilarityType.DOT_PRODUCT- Dot product
Supported Embedding Models
LlamaIndex.TS supports embeddings from multiple providers:OpenAI
text-embedding-3-small: 1536 dims, best performance/cost ratiotext-embedding-3-large: 3072 dims, highest qualitytext-embedding-ada-002: Legacy model, 1536 dims
Google Gemini
Voyage AI
HuggingFace
Ollama (Local)
Cohere
Jina AI
Mixedbread
Using Embeddings with Vector Stores
Embeddings are typically used with vector stores for retrieval:Embedding Nodes
Embed document nodes for indexing:Examples
Semantic Search
Progress Tracking
Custom Dimensions (OpenAI)
Best Practices
Choose the right model
Choose the right model
- OpenAI text-embedding-3-small: Best balance of quality and cost
- OpenAI text-embedding-3-large: Highest quality, more expensive
- Voyage AI: Excellent for domain-specific tasks
- Local (Ollama): Privacy-focused, no API costs
Batch for efficiency
Batch for efficiency
Always use batch methods for multiple texts:
Cache embeddings
Cache embeddings
Embeddings are deterministic - cache them to avoid re-computing:
Handle rate limits
Handle rate limits
Use batch size and retries for large datasets:
Normalize input text
Normalize input text
Clean and normalize text before embedding:
Multi-Modal Embeddings
Some providers support multi-modal embeddings:CLIP (Images + Text)
Next Steps
LLMs
Learn about language models and chat interfaces
Providers
Explore all available embedding providers