Pencarian vektor ekstensi sqlite yang dipanggang oleh VSAG, perpustakaan pengindeksan vektor yang digunakan untuk pencarian kesamaan.
Ekstensi ini menyediakan tabel virtual yang memungkinkan pengguna untuk menambahkan vektor ke VSAG dan melakukan pencarian gaya KNN. Skema tabel virtual adalah:
CREATE TABLE vsag (id PRIMARY KEY , vec, distance)Jalankan SQL di bawah ini di SQLite:
.load target / debug / libvsag_sqlite
CREATE VIRTUAL TABLE test_table
USING vsag (dimension = 3 );
INSERT INTO test_table (id, vec)
VALUES ( 1 , ' [1,2,3] ' ), ( 2 , ' [11,22,33] ' ), ( 3 , ' [111,232,333] ' );
-- KNN style query
SELECT
id,
distance
FROM
test_table
WHERE
vec MATCH ' [1,2,4] ' ; Jika semuanya bekerja dengan baik, SELECT akan:
1 | 1.0 2 | 1341.0 3 | 173241.0
Buka halaman rilis untuk mengunduh biner prebuilt terbaru.
Setelah diunduh, atur LD_LIBRARY_PATH env ke tempat Anda membuka ritsleting.
Ketergantungan instal pertama (diuji pada Ubuntu, distribusi Linux lainnya dapat merujuk pada pengembangan.md):
sudo apt install -y gfortran libomp-15-dev lcovKemudian bangun proyek ini:
cargo build Setelah dibangun, atur LD_LIBRARY_PATH untuk memberi tahu sqlite di mana menemukan file kami:
so_file= $( find target -name libvsag.so | head -n1 )
cp " ${so_file} " ./target/debug
export LD_LIBRARY_PATH=./target/debug