sqlite-vec 项目下载及安装教程
1、项目介绍
sqlite-vec
是一个极小的、“足够快”的向量搜索 SQLite 扩展,可以在任何地方运行。它是 sqlite-vss
的后继者。sqlite-vec
允许你在 vec0
虚拟表中存储和查询 float
、int8
和二进制向量。该项目完全用纯 C 语言编写,没有任何依赖,可以在 SQLite 运行的任何地方运行(包括 Linux、MacOS、Windows、浏览器中的 WASM、树莓派等)。
2、项目下载位置
你可以通过以下链接访问 sqlite-vec
项目的 GitHub 仓库进行下载:
3、项目安装环境配置
在安装 sqlite-vec
之前,请确保你的系统已经安装了以下环境:
-
SQLite:确保你已经安装了 SQLite。你可以通过以下命令检查是否已安装:
sqlite3 --version
如果没有安装,你可以通过以下命令安装:
sudo apt-get install sqlite3
-
C 编译器:确保你已经安装了 C 编译器(如
gcc
)。你可以通过以下命令检查是否已安装:gcc --version
如果没有安装,你可以通过以下命令安装:
sudo apt-get install build-essential
环境配置示例
以下是环境配置的示例图片:
4、项目安装方式
4.1 克隆项目仓库
首先,克隆 sqlite-vec
项目到本地:
git clone https://github.com/asg017/sqlite-vec.git
cd sqlite-vec
4.2 编译项目
进入项目目录后,使用以下命令编译项目:
make
4.3 安装扩展
编译完成后,你可以将生成的扩展文件(通常是 .so
或 .dylib
文件)复制到 SQLite 的扩展目录中,或者在 SQLite 中动态加载它。
例如,在 SQLite 中加载扩展:
sqlite3
sqlite> .load ./sqlite-vec
5、项目处理脚本
以下是一个简单的示例脚本,展示了如何使用 sqlite-vec
进行向量搜索:
-- 加载扩展
.load ./sqlite-vec
-- 创建虚拟表
CREATE VIRTUAL TABLE vec_examples USING vec0(sample_embedding FLOAT[8]);
-- 插入向量数据
INSERT INTO vec_examples(rowid, sample_embedding) VALUES
(1, '[-0.200, 0.250, 0.341, -0.211, 0.645, 0.935, -0.316, -0.924]'),
(2, '[0.443, -0.501, 0.355, -0.771, 0.707, -0.708, -0.185, 0.362]'),
(3, '[0.716, -0.927, 0.134, 0.052, -0.669, 0.793, -0.634, -0.162]'),
(4, '[-0.710, 0.330, 0.656, 0.041, -0.990, 0.726, 0.385, -0.958]');
-- KNN 查询
SELECT rowid, distance FROM vec_examples
WHERE sample_embedding MATCH '[0.890, 0.544, 0.825, 0.961, 0.358, 0.0196, 0.521, 0.175]'
ORDER BY distance LIMIT 2;
通过以上步骤,你就可以成功下载、安装并使用 sqlite-vec
项目了。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考