Anush008/fastembed-rs

Rust library for generating vector embeddings, reranking locally!

What it solves

FastEmbed-rs는 벡터 임베딩 생성 및 리랭킹을 로컬에서 수행하기 위해 설계된 Rust 라이브러리입니다. 개발자가 자신의 하드웨어에서 고성능 임베딩 모델을 직접 실행할 수 있게 하여 텍스트, 이미지 및 희소 임베딩을 지원하며, 외부 API 호출의 필요성을 제거합니다.

How it works

이 라이브러리는 고성능 추론을 위해 ONNX Runtime (ort crate 사용)을 활용하고, 빠른 텍스트 인코딩을 위해 Hugging Face tokenizers 라이브러리를 사용합니다.

Hugging Face의 다양한 사전 학습된 모델을 지원하며, 모델은 자동으로 다운로드되어 로컬에 캐싱됩니다. Qwen3 및 Nomic v2 MoE와 같은 특정 고급 모델의 경우 candle 백엔드를 사용합니다.

Who it’s for

클라우드 서비스에 의존하지 않고 임베딩 생성 또는 리랭킹을 애플리케이션에 통합해야 하는 Rust 개발자, 특히 RAG (Retrieval-Augmented Generation) 파이프라인 또는 유사도 검색 도구를 구축하는 개발자에게 적합합니다.

Highlights

  • Multimodal Support: 텍스트, 이미지 및 희소 텍스트 표현에 대한 임베딩을 생성합니다.
  • Local Reranking: 검색 정밀도를 높이기 위해 후보군을 리랭킹하는 내장 지원 기능을 포함합니다.
  • BGE-M3 Integration: 단 한 번의 포워드 패스(forward pass)로 밀집(dense), 희소(sparse) 및 ColBERT 임베딩을 생성할 수 있습니다.
  • Hardware Acceleration: CPU 추론 및 Windows의 DirectML을 통한 GPU 가속을 지원합니다.
  • Zero-Dependency Async: 동기식 사용을 지원하며 Tokio에 의존하지 않습니다.
  • Built-in Similarity Tools: 추가 crate 없이 코사인 유사도(cosine similarity) 및 top-k 랭킹(top-k ranking)을 위한 헬퍼 함수를 제공합니다.