USearch 소개 — 초경량 단일 헤더 벡터 검색

USearch 소개 — 초경량 단일 헤더 벡터 검색

USearch 는 HNSW(Hierarchical Navigable Small World) 알고리즘을 C++11 단일 헤더 파일로 구현한 유사도 검색 엔진이에요. 벡터 데이터에서 쿼리 벡터와 가장 가까운 이웃을 아주 빠르게 찾아줘요.

왜 USearch 일까

  • FAISS 보다 최대 10배 빠른 HNSW 구현을 제공해요.
  • 단일 C++11 헤더: 의존성이 거의 없어 이식성이 높아요.
  • 10개 이상 언어: C++, Python, JS, Rust, Java, Go, C# 등 바인딩을 제공해요.
  • 사용자 정의 메트릭: 내적 거리·유클리드 외에 임의의 거리 함수를 JIT 컴파일로 쓸 수 있어요.
  • 반정밀도 지원: bf16, f16, i8 등 메모리 효율적 저장을 지원해요.

FAISS 와의 비교

  • FAISS 는 9개의 고정 메트릭, USearch 는 임의 메트릭.
  • FAISS 는 BLAS·OpenMP 의존, USearch 는 무의존.
  • FAISS 파이썬 바인딩 ~10MB, USearch <1MB.

기본 사용 (Python)

from usearch.index import Index
import numpy as np

index = Index(ndim=3)
index.add(42, np.array([0.2, 0.6, 0.4]))
matches = index.search(np.array([0.2, 0.6, 0.4]), 10)

더 알아보기 (Learn more)

출처: USearch GitHub