Skip to content
/ zvec Public
forked from alibaba/zvec

A lightweight, lightning-fast, in-process vector database

License

Notifications You must be signed in to change notification settings

lepy/zvec

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

67 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

zvec logo

Linux x64 CI Linux ARM64 CI macOS ARM64 CI
Code Coverage PyPI Release Python Versions License

alibaba%2Fzvec | Trendshift

๐Ÿš€ Quickstart | ๐Ÿ  Home | ๐Ÿ“š Docs | ๐Ÿ“Š Benchmarks | ๐ŸŽฎ 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.

๐Ÿ’ซ 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.
  • Single-File Export: Pack any collection into a single .zvecpack file for portable, read-only inference.

๐Ÿ“ฆ Installation

Requirements: Python 3.10 - 3.12

pip install zvec
npm install @zvec/zvec

โœ… Supported Platforms

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

๐Ÿ› ๏ธ 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)

๐Ÿ“ฆ Single-File Export (.zvecpack)

Export any collection into a single, portable .zvecpack file for read-only inference โ€” ideal for deployment, sharing, or embedding in containers.

import zvec

zvec.init()

# Create and populate a collection
schema = zvec.CollectionSchema(
    name="my_collection",
    vectors=zvec.VectorSchema("embedding", zvec.DataType.VECTOR_FP32, 4),
)
col = zvec.create_and_open("./my_collection", schema)
col.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]}),
])
col.flush()

# Export to a single file
zvec.export_collection("./my_collection", "./my_collection.zvecpack")

# Open the packed file โ€” read-only, zero setup
packed = zvec.open("./my_collection.zvecpack")
packed.fetch(["doc_1"])  # same API as a regular collection

๐Ÿ“ˆ 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
DingTalk QR Code
๐Ÿ“ฑ WeChat
WeChat QR Code
๐ŸŽฎ Discord
Join Server
๐Ÿฆ X (Twitter)
Follow @zvec_ai

โค๏ธ 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!

About

A lightweight, lightning-fast, in-process vector database

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 81.5%
  • SWIG 8.3%
  • Python 7.7%
  • C 1.5%
  • CMake 1.0%
  • ANTLR 0.0%