Stevenic/vectra

Vectra is a local vector database for Node.js with features similar to pinecone but built using local files.

해결하는 문제

Vectra는 무거운 외부 데이터베이스 서버 없이 고차원 벡터(임베딩)를 저장하고 검색할 수 있는 가벼운 로컬 방식을 제공합니다. 개발자는 디스크에 파일 기반 인덱스를 유지하면서도 메모리 내 연산을 통해 빠른 쿼리를 수행할 수 있어, 로컬 우선 애플리케이션이나 중소 규모 데이터셋에 이상적입니다.

작동 방식

각 인덱스가 디스크의 폴더로 저장되는 로컬 벡터 데이터베이스로 작동합니다. 검색 시 코사인 유사도 순위를 지원하며, MongoDB 스타일의 메타데이터 필터링을 통해 결과를 좁힐 수 있습니다. 임베딩 처리를 위해 OpenAI와 같은 외부 API에 연결하거나, LocalEmbeddingsTransformersEmbeddings를 통해 HuggingFace 모델을 로컬에서 실행할 수 있습니다. 다국어 지원을 위해 19개의 RPC를 노출하는 선택적 gRPC 서버를 포함하여 다른 언어에서 인덱스에 접근할 수 있습니다.

대상 사용자

로컬 AI 애플리케이션, RAG(검색 기반 생성) 파이프라인, 또는 IndexedDB 지원을 통해 브라우저 기반 도구를 개발하고 있으며, 간단한 파일 기반 벡터 저장 솔루션을 필요로 하는 개발자들.

주요 특징

  • 로컬 우선 설계: 파일 기반 저장과 메모리 내 성능을 결합하여 소규모 인덱스에서 밀리초 미만의 지연 시간을 제공합니다.
  • 유연한 임베딩: 클라우드 API와 로컬 HuggingFace 모델을 모두 지원하여 프라이버시 보호 및 오프라인 사용이 가능합니다.
  • 크로스 플랫폼: Node.js, 브라우저, Electron 앱에서 모두 작동합니다.
  • 확장 가능한 접근성: gRPC 서버와 6개 언어의 생성된 언어 바인딩을 포함합니다.
  • 자동 동기화: FolderWatcher를 통해 로컬 디렉터리를 자동으로 문서 인덱스로 동기화합니다.

관련

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