USearch 파이썬 API — Index 사용법
USearch 파이썬 API — Index 사용법
USearch 의 파이썬 바인딩은 usearch.index.Index 클래스를 중심으로 동작해요. 벡터 추가·검색·저장·로드를 직관적인 API 로 제공해요.
Index 생성
from usearch.index import Index
index = Index(ndim=3) # 3차원 벡터용
index = Index(ndim=3, metric='cos', dtype='f32')
ndim: 벡터 차원.metric: 유사도 기준 —cos,l2sq,ip,haversine등.dtype: 저장 타입 —f32,f16,bf16,i8등.
벡터 추가
index.add(42, np.array([0.2, 0.6, 0.4])) # 단건
index.add([1,2,3], matrix) # 배치 추가(병렬)
키는 정수 또는 문자열 키를 쓸 수 있어요.
검색
matches = index.search(np.array([0.2, 0.6, 0.4]), 10)
matches[0].key # 가장 가까운 이웃의 키
matches[0].distance # 거리(유사도)
저장·로드·뷰
index.save("index.usearch")
index.load("index.usearch")
view = Index.restore("index.usearch", view=True) # 메모리 뷰
view=True 는 인덱스를 RAM 에 올리지 않고 디스크에서 직접 읽어 서빙하는 방식이에요.
사용자 정의 메트릭
C/C++ 로 거리 함수를 컴파일해 CompiledMetric 으로 넘기면 임의 메트릭을 쓸 수 있어요(지구 좌표 Haversine 등).