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

모든 주요 OS/CPU 조합용 사전 빌드된 동적 라이브러리가 제공되며, 소스에서 빌드할 수도 있습니다 (문서 참조).


📈 성능 및 벤치마크

README에는 1,000만 벡터 컬렉션에서 밀리초 수준의 지연 시간을 보여주는 벤치마크 이미지가 포함되어 있습니다. 상세한 방법론과 결과는 온라인 Benchmarks 문서에서 확인 가능합니다.


🤝 Zvec를 사용할 수 있는 사람

  • RAG, 챗봇 메모리, 의미 검색을 위한 로컬 벡터 스토어가 필요한 LLM 기반 애플리케이션.
  • 별도 서버를 운영하기 어려운 에지 또는 모바일 앱. 인프로세스 라이브러리는 장치에 적합.
  • 네트워크 오버헤드 없이 빠른 유사성 검색이 필요한 데이터 과학 노트북.
  • 키워드 매칭과 임베딩 유사성을 하나의 쿼리에서 필요로 하는 하이브리드 검색 워크로드.

🌐 커뮤니티 및 기여

  • 공식 문서, 빠른 시작 가이드, 벤치마크 페이지는 zvec.org 에서 제공.
  • 커뮤니티 채널: Discord, DingTalk, WeChat, X (Twitter) 계정.
  • GitHub 표준 워크플로우를 통해 기여를 환영합니다. CONTRIBUTING 가이드도 제공.

📌 TL;DR

Zvec는 생산 환경 대응 가능한 인프로세스 벡터 데이터베이스로, 고속 ANN 검색, 전체 텍스트 기능, 내구성 있는 저장소를 결합하고, 주요 프로그래밍 언어용 즉시 사용 가능한 SDK를 제공합니다. 서버, 노트북, 에지 장치 등 다양한 환경에서 데이터베이스 서비스를 별도로 관리하지 않고도 애플리케이션에 벡터 검색을 직접 통합하고 싶은 개발자에게 이상적입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트