@@ -62,9 +62,12 @@ CREATE TABLE images (
6262 label TEXT
6363);
6464
65- -- Insert a vector (Float32, 384 dimensions)
65+ -- Insert a BLOB vector (Float32, 384 dimensions) using bindings
6666INSERT INTO images (embedding, label) VALUES (?, ' cat' );
6767
68+ -- Insert a JSON vector (Float32, 384 dimensions)
69+ INSERT INTO images (embedding, label) VALUES (vector_convert_f32(' [0.3, 1.0, 0.9, 3.2, 1.4,...]' ), ' dog' );
70+
6871-- Initialize the vector. By default, the distance function is L2.
6972-- To use a different metric, specify one of the following options:
7073-- distance=L1, distance=COSINE, distance=DOT, or distance=SQUARED_L2.
@@ -73,10 +76,10 @@ SELECT vector_init('images', 'embedding', 'type=FLOAT32,dimension=384');
7376-- Quantize vector
7477SELECT vector_quantize(' images' , ' embedding' );
7578
76- -- Optional preload quantized version
79+ -- Optional preload quantized version in memory (for a 4x/5x speedup)
7780SELECT vector_quantize_preload(' images' , ' embedding' );
7881
79- -- Run a nearest neighbor query (returns top 20 closest vectors)
82+ -- Run a nearest neighbor query on the quantized version (returns top 20 closest vectors)
8083SELECT e .id , v .distance FROM images AS e
8184 JOIN vector_quantize_scan(' images' , ' embedding' , ?, 20 ) AS v
8285 ON e .id = v .rowid ;
0 commit comments