Files
gochat/backend/migrations/000056_make_article_embedding_dimension_dynamic.down.sql
T

14 lines
537 B
SQL

-- Restore the legacy 1536-dimensional column. Embeddings with any other
-- dimension cannot be represented and are cleared during rollback.
ALTER TABLE article_embeddings
ALTER COLUMN vector_embedding TYPE vector(1536)
USING CASE
WHEN vector_embedding IS NULL THEN NULL
WHEN vector_dims(vector_embedding) = 1536 THEN vector_embedding::vector(1536)
ELSE NULL
END;
CREATE INDEX IF NOT EXISTS idx_article_embeddings_vector
ON article_embeddings USING ivfflat (vector_embedding vector_cosine_ops)
WITH (lists = 100);