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。

相关

  • 项目
  • 项目
  • 项目
  • 项目