rryam/VecturaKit
Swift-based vector database for on-device RAG using MLTensor and MLX Embedders
해결하는 문제
VecturaKit은 Swift 기반 벡터 데이터베이스로, 온디바이스 애플리케이션을 위해 설계되었습니다. 개발자는 Apple 플랫폼에서 벡터 임베딩을 로컬에 저장·인덱싱·검색할 수 있어, 기본적인 의미 검색 및 검색 작업에 외부 클라우드 기반 벡터 데이터베이스가 필요하지 않게 됩니다.
작동 방식
프레임워크는 코어 벡터 데이터베이스 엔진을 제공하며 플러그인 가능한 아키텍처를 채택합니다. Apple의 네이티브 NaturalLanguage 프레임워크, OpenAI 호환 API(로컬 서버인 Ollama 또는 호스팅 서비스용) 및 MLX를 통한 GPU 가속 임베딩 등 여러 임베딩 제공자를 지원합니다. 벡터 유사도와 BM25 텍스트 검색을 결합해 하이브리드 검색 기능을 제공합니다. 시스템은 높은 수준의 커스터마이징이 가능하여, 개발자는 특정 프로토콜을 구현해 자체 저장 백엔드(예: SQLite, Core Data)나 검색 알고리즘을 구현할 수 있습니다.
대상 사용자
iOS, macOS, tvOS, visionOS, watchOS용 앱을 개발하며 로컬 의미 검색, RAG(검색 기반 생성) 기능 또는 외부 인프라에 의존하지 않는 온디바이스 문서 관리가 필요한 Swift 개발자를 위한 제품입니다.
주요 특징
- 플러그인 가능한 임베딩: Apple NaturalLanguage, MLX, OpenAI 호환 엔드포인트 등 다양한 제공자를 지원합니다.
- 하이브리드 검색: 벡터 유사도와 BM25 텍스트 검색을 결합해 보다 관련성 높은 결과를 제공합니다.
- 온디바이스 저장: 앱 세션 간에 임베딩과 문서를 로컬에 영구 저장합니다.
- 유연한 메모리 관리: 자동, 전체 메모리, 인덱스 모드를 제공해 수천 개에서 수백만 개 문서까지의 데이터셋을 처리합니다.
- 커스터마이징 가능한 아키텍처: 사용자 정의 저장 제공자와 검색 엔진 구현이 가능합니다.