Portfolio
Back to Engineering Notes
Design DecisionsFebruary 5, 2024

Implementing Vector Search for Content

Adding semantic search to AuthorAI using vector embeddings, and the tradeoffs involved.

I added vector search to enable semantic content discovery in AuthorAI.

Why Vector Search: - Keyword search misses semantic relationships - Users search by intent, not exact keywords - Better user experience for content discovery

Implementation: - Generate embeddings for all content using OpenAI embeddings API - Store in vector database (Pinecone) - Query with user search term embedding - Return top K similar results

Tradeoffs: - Additional infrastructure cost (vector DB) - Embedding generation adds latency to content creation - Requires careful index management

Performance: - Search latency: ~200ms (acceptable) - Index update latency: ~500ms per content item - Cost: ~$0.0001 per embedding

What I'd change: Consider using pgvector (PostgreSQL extension) instead of separate vector DB to reduce infrastructure complexity. However, Pinecone's managed service is easier to scale.