qdrant/fastembed

Fast, Accurate, Lightweight Python library to make State of the Art Embedding

FastEmbed — 快速、轻量的嵌入生成工具

它是什么

FastEmbed 是一个 Python 库,能将文本、图像和文档转换为 嵌入 (embeddings) — 即捕捉输入内容 意义 的长数列。这些嵌入是语义搜索、检索增强生成 (RAG) 和推荐系统的基石。

核心理念

大多数嵌入库都很笨重:它们需要 GPU、下载数 GB 的 PyTorch 依赖项,且运行速度缓慢。FastEmbed 采取了不同的方法:

  • 使用 ONNX Runtime 取代 PyTorch — 一个更精简、更快速的执行引擎
  • 无需 GPU — 可在普通 CPU 上运行,适合 AWS Lambda 等无服务器环境
  • 依赖项少 — 安装轻量
  • 数据并行处理 — 可通过跨核心分配工作,更快速地处理大型数据集

功能特色

FastEmbed 支持多种模型:

类型 用途 示例模型
稠密文本嵌入 标准语义搜索 — 每段文本成为一个向量 BAAI/bge-small-en-v1.5 (384 维度)
稀疏文本嵌入 关键词风格匹配,突显重要词汇 SPLADE++
晚期交互 (ColBERT) 细粒度的 Token 层级匹配,以获得更高准确度 colbert-ir/colbertv2.0
图像嵌入 将图像转换为向量 CLIP 视觉模型
多模态晚期交互 (ColPali) 图像与文本共同匹配 — 例如搜索 PDF 截图内容 Qdrant/colpali-v1.3-fp16
重排序模型 (Rerankers) 为文档与查询的相关性评分,以重新排序搜索结果 Xenova/ms-marco-MiniLM-L-6-v2

为何重要

嵌入是现代 AI 搜索的基础。FastEmbed 让生成过程变得足够快速且低成本,足以在任何地方运行(包括无服务器函数),并能直接与向量数据库 Qdrant 集成,让您能大规模存储并搜索嵌入。

关键细节

  • 默认模型: Flag Embedding (BAAI/bge-small-en-v1.5),在 MTEB 基准测试中表现优异
  • 声称准确度: 优于 OpenAI 的 Ada-002 嵌入模型
  • 自定义模型: 您可以加入自己的 ONNX 模型,不限于预先支持的列表
  • GPU 支持: 可选的 fastembed-gpu 包,用于 CUDA 加速
  • 简单 API: 只需几行 Python 代码即可嵌入文档、图像或重排序结果

使用示例 (文本)

from fastembed import TextEmbedding

documents = ["This is a document about AI.", "Another document about search."]
model = TextEmbedding()  # 首次使用时下载默认模型
embeddings = list(model.embed(documents))  # 每个都是 384 维度的向量

总结

FastEmbed 是为任何构建语义搜索、RAG 流水线或基于向量的 AI 应用程序的人所设计的实用工具 — 它让嵌入生成变得快速、轻量且无需特殊硬件即可访问。

相关

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