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 加速。
  • 內建相似度工具:提供餘弦相似度和 top-k 排序的輔助函式,無需額外的 crate。

相關

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