zilliztech/knowhere
Vector search engine inside Milvus, integrating FAISS, HNSW, DiskANN.
해결하는 문제
Knowhere는 더 큰 시스템에 임베드할 수 있는 경량 고성능 벡터 검색 엔진에 대한 요구를 해결합니다. Milvus의 내부 핵심 엔진으로서 벡터 데이터 인덱싱 및 검색의 무거운 작업을 처리합니다.
작동 방식
Knowhere는 C++로 작성되었으며 벡터 인덱스 및 브루트 포스(brute-force) 검색을 제공합니다. cuVS를 사용하여 선택적으로 GPU 지원을 포함하여 빌드할 수 있습니다. 이 프로젝트는 C ABI, Java JNI 및 Python wheel 바인딩을 제공하여 다양한 언어 간의 통합을 지원합니다. 빌드 프로세스는 Makefile을 사용하며 단위 테스트, 디버그 모드 및 사용자 지정 컴파일러를 위한 구성 가능한 플래그를 지원합니다.
대상 사용자
임베드 가능한 벡터 검색 코어가 필요한 개발자, 특히 Milvus나 유사한 시스템을 작업하는 개발자를 위한 것입니다. 또한 리포지토리에 포괄적인 빌드 및 테스트 지침이 제공되므로 소스에서 Knowhere를 빌드하고 테스트하려는 기여자에게도 적합합니다.
주요 특징
- Milvus의 내부 핵심 엔진으로 작동하여 재사용 가능한 벡터 검색 엔진을 제공합니다.
- CPU 및 GPU (cuVS) 빌드를 모두 지원합니다.
- C ABI 및 Java JNI 바인딩을 통해 인덱스, 브루트 포스 검색 및 명명된 인덱스 blob을 노출합니다.
- 간편한 배포를 위해 이식 가능한 Python wheel을 빌드합니다.
- AddressSanitizer 지원을 포함한 단위 테스트가 포함되어 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트