Skip to main content

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 the BaseEmbedding 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:
Batch options:
  • logProgress: Log progress to console
  • progressCallback: Custom progress handler
  • logger: Custom logger instance
Automatic batching: Embeddings are automatically batched according to embedBatchSize (default: 10) to optimize API calls:

Similarity Calculation

Compare embeddings to measure semantic similarity:
Similarity types:
  • SimilarityType.DEFAULT - Cosine similarity (recommended)
  • SimilarityType.EUCLIDEAN - Euclidean distance
  • SimilarityType.DOT_PRODUCT - Dot product

Supported Embedding Models

LlamaIndex.TS supports embeddings from multiple providers:

OpenAI

Available models:
  • text-embedding-3-small: 1536 dims, best performance/cost ratio
  • text-embedding-3-large: 3072 dims, highest quality
  • text-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

Progress Tracking

Custom Dimensions (OpenAI)

Best Practices

  • 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
Always use batch methods for multiple texts:
Embeddings are deterministic - cache them to avoid re-computing:
Use batch size and retries for large datasets:
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