alibaba/zvec
A lightweight, lightning-fast, in-process vector database
📚 什麼是 Zvec?
Zvec 是由阿里巴巴開發的 開源、進程內向量資料庫。它讓您能儲存嵌入(密集或稀疏),並在應用程式內部直接執行超快速的相似性搜尋——無需外部伺服器,也無需複雜部署。它還內建原生全文搜尋與混合查詢,可將向量相似性、關鍵字比對與結構化篩選融合於單一查詢中。
⭐ 核心功能(如 README 所述)
- 閃電般快速的 ANN 搜尋 – 使用多種索引類型(HNSW、IVF‑RaBitQ、PQ‑INT8 等),可在毫秒內查詢數十億向量。
- 密集與稀疏嵌入 – 支援 FP32 向量與稀疏表示,以及多向量查詢。
- 混合搜尋 – 在單一查詢中融合向量相似性、全文搜尋(BM25/N‑gram)與結構化篩選。
- 持久化儲存 – 透過預寫日誌(WAL)確保系統崩潰後資料仍可持久保留。
- 並行讀取 – 多個進程可同時讀取一個集合;寫入僅限單一進程獨佔。
- 跨平台 – 支援 Linux(x86_64 & ARM64,glibc & musl)、macOS(Intel & Apple‑silicon)與 Windows。Android 與 iOS 也提供預建 SDK。
- 語言 SDK – Python、Node.js、Go、Rust、Dart/Flutter。
- CLI 與 UI 工具 –
zvec-grep(本地優先搜尋 CLI)與 Zvec Studio(視覺化瀏覽器/除錯器)。
🚀 快速入門(來自 README 的 Python 範例)
import zvec
schema = zvec.CollectionSchema(
name="example",
vectors=zvec.VectorSchema("embedding", zvec.DataType.VECTOR_FP32, 4),
)
collection = zvec.create_and_open(path="./zvec_example", schema=schema)
collection.insert([
zvec.Doc(id="doc_1", vectors={"embedding": [0.1, 0.2, 0.3, 0.4]}),
zvec.Doc(id="doc_2", vectors={"embedding": [0.2, 0.3, 0.4, 0.1]}),
])
results = collection.query(
zvec.Query(field_name="embedding", vector=[0.4, 0.3, 0.3, 0.1]),
topk=10,
)
print(results) # → [{'id': str, 'score': float, ...} 的清單]
此程式碼片段展示了如何定義集合、插入幾個向量,並在幾行程式碼內執行相似性查詢。
📦 安裝
| 語言 | 命令 |
|---|---|
| Python | pip install zvec(Python 3.10–3.14,64 位) |
| Node.js | npm install @zvec/zvec |
| Go | 使用 github.com/zvec-ai/zvec-go 的綁定 |
| Rust | cargo add zvec-rust |
| Dart/Flutter | flutter pub add zvec |
為所有主要作業系統/CPU 組合提供預建的動態函式庫,專案亦可從原始碼建置(詳見文件)。
📈 性能與基準測試
README 中突出展示了一張基準圖像,顯示 1,000 萬向量集合的延遲在毫秒級別。詳細方法與結果可於線上 Benchmarks 文件中查閱。
🤝 誰可能使用 Zvec?
- 需要本地向量儲存以進行檢索增強生成、聊天機器人記憶或語意搜尋的 LLM 驅動應用。
- 無法運行獨立伺服器的 邊緣或行動應用;進程內函式庫可輕鬆部署於裝置上。
- 希望在無網路開銷下實現快速相似性查找的 資料科學筆記本。
- 需要在單一查詢中同時實現關鍵字比對與嵌入相似性的 混合搜尋工作負載。
🌐 社群與貢獻
- 官方文件、快速入門指南與基準頁面托管於 zvec.org。
- 社群管道:Discord、釘釘、微信、X(Twitter)帳號。
- 歡迎透過標準 GitHub 工作流程貢獻;提供 CONTRIBUTING 指南。
📌 總結
Zvec 是一個生產級、進程內向量資料庫,結合高速 ANN 搜尋、全文功能與持久化儲存,並為主要程式語言提供即用型 SDK。專為希望將向量搜尋直接嵌入應用的開發者設計——無論是在伺服器、筆記本還是邊緣裝置上,都無需管理獨立資料庫服務。
相關
- 專案
- 專案
- 專案
- 專案
- 專案