Alibaba lightweight in-process vector database
Go to file
dependabot[bot] cd3070bb0d
ci(deps): bump actions/github-script from 7 to 8 (#276)
Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 8.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ZeFeng Yin <yinzefeng.yzf@alibaba-inc.com>
Co-authored-by: feihongxu0824 <xufeihong.xfh@alibaba-inc.com>
2026-04-07 19:22:29 +08:00
.github ci(deps): bump actions/github-script from 7 to 8 (#276) 2026-04-07 19:22:29 +08:00
cmake fix: misc fix for Windows(BUILD_SHARED_LIBS, CI) (#296) 2026-04-02 09:23:35 +08:00
examples fix: refact c struct name (#302) 2026-04-02 14:54:03 +08:00
python fix: fix python type annotations (#307) 2026-04-02 20:03:15 +08:00
scripts feat: support android platform cross build (#90) 2026-03-04 16:42:23 +08:00
src chore: clang format collection.cc (#319) 2026-04-07 14:10:33 +08:00
tests fix: refact c struct name (#302) 2026-04-02 14:54:03 +08:00
thirdparty fix: misc fix for Windows(BUILD_SHARED_LIBS, CI) (#296) 2026-04-02 09:23:35 +08:00
tools feat: windows support (#216) 2026-03-30 20:47:34 +08:00
.clang-format Initial commit 2025-12-30 11:02:17 +08:00
.gitignore feat: support android platform cross build (#90) 2026-03-04 16:42:23 +08:00
.gitmodules feat: add hnsw-rabitq support (#69) 2026-03-19 17:21:42 +08:00
.pre-commit-config.yaml chore: enable the conventional-pre-commit run sucess and update to latest version (#111) 2026-02-25 18:03:20 +08:00
CMakeLists.txt fix: misc fix for Windows(BUILD_SHARED_LIBS, CI) (#296) 2026-04-02 09:23:35 +08:00
CODE_OF_CONDUCT.md Initial commit 2025-12-30 11:02:17 +08:00
CONTRIBUTING.md doc: add v0.3.0 release note (#312) 2026-04-03 15:47:19 +08:00
LICENSE Initial commit 2025-12-30 11:02:17 +08:00
README.md doc: add v0.3.0 release note (#312) 2026-04-03 15:47:19 +08:00
pyproject.toml fix(ci): wrong wheel version on Windows (#308) 2026-04-03 14:51:35 +08:00

README.md

zvec logo

Code Coverage Main License PyPI Release Python Versions npm Release

alibaba%2Fzvec | Trendshift

🚀 Quickstart | 🏠 Home | 📚 Docs | 📊 Benchmarks | 🔎 DeepWiki | 🎮 Discord | 🐦 X (Twitter)

Zvec is an open-source, in-process vector database — lightweight, lightning-fast, and designed to embed directly into applications. Built on Proxima (Alibaba's battle-tested vector search engine), it delivers production-grade, low-latency, scalable similarity search with minimal setup.

[!IMPORTANT] 🚀 v0.3.0 Released on April 3, 2026

  • New Platforms: Initial Windows (MSVC) and Android support. Published official Windows Python and Node.js packages.
  • Efficiency: RabitQ quantization and CPU Auto-Dispatch for optimized SIMD execution.
  • Ecosystem: C-API for custom language bindings and MCP / Skill integration for AI Agents.

👉 Read the Release Notes | View Roadmap 📍

💫 Features

  • Blazing Fast: Searches billions of vectors in milliseconds.
  • Simple, Just Works: Install and start searching in seconds. No servers, no config, no fuss.
  • Dense + Sparse Vectors: Work with both dense and sparse embeddings, with native support for multi-vector queries in a single call.
  • Hybrid Search: Combine semantic similarity with structured filters for precise results.
  • Runs Anywhere: As an in-process library, Zvec runs wherever your code runs — notebooks, servers, CLI tools, or even edge devices.

📦 Installation

Python

Requirements: Python 3.10 - 3.14

pip install zvec

Node.js

npm install @zvec/zvec

Supported Platforms

  • Linux (x86_64, ARM64)
  • macOS (ARM64)
  • Windows (x86_64)

🛠️ Building from Source

If you prefer to build Zvec from source, please check the Building from Source guide.

One-Minute Example

import zvec

# Define collection schema
schema = zvec.CollectionSchema(
    name="example",
    vectors=zvec.VectorSchema("embedding", zvec.DataType.VECTOR_FP32, 4),
)

# Create collection
collection = zvec.create_and_open(path="./zvec_example", schema=schema)

# Insert documents
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]}),
])

# Search by vector similarity
results = collection.query(
    zvec.VectorQuery("embedding", vector=[0.4, 0.3, 0.3, 0.1]),
    topk=10
)

# Results: list of {'id': str, 'score': float, ...}, sorted by relevance
print(results)

📈 Performance at Scale

Zvec delivers exceptional speed and efficiency, making it ideal for demanding production workloads.

Zvec Performance Benchmarks

For detailed benchmark methodology, configurations, and complete results, please see our Benchmarks documentation.

🤝 Join Our Community

Stay updated and get support — scan or click:

💬 DingTalk 📱 WeChat 🎮 Discord X (Twitter)
DingTalk QR Code WeChat QR Code Discord X (formerly Twitter) Follow
Scan to join Scan to join Click to join Click to follow

❤️ Contributing

We welcome and appreciate contributions from the community! Whether you're fixing a bug, adding a feature, or improving documentation, your help makes Zvec better for everyone.

Check out our Contributing Guide to get started!