跳到主要內容

Qdrant 的 FastEmbed (FastEmbed by Qdrant)

來自 QdrantFastEmbed 是一個輕量級、快速的 Python 函式庫,專為嵌入生成而構建。

  • 量化模型權重 (Quantized model weights)
  • ONNX Runtime,無需 PyTorch 依賴 (ONNX Runtime, no PyTorch dependency)
  • 以 CPU 為主的設計 (CPU-first design)
  • 用於編碼大型資料集的資料並行處理 (Data-parallelism for encoding of large datasets.)

依賴性

若要將 FastEmbed 與 LangChain 搭配使用,請安裝 fastembed Python 套件。

%pip install --upgrade --quiet  fastembed

匯入 (Imports)

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

實例化 FastEmbed (Instantiating FastEmbed)

參數 (Parameters)

  • model_name: str (預設值:"BAAI/bge-small-en-v1.5")

    要使用的 FastEmbedding 模型的名稱。 您可以在此處找到支援的模型清單。

  • max_length: int (預設值:512)

    最大 token 數量。 大於 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()

用法 (Usage)

產生文件嵌入 (Generating document embeddings)

document_embeddings = embeddings.embed_documents(
["This is a document", "This is some other document"]
)

產生查詢嵌入 (Generating query embeddings)

query_embeddings = embeddings.embed_query("This is a query")

此頁面是否對您有所幫助? (Was this page helpful?)