vsag sqlite
v0.1.0
類似性検索に使用されるベクトルインデックスライブラリであるVSAGによって焼き付けられたベクトル検索sqlite拡張機能。
この拡張機能は、ユーザーがVSAGにベクトルを追加し、KNNスタイル検索を実行できる仮想テーブルを提供します。仮想テーブルのスキーマは次のとおりです。
CREATE TABLE vsag (id PRIMARY KEY , vec, distance)以下のSQLITEでSQLを実行します。
.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] ' ;すべてがうまく機能する場合、 SELECTは出力されます。
1 | 1.0 2 | 1341.0 3 | 173241.0
リリースページに移動して、最新の事前に作成されたバイナリをダウンロードします。
ダウンロード後、 LD_LIBRARY_PATH envを解凍する場所に設定します。
最初に依存関係をインストールします(ubuntuでテストされ、他のLinux分布はDevelopment.mdを参照できます):
sudo apt install -y gfortran libomp-15-dev lcov次に、このプロジェクトを構築します。
cargo buildビルド後、 LD_LIBRARY_PATHを設定して、SQLiteにSOファイルを見つける場所を伝えます。
so_file= $( find target -name libvsag.so | head -n1 )
cp " ${so_file} " ./target/debug
export LD_LIBRARY_PATH=./target/debug