Skip to main content

本地嵌入

您可以使用 HuggingFaceEmbeddings 类在本地生成嵌入向量。该操作利用 sentence_transformers 库下载模型权重,并在您的机器上直接运行。 让我们加载 Hugging Face 嵌入类。
pip install -qU  langchain langchain-huggingface sentence_transformers
from langchain_huggingface.embeddings import HuggingFaceEmbeddings
embeddings = HuggingFaceEmbeddings(model_name="sentence-transformers/all-mpnet-base-v2")
text = "This is a test document."
query_result = embeddings.embed_query(text)
query_result[:3]
[-0.04895168915390968, -0.03986193612217903, -0.021562768146395683]
doc_result = embeddings.embed_documents([text])

Hugging Face 推理端点(无服务器 API)

如果您不希望本地下载模型,可以通过 推理端点 访问嵌入模型,这允许我们在 Hugging Face 的可扩展无服务器基础设施上使用开源模型。 请确保已安装 huggingface_hub,它通常随 langchain-huggingface 一同提供
!pip install huggingface_hub
首先,我们需要从 Hugging Face 获取一个只读 API 密钥。
import os
from getpass import getpass

os.environ["HUGGINGFACEHUB_API_TOKEN"] = getpass()
现在我们可以使用 HuggingFaceEndpointEmbeddings 类通过 API 远程运行开源嵌入模型。
from langchain_huggingface.embeddings import HuggingFaceEndpointEmbeddings
embeddings = HuggingFaceEndpointEmbeddings(
    model="sentence-transformers/all-MiniLM-L6-v2"
)
text = "This is a test document."
query_result = embeddings.embed_query(text)
query_result[:3]