Qdrant 的 FastEmbed
FastEmbed 是由 Qdrant 开发的一款轻量级、快速的 Python 库,专用于生成嵌入(embeddings)。
- 量化模型权重
- ONNX Runtime,无需 PyTorch 依赖
- CPU优先设计
- 用于大规模数据集编码的数据并行处理。
依赖项
要将 FastEmbed 与 LangChain 配合使用,请安装 fastembed Python 包。
%pip install --upgrade --quiet fastembed
Imports
from langchain_community.embeddings.fastembed import FastEmbedEmbeddings
API 参考:FastEmbed嵌入
实例化 FastEmbed
Parameters
-
model_name: str(默认:\"BAAI/bge-small-en-v1.5\")要使用的 FastEmbedding 模型的名称。您可以在此处找到支持的模型列表。
-
max_length: int(默认:512)最大令牌数。值大于 512 时行为未知。
-
cache_dir: Optional[str](默认:None)缓存目录的路径。默认为父目录中的
local_cache。 -
threads: Optional[int](默认:None)单个 onnxruntime 会话可以使用的线程数。
-
doc_embed_type: Literal["default", "passage"](默认:\"默认\")\"default\":使用 FastEmbed 的默认嵌入方法。
\"passage\": 在嵌入之前,为文本添加 \"passage\" 前缀。
-
batch_size: int(默认:256)编码的批处理大小。较大的值将使用更多内存,但速度更快。
-
parallel: Optional[int](默认:None)如果为
>1,将使用数据并行编码,建议在离线编码大型数据集时使用。 如果为0,将使用所有可用的核心。 如果为None,不使用数据并行处理,而是使用默认的 onnxruntime 线程处理。
embeddings = FastEmbedEmbeddings()
用法
生成文档嵌入
document_embeddings = embeddings.embed_documents(
["This is a document", "This is some other document"]
)
生成查询嵌入
query_embeddings = embeddings.embed_query("This is a query")