SQLite for vectors — 嵌入式向量数据库
一个二进制 · 一个文件 · 零配置 · 边缘到云端
# CLI
cargo install vexra-cli
# Python
pip install vexra
# JavaScript
npm install @mengxun326/vexravexra init
vexra create-collection -n docs -d 384
vexra insert -c docs -v 0.1,0.2,...,0.384
vexra search -c docs --text "hello" -k 5
vexra serveimport vexra
db = vexra.Database("data.vexra")
col = db.create_collection("docs", 384)
col.insert([0.1]*384, id="doc1")
col.search([0.2]*384, top_k=5)use vexra_core::{Database, CollectionConfig, Document, SearchQuery};
let db = Database::open("data.vexra")?;
db.create_collection(CollectionConfig::new("docs", 384))?;| 嵌入式引擎 | 进程内运行,单文件存储,零配置 |
| HNSW 索引 | 近似搜索,比暴力快 10-100× |
| SIMD 加速 | AVX2 (x86_64) + NEON (aarch64) |
| WAL 崩溃安全 | 预写日志 + 帧校验和 |
| 向量 & 元数据持久化 | 重启后完整恢复 |
| 元数据过滤 | category = "tech" AND score > 5.0 |
| 文本向量化 | SimpleEmbedder (哈希 n-gram) + ONNX 接口 |
| BM25 混合搜索 | Tantivy 稀疏检索 + RRF 融合 |
| CLI 工具 | 8 个命令 (init, create, insert, search, info, stats, delete, serve) |
| HTTP API + Dashboard | REST API + 内嵌 Web 管理面板 |
| 多语言 SDK | Rust · Python (PyO3) · JavaScript (napi-rs) |
| C FFI | C ABI, 支持 Go, Java, Zig 等 |
vexra/
├── crates/
│ ├── vexra-core/ 公共 API
│ ├── vexra-storage/ 页格式, WAL, 页缓存
│ ├── vexra-index/ HNSW, Flat, SIMD
│ ├── vexra-metadata/ JSON 元数据, 过滤
│ ├── vexra-query/ BM25, RRF 融合
│ ├── vexra-embedding/ 文本向量化
│ ├── vexra-ffi/ C ABI
│ ├── vexra-cli/ CLI
│ └── vexra-server/ HTTP + Dashboard
├── sdk/
│ ├── python/ pip install vexra
│ └── javascript/ npm install @mengxun326/vexra
└── .github/ CI/CD
MIT