跳到主要內容
Open In ColabOpen on GitHub

OpenVINO

OpenVINO™ 是一個用於最佳化和部署 AI 推論的開源工具包。 OpenVINO™ Runtime 支援各種硬體裝置,包括 x86 和 ARM CPU 以及 Intel GPU。 它可以幫助提升深度學習在電腦視覺、自動語音辨識、自然語言處理和其他常見任務中的效能。

Hugging Face 嵌入模型可以透過 OpenVINOEmbeddings 類別由 OpenVINO 支援。 如果您有 Intel GPU,您可以指定 model_kwargs={"device": "GPU"} 以在其上執行推論。

%pip install --upgrade-strategy eager "optimum[openvino,nncf]" --quiet
Note: you may need to restart the kernel to use updated packages.
from langchain_community.embeddings import OpenVINOEmbeddings
API 參考文件:OpenVINOEmbeddings
model_name = "sentence-transformers/all-mpnet-base-v2"
model_kwargs = {"device": "CPU"}
encode_kwargs = {"mean_pooling": True, "normalize_embeddings": True}

ov_embeddings = OpenVINOEmbeddings(
model_name_or_path=model_name,
model_kwargs=model_kwargs,
encode_kwargs=encode_kwargs,
)
text = "This is a test document."
query_result = ov_embeddings.embed_query(text)
query_result[:3]
[-0.048951778560876846, -0.03986183926463127, -0.02156277745962143]
doc_result = ov_embeddings.embed_documents([text])

匯出 IR 模型

可以使用 OVModelForFeatureExtraction 將您的嵌入模型匯出為 OpenVINO IR 格式,並從本機資料夾載入模型。

from pathlib import Path

ov_model_dir = "all-mpnet-base-v2-ov"
if not Path(ov_model_dir).exists():
ov_embeddings.save_model(ov_model_dir)
ov_embeddings = OpenVINOEmbeddings(
model_name_or_path=ov_model_dir,
model_kwargs=model_kwargs,
encode_kwargs=encode_kwargs,
)
Compiling the model to CPU ...

搭配 OpenVINO 使用 BGE

我們也可以透過 OpenVINOBgeEmbeddings 類別搭配 OpenVINO 存取 BGE 嵌入模型。

from langchain_community.embeddings import OpenVINOBgeEmbeddings

model_name = "BAAI/bge-small-en"
model_kwargs = {"device": "CPU"}
encode_kwargs = {"normalize_embeddings": True}
ov_embeddings = OpenVINOBgeEmbeddings(
model_name_or_path=model_name,
model_kwargs=model_kwargs,
encode_kwargs=encode_kwargs,
)
API 參考文件:OpenVINOBgeEmbeddings
embedding = ov_embeddings.embed_query("hi this is harrison")
len(embedding)
384

更多資訊請參考


此頁面是否對您有幫助?