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 排名的内置函数。

相关

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