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
需要将嵌入生成或重排序集成到应用程序中,且不希望依赖云端服务,特别是构建 RAG (Retrieval-Augmented Generation) 流水线的开发者,或构建相似度搜索工具的人。
Highlights
- Multimodal Support: 生成文本、图像和稀疏文本表示的嵌入。
- Local Reranking: 内置支持重排序候选对象以提高搜索精度。
- BGE-M3 Integration: 可以在单次前向传播中产生密集、稀疏和 ColBERT 嵌入。
- Hardware Acceleration: 支持 CPU 推理和通过 Windows 上的 DirectML 进行 GPU 加速。
- Zero-Dependency Async: 支持同步使用,且不时不依赖 Tokio。
- Built-in Similarity Tools: 提供余弦相似度 (cosine similarity) 和 top-k 排名 (top-k ranking) 的辅助函数,无需额外 crate。