跳至主要内容

Qdrant 的 FastEmbed

FastEmbed 来自 Qdrant 是一个轻量级、快速、针对嵌入式生成构建的 Python 库。

  • 量化模型权重
  • ONNX Runtime,无 PyTorch 依赖
  • CPU优先设计
  • 用于对大型数据集进行编码的数据并行性。

依赖项

要在 LangChain 中使用 FastEmbed,请安装 fastembed Python 包。

%pip install --upgrade --quiet  fastembed

导入

from langchain_community.embeddings.fastembed import FastEmbedEmbeddings
API 参考:FastEmbedEmbeddings

实例化 FastEmbed

参数

  • 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”)

    "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")

此页面对您有帮助吗?


您也可以在 GitHub 上留下详细的反馈 在 GitHub 上.