nmslib/hnswlib

Header-only C++/python library for fast approximate nearest neighbors

What it solves

hnswlib는 근사 최근접 이웃 (ANN) 검색을 위한 Hierarchical Navigable Small World (HNSW) 알고리즘의 빠르고 경량화된 구현체입니다. L2, 내적 (Inner Product), 또는 코사인 거리 (Cosine distance)와 같은 거리 측정 방식을 기반으로 대규모 데이터 세트에서 가장 가까운 벡터를 효율적으로 찾을 수 있어, 느린 전수 조사를 피할 수 있습니다.

How it works

이 라이브러리는 최근접 이웃 검색을 위한 그래프 기반 접근 방식인 HNSW를 구현합니다. 벡터를 그래프의 계층 구조로 조직하여 가장 가까운 지점으로 빠르게 탐색할 수 있도록 합니다. 이 라이브러리는 Python 바인딩을 포함한 헤더 전용 C++ 구현을 제공하며, 증분 인덱스 구축, 요소 업데이트 및 삭제를 지원합니다.

Who it’s for

추천 시스템, 이미지 검색 또는 RAG (Retrieval-Augmented Generation) 파이프라인과 같이 고성능 벡터 검색이 필요한 애플리케이션을 구축하는 개발자 중, 의존성이 최소화된 경량 도구를 필요로 하는 분들을 위해 설계되었습니다.

Highlights

  • Lightweight Design: 외부 의존성이 없는 헤더 전용 C++ 11 구현.
  • Flexible Interfaces: C++ 및 Python 네이티브 지원, Java 및 R에 대한 외부 커뮤니티 지원.
  • Dynamic Indexing: 증분 구축, 기존 요소 업데이트 및 삭제 표시를 지원.
  • Customizable: C++에서 사용자 정의 거리 측정 방식을 지원.
  • Efficiency: nmslib와 같은 다른 구현체와 비교하여 메모리 사용량이 적고 빌드 시간이 더 빠릅니다.

관련

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