Qdrant 的 FastEmbed (FastEmbed by Qdrant)
來自 Qdrant 的 FastEmbed 是一個輕量級、快速的 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")