Repolode
RyanCodrai

RyanCodrai/turbovec

TurboQuant로 임베딩을 차원당 2비트 또는 4비트로 압축하고 압축된 상태로 직접 검색하는 Python 및 Rust용 인프로세스 벡터 인덱스입니다.

대체할 수 있는 제품:FAISS

스타
17,409
포크
1,488
열린 이슈
23
마지막 커밋
15일 전

어떤 프로젝트인가요?

turbovec은 Python 및 Rust용 벡터 인덱스 라이브러리입니다. TurboQuant 양자화 방식을 사용해 임베딩을 차원당 2비트 또는 4비트로 저장하고, SIMD 커널로 압축된 데이터에서 최근접 이웃 검색을 수행합니다. 따라서 별도 서비스 없이 프로세스 메모리 안에서 인덱스를 유지할 수 있습니다.

이 프로젝트는 대규모 임베딩을 float32로 저장해야 하는 RAG 파이프라인 같은 검색 워크로드를 대상으로 합니다. 재학습 없이 벡터를 추가하고 삭제할 수 있으며, 변경된 내용만 기록하는 sync 호출을 통한 증분 저장과 사용자가 정의한 uint64 ID를 키로 사용하는 IdMapIndex 변형을 지원합니다. 검색 시 ID allowlist로 범위를 제한할 수도 있습니다. LangChain, LlamaIndex, Haystack, Agno와 바로 연결해 사용할 수 있는 통합 기능도 제공합니다.

그래프 인덱스가 아니라 무차별 대입 방식으로 전체를 검색하므로, 코퍼스가 커질수록 쿼리 비용도 선형으로 증가합니다. 양자화는 손실을 수반하며, 프로젝트 문서에는 OpenAI 및 GloVe 임베딩을 대상으로 한 FAISS 비교 벤치마크가 포함되어 있습니다.

핵심 기능

  • 01벡터를 차원당 2비트 또는 4비트로 저장하며, 4비트에서는 float32보다 약 7.8배 작습니다.
  • 02압축된 코드에서 SIMD 최적화 검색을 직접 수행하며, Python 및 Rust API를 제공합니다.
  • 03학습 단계나 인덱스 재구축 없이 벡터를 추가하고 삭제할 수 있습니다.
  • 04증분 sync()는 변경된 데이터만 기록하고 원자적으로 저장합니다.
  • 05ID 기반 인덱싱과 검색 시 allowlist 필터링을 지원합니다.

활용 사례

  • 임베딩을 프로세스 메모리에 유지하는 로컬 RAG 검색기를 구축할 때.
  • RAM이 제한된 머신에서 대규모 임베딩 컬렉션을 검색할 때.
  • 별도 데이터베이스를 실행하지 않고 LangChain 또는 LlamaIndex 애플리케이션에 벡터 저장소를 추가할 때.
  • 데이터가 프로세스 밖으로 나가면 안 되는 오프라인 또는 개인정보 민감 시맨틱 검색에.

빠른 시작

  1. 1

    PyPI에서 Python 패키지를 설치합니다

    pip install turbovec
  2. 2

    TurboQuantIndex로 벡터를 빌드하고 인덱싱합니다(README 예시 참조).

사용 전 알아둘 점

  • 모든 벡터를 스캔하므로 지연 시간 요구 사항이 엄격한 초대규모 코퍼스에는 적합하지 않습니다.
  • 양자화는 손실이 발생하므로 결과는 정확한 부동소수점 결과가 아니라 근삿값입니다.

토픽

자주 묻는 질문

turbovec은(는) 무엇인가요?
TurboQuant로 임베딩을 차원당 2비트 또는 4비트로 압축하고 압축된 상태로 직접 검색하는 Python 및 Rust용 인프로세스 벡터 인덱스입니다. turbovec은 Python 및 Rust용 벡터 인덱스 라이브러리입니다. TurboQuant 양자화 방식을 사용해 임베딩을 차원당 2비트 또는 4비트로 저장하고, SIMD 커널로 압축된 데이터에서 최근접 이웃 검색을 수행합니다. 따라서 별도 서비스 없이 프로세스 메모리 안에서 인덱스를 유지할 수 있습니다.
turbovec은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
turbovec은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
turbovec은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. turbovec의 마지막 커밋은 2026년 10월 7일입니다.
turbovec은(는) 어디에 사용할 수 있나요?
임베딩을 프로세스 메모리에 유지하는 로컬 RAG 검색기를 구축할 때. RAM이 제한된 머신에서 대규모 임베딩 컬렉션을 검색할 때. 별도 데이터베이스를 실행하지 않고 LangChain 또는 LlamaIndex 애플리케이션에 벡터 저장소를 추가할 때. 데이터가 프로세스 밖으로 나가면 안 되는 오프라인 또는 개인정보 민감 시맨틱 검색에.
turbovec는 어떻게 설치하나요?
PyPI에서 Python 패키지를 설치합니다: pip install turbovec TurboQuantIndex로 벡터를 빌드하고 인덱싱합니다(README 예시 참조).
turbovec은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/RyanCodrai/turbovec

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트