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 등).

더 알아보기 (Learn more)

출처: USearch Python 문서