Anush008/fastembed-rs 是一个由 Rust 编写的轻量级、高性能本地向量嵌入(Embedding)和重排(Reranking)库。
它最初深受著名向量数据库 Qdrant 官方推出的 Python 版 fastembed 的启发,旨在为 Rust 开发者提供一个无需依赖庞大机器学习框架(如 PyTorch)就能在本地极速生成大模型向量的解决方案。
fastembed-rs 实现了现代 AI 搜索(RAG)生态中的关键一环:将文本/图像转化为向量 (Vectors)。
以下是该项目的核心特点:
1. 极致轻量与零 Python 依赖 (Lightweight & Native)
传统上,要跑一个 Embedding 模型(比如 BGE 或 MiniLM),你需要安装臃肿的 PyTorch 和 Python 环境。
- ONNX Runtime:
fastembed-rs底层通过@pykeio/ort调用 ONNX 运行时,直接加载经过量化压缩的模型(如 INT8 格式)。 - 极速分词:使用 Hugging Face 的 Rust 原生
tokenizers库,处理文本切词速度极快。 - 开箱即用:不需要你手动去下载模型文件,它内置了下载机制,只需几行代码,它就会自动从云端拉取模型并缓存在本地。
2. 全面的模型与多模态支持 (Comprehensive Features)
它不仅仅能处理简单的文本,而是涵盖了现代 AI 检索的四大核心场景:
- 稠密向量 (Dense Embeddings):支持主流文本向量模型(如 BGE-base、All-MiniLM-L6-v2),用于标准的语义相似度搜索。
- 稀疏向量 (Sparse Embeddings):支持 SPLADE 模型,这种技术可以提取文本中的核心关键词并赋予权重,完美结合了关键字搜索和语义搜索的优势。
- 图像与多模态 (Image & Multimodal):支持 CLIP 视觉模型,甚至支持最新的 Qwen3-VL 这种图文大模型,让你可以实现“以图搜图”或“以文搜图”。
- 重排引擎 (Reranking):支持 BGE-Reranker 等重排模型。在 RAG(检索增强生成)流程中,先用普通检索查出 Top 100,再用 Reranker 进行二次精准打分,极大提升最终结果的准确率。
3. 专为 Rust 开发环境优化的工程设计
- 同步原生 (Sync by default):它默认不需要引入
tokio这类异步运行时。对于很多编写 CLI 命令行工具或底层库的开发者来说,这种“无传染性”的同步设计极大降低了集成门槛。 - CPU 极速推理:得益于量化模型和优秀的内存管理,它在普通的 CPU(即使是轻薄本)上也能达到甚至超越 Python 环境下的批处理嵌入速度。
4. 彻底解决隐私与成本问题
由于一切推理都在本地设备的 CPU/GPU 上完成,用户的数据(代码、私密文档等)绝对不会离开本机。这也意味着开发者不需要再按 Token 数量向 OpenAI (如 text-embedding-ada-002) 支付高昂的 API 调用费用。
评论与来信
如果正文触发了新的想法,可以把第一封留言写在右侧;提交后会先进入审核。
写下你的想法
提交后进入审核队列,通过后显示于左侧。