Topic 32 / 40

Vector Databases (pgvector) inside Django PostgreSQL

~16 min read  //  Django Series  //  Coding India

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.