Embedding

beginner
Core ConceptsLast updated: 2025-01-15
Also known as: vector embedding, text embedding, semantic embedding

What is an Embedding?


An embedding is a numerical representation of data (text, images, etc.) as a vector of floating-point numbers. Embeddings capture semantic meaning, allowing similar concepts to have similar vector representations.


Why Embeddings Matter


Embeddings enable:


  • Semantic similarity search
  • Clustering related content
  • Efficient storage and retrieval
  • Cross-modal comparisons
  • Machine learning inputs

  • How Embeddings Work


    The embedding process:


    1. Input text is processed by an embedding model

    2. Model outputs a fixed-size vector (e.g., 1536 dimensions)

    3. Vector captures semantic meaning of the input

    4. Similar texts produce similar vectors


    Embedding Models


    Popular embedding models:


  • **OpenAI text-embedding-3**: High quality, easy API
  • **Cohere Embed**: Multilingual support
  • **Voyage AI**: Domain-specific options
  • **sentence-transformers**: Open-source models
  • **E5/BGE**: Open-source, competitive quality

  • Embedding Dimensions


    Common embedding sizes:


  • 384 dimensions (small models)
  • 768 dimensions (BERT-sized)
  • 1536 dimensions (OpenAI)
  • 3072 dimensions (large models)

  • Higher dimensions generally capture more nuance but require more storage.


    Similarity Metrics


    Measuring embedding similarity:


  • **Cosine Similarity**: Most common, ignores magnitude
  • **Dot Product**: Includes magnitude information
  • **Euclidean Distance**: Geometric distance

  • Use Cases in Agent Memory


    Embeddings enable memory operations:


  • Find memories similar to current context
  • Cluster related conversations
  • Detect duplicate information
  • Match user queries to stored knowledge
  • Build semantic search over history

  • Best Practices


    Tips for working with embeddings:


  • Use the same model for indexing and querying
  • Consider domain-specific models for specialized content
  • Normalize vectors for cosine similarity
  • Chunk long texts appropriately
  • Monitor embedding quality over time

  • Related Terms