# Implementasi pada PostgreSQL yang berjalan di Docker
# Cek Dimensi Model Embedding Saat Ini di container backend :
docker-compose exec backend python3 -c "
from embedding import get_embedding
vec = get_embedding('test')
print('Dimensi saat ini:', len(vec))
"
# Cek Dimensi Vektor di Database
docker-compose exec postgres psql -U rag -d ragdb -c "
SELECT id, vector_dims(embedding) as dimensi
FROM document_chunks
LIMIT 5;
"
# Hapus Index yang Ada (jika ada)
DROP INDEX IF EXISTS idx_chunks_embedding;
# Ubah Tipe Kolom embedding
# Ganti N dengan dimensi baru yang diinginkan:
ALTER TABLE document_chunks
ALTER COLUMN embedding TYPE VECTOR(N);
# Contoh
-- Ubah dari 768 ke 1536
ALTER TABLE document_chunks ALTER COLUMN embedding TYPE VECTOR(1536);
-- Ubah dari 768 ke 2560
ALTER TABLE document_chunks ALTER COLUMN embedding TYPE VECTOR(2560);
# Hapus Data Chunk Lama (WAJIB!)
TRUNCATE TABLE document_chunks CASCADE;
-- Buat Index Ulang (Opsional, tapi direkomendasikan)
-- Untuk IVFFlat:
CREATE INDEX idx_chunks_embedding ON document_chunks
USING ivfflat (embedding vector_cosine_ops) WITH (lists = 100);
-- Atau untuk HNSW (lebih akurat, tapi lebih lambat):
CREATE INDEX idx_chunks_embedding ON document_chunks
USING hnsw (embedding vector_cosine_ops);
Related