A Fun & Absurd Introduction to Vector Databases • Alexander Chatzizacharias • GOTO 2024

Ai

Explore vector databases through a fun lens! Learn about embeddings, semantic search, and real-world AI applications in this approachable guide to vector DBs and their features.

Key takeaways
  • Vector databases are purpose-built databases optimized for storing and querying high-dimensional vectors, primarily used as backing storage for AI systems

  • Vectors are mathematical constructs (arrays of numbers) with specific dimensionality that can represent text, images, audio and other data types through embedding models

  • Key vector database features:

    • Semantic search capabilities
    • Distance/similarity metrics (cosine, euclidean, etc.)
    • Efficient indexing algorithms like hierarchical navigable small worlds
    • Cross-modal search (find images using text queries and vice versa)
  • Embedding models convert data into vectors:

    • Text embeddings (BERT, etc.)
    • Image embeddings (CLIP, ResNet)
    • Audio embeddings (Whisper)
    • Results are consistent - same input always produces same vector output
  • Vector database landscape:

    • Open source options: PostgreSQL+pgvector, Milvus, Weaviate
    • Closed source/managed services: Pinecone, Azure Vector Search, AWS
    • Most provide Python clients, some offer REST APIs
    • Built-in embedding options available in some databases
  • Best practices:

    • Consider vector dimensions and distance metrics
    • Split large text into smaller segments
    • Be aware of context limitations
    • Writing to vector DBs is relatively slow
    • Results are approximate but semantically relevant
  • Real-world applications:

    • Semantic search
    • Image similarity
    • Audio matching
    • Cross-modal search
    • AI/LLM backing storage