Anush008/fastembed-rs

Rust library for generating vector embeddings and reranking locally!

解決的問題

FastEmbed-rs 提供了一種輕量級、以本地為先的向量嵌入生成與文件重排序方法。它消除了對外部 API 呼叫或重型依賴的需求,讓開發者能以最少的設定,將文字、影像與稀疏嵌入直接整合至 Rust 應用程式中。

工作原理

該套件利用 ONNX Runtime(透過 ort)進行高效能推論,並使用 Hugging Face 的 tokenizers 實現快速文字編碼。支援來自 Hugging Face 的多種預訓練模型,這些模型會自動下載並本地快取。針對特定高效率模型(如 Qwen3 或 Nomic MoE),則使用 candle 後端。

適用對象

建構 RAG(檢索增強生成)流程、搜尋引擎或相似性搜尋應用的 Rust 開發者,希望在 CPU 或 GPU(透過 Windows 上的 DirectML)上本地執行嵌入模型。

主要特色

  • 多模態支援:可產生文字、影像與稀疏文字表示的嵌入。
  • 本地推論:模型快取後,執行時無需網路連接。
  • 豐富的模型庫:支援大量 BGE、sentence-transformers、Nomic 與 Qwen3 模型,包含量化版本。
  • 重排序功能:內建支援對候選結果進行重排序,以提升搜尋精準度。
  • 零 Tokio 依賴:支援同步使用,無需非同步執行環境。
  • 相似性輔助工具:內建用於餘弦相似度與 top-k 排名的函數。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案