fastembed-rs

本地生成向量嵌入,让 Rust 应用秒变语义搜索高手

fastembed-rs 是一个用 Rust 实现的向量嵌入与重排序库,旨在本地生成高质量的文本嵌入向量,并支持本地重排序。它解决了在 Rust 生态中缺乏高性能、易用的嵌入生成工具的问题,让开发者无需依赖外部 API 即可在本地完成语义搜索、推荐系统等场景的向量化处理。核心能力包括:支持多种主流嵌入模型(如 BGE、E5 等),提供简洁的 API 接口,并针对 CPU 和 GPU 进行了性能优化。作为早期项目,它已获得近千星标,展现了社区对其价值的认可。

开源 free 搜索知识
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1018
维护状态 活跃
是否开源 是
定价模式 free

项目数据

分类搜索知识
开发团队anush008
所属国家
官网地址
定价模式free
价格说明开源库,本地部署,完全免费
访问状态
是否开源是
开源协议Apache-2.0
主要语言Rust
技术栈/模型embeddings,fastembed,rag,reranker,reranking,retrieval,retrieval-augmented-generation,vector-search
GitHub 星标★ 1018
30天Star增速
HF 下载量
上线时间2023-10-01 00:00:00
最近更新2026-09-23 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 4 步

环境要求

  • 已安装 Rust 工具链(可用 cargo 命令)
  • 一个现成的 Rust 项目目录(README 要求在项目目录中执行添加命令)
  • 可访问 crates.io 下载依赖(以及首次使用模型时访问 HuggingFace)

安装与启动步骤

  1. 1准备 Rust 项目

    README 说明安装命令需在「你的项目目录」中运行,请先进入已有的 Rust 项目根目录(含 Cargo.toml)。

  2. 2添加 fastembed

    在项目目录执行该命令,cargo 会自动把最新 5.x 版本写入 Cargo.toml 的依赖区。

    cargo add fastembed
  3. 3或手动改配置

    不想用 cargo add 时,可手动在 Cargo.toml 中加入这一行依赖,版本写 5。

  4. 4选择嵌入模型

    README 列出支持的模型,默认是 BAAI/bge-small-en-v1.5;中文场景可选 bge-small-zh-v1.5 等。

关键配置

配置项必填说明示例
fastembed是Cargo.toml 中声明 fastembed 依赖并指定大版本 5fastembed = "5"

如何确认成功

执行 cargo add fastembed 后,Cargo.toml 出现 fastembed 依赖(版本 5.x)即表示依赖安装成功。

常见问题

Q:一定要用 Rust 吗?有其他语言版本吗?

A:README 提到非 Rust 用户可用 Python 的 fastembed、Go 的 fastembed-go、JavaScript 的 fastembed-js,功能对应但仓库不同。

Q:需要异步运行时 Tokio 吗?

A:不需要。README 说明该库支持同步调用(synchronous usage),不依赖 Tokio。

Q:默认用哪个模型?

A:默认模型为 BAAI/bge-small-en-v1.5;README 还列出 bge-base/large、bge-m3、bge-small-zh、all-MiniLM 等可选模型。

Q:底层推理和分词分别用什么?

A:README 说明推理使用 @pykeio/ort 做 ONNX 加速,分词使用 @huggingface/tokenizers 做快速编码。

注意事项

  • README 只给出安装方式,未提供完整示例代码,具体 API 用法请查阅 crates.io 的 fastembed 文档页。
  • 模型权重需在使用时从 HuggingFace 获取,首次运行需保证网络可访问相关模型仓库。
  • 支持中英文模型,中文语义检索建议改用 BAAI/bge-small-zh-v1.5 或 BAAI/bge-large-zh-v1.5。

核心亮点

  • 纯 Rust 实现,无外部服务依赖,数据隐私安全
  • 支持 BGE、E5 等多种主流嵌入模型,灵活切换
  • 提供重排序功能,提升搜索相关性

不足之处

  • 项目尚处早期,API 可能不稳定
  • 模型覆盖范围不及 Python 生态丰富
  • 文档和示例相对较少,上手成本略高

适用场景

  • 本地语义搜索应用开发
  • Rust 后端服务中的文本向量化
  • 离线推荐系统特征提取

替代项目

text-embeddings-inference、sentence-transformers、fastembed (Python)

项目介绍

fastembed-rs 是基础设施领域的开源项目,由 anush008 开发,2023 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(1,018)位列前 30%,在基础设施分类中处于中上游。

近 42 天,它的 GitHub 星标从 986 增加到 1,018,净增 32。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-23。开源库,本地部署,完全免费。

它主要面向的使用场景是:本地语义搜索应用开发。同类可对比的替代方案包括 text-embeddings-inference、sentence-transformers、fastembed (Python)。

上一篇:MyScaleDB

下一篇:pdf_oxide

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

Multi-account OpenAI-compatible gateway for coding models. Pooled keys, session life···

★ 213 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8684 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 439 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181484 2026-08-09