Topic 32 / 40
Vector Databases (pgvector) inside Django PostgreSQL
1. Deep Architecture
pgvector adds vector support to PostgreSQL. Embeddings are stored as high-dimensional arrays of floats. We query them using vector distance operations (like cosine distance) directly in SQL queries, keeping search speeds fast.
2. The Feynman Gatekeeper
[KNOWLEDGE CHECK] How does calculating cosine distance in SQL compare to fetching embeddings and computing similarity in Python memory?
3. The Code
# models.py
from django.db import models
from pgvector.django import VectorField
class ScriptEmbedding(models.Model):
video = models.OneToOneField(Video, on_delete=models.CASCADE)
# Dimensions match embedding model outputs (e.g., 384)
embedding = VectorField(dimensions=384)
4. The Funnel
Stat Level-Up: Vector Ingestor (Lvl 1).
Sanjaya Integration: Store transcript embeddings to support semantic search features.