anush008/fastembed-rs

Rust library for generating vector embeddings and reranking locally!

해결하는 문제

FastEmbed-rs는 벡터 임베딩 생성 및 리랭킹을 로컬에서 수행하기 위한 경량 고성능 Rust 라이브러리를 제공합니다. 외부 API 호출이나 Tokio와 같은 무거운 의존성에 대한 필요성을 제거하여, 개발자가 최소한의 오버헤드로 텍스트, 이미지 및 희소 임베딩을 Rust 애플리케이션에 직접 통합할 수 있도록 합니다.

작동 원리

이 라이브러리는 ort crate를 통해 ONNX Runtime을 활용하여 고성능 추론을 수행하며, Hugging Face의 tokenizers를 사용하여 빠른 텍스트 인코딩을 지원합니다. Hugging Face의 다양한 사전 학습 모델을 지원하며, 이러한 모델은 자동으로 다운로드되어 로컬에 캐시됩니다. Qwen3 및 Nomic MoE와 같은 특정 고급 모델의 경우 candle 백엔드를 사용합니다.

대상 사용자

RAG (검색 증강 생성) 파이프라인, 검색 엔진 또는 유사성 기반 애플리케이션을 구축하는 Rust 개발자로서, 클라우드 API에 의존하지 않고 로컬에서 빠르고 동기적인 임베딩 생성이 필요한 경우에 적합합니다.

주요 특징

  • 멀티모달 지원: 밀집 텍스트 임베딩, 희소 텍스트 임베딩 및 이미지 임베딩 생성.
  • 리랭킹 기능: 검색 정확도를 향상시키기 위한 후보 리랭킹 기능 내장.
  • 방대한 모델 라이브러리: 양자화 버전을 포함하여 BGE, sentence-transformers, Nomic, Qwen3 등 다양한 모델 지원.
  • 로컬 우선: 첫 다운로드 후 모델이 로컬에 캐시되어 오프라인 실행 가능.
  • 하드웨어 가속: DirectML을 통해 Windows에서 GPU 가속 지원.
  • 내장 유사성 도구: 추가 crate 없이 코사인 유사도 및 top-k 랭킹을 위한 헬퍼 함수 제공.

관련

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