ITADN
asg017/sqlite-vec
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

sqlite-vec

一个极其小巧、"足够快"的向量搜索 SQLite 扩展,可在任何地方运行!sqlite-vss 的继任者

[!IMPORTANT] sqlite-vec 是 v1 之前的版本,因此可能会出现破坏性变更!

  • vec0 个虚拟表中存储和查询 float、int8 和 binary 向量
  • 使用纯 C 编写,无依赖项,可在任何 SQLite 运行的环境中运行 (Linux/MacOS/Windows、浏览器中的 WASM、树莓派等)
  • 在元数据、辅助或分区键列中存储非向量数据

Mozilla Builders logo

sqlite-vecMozilla Builders 项目, 并获得来自 Fly.io Turso SQLite Cloud 以及 Shinkai 的额外赞助。 详见 赞助商部分

安装

详见 安装 sqlite-vec 以获取更多详细信息。

语言安装更多信息
Pythonpip install sqlite-vecsqlite-vec 使用 PythonPyPI
Node.jsnpm install sqlite-vecsqlite-vec 使用 Node.jsnpm
Rubygem install sqlite-vecsqlite-vec 使用 RubyGem
Gogo get -u github.com/asg017/sqlite-vec/bindings/gosqlite-vec 使用 GoGo Reference
Rustcargo add sqlite-vecsqlite-vec with RustCrates.io
Datasettedatasette install datasette-sqlite-vecsqlite-vec with DatasetteDatasette
rqliterqlited -extensions-path=sqlite-vec.tar.gzsqlite-vec with rqliterqlite
sqlite-utilssqlite-utils install sqlite-utils-sqlite-vecsqlite-vec with sqlite-utilssqlite-utils
Github ReleaseGitHub tag (latest SemVer pre-release)

示例用法

.load ./vec0

create virtual table vec_examples using vec0(
  sample_embedding float[8]
);

-- vectors can be provided as JSON or in a compact binary format
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 style query
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;
/*
┌───────┬──────────────────┐
│ rowid │     distance     │
├───────┼──────────────────┤
│ 2     │ 2.38687372207642 │
│ 1     │ 2.38978505134583 │
└───────┴──────────────────┘
*/

赞助者

sqlite-vec 的开发得到了多家慷慨赞助者的支持!Mozilla 是主要赞助商,通过新的 Builders 项目提供支持。

Mozilla Builders logo

sqlite-vec 还得到以下公司的赞助:

Fly.io logo Turso logo SQLite Cloud logo Shinkai logo

以及众多个人支持者, Github sponsors]!

如果你的公司对赞助 sqlite-vec 开发感兴趣,请给我 发送电子邮件以获取更多信息:https://alexgarcia.xyz

另请参阅

  • sqlite-ecosystem,也许 更多我开发的第三方 SQLite 扩展
  • sqlite-rembed,从 OpenAI/Nomic/Ollama 等远程 API 生成文本 嵌入,用于测试和 SQL 脚本
  • sqlite-lembed,从 .gguf 格式的嵌入模型本地生成文本 嵌入