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