langchain_community.embeddings.huggingface.HuggingFaceEmbeddings

class langchain_community.embeddings.huggingface.HuggingFaceEmbeddings[源代码]

继承自:BaseModelEmbeddings

自版本 0.2.2 被废弃: 应使用 langchain_huggingface.HuggingFaceEmbeddings 代替。

HuggingFace sentence_transformers 寓意模型。

要使用,您应该安装了 sentence_transformers Python 包。

示例

from langchain_community.embeddings import HuggingFaceEmbeddings

model_name = "sentence-transformers/all-mpnet-base-v2"
model_kwargs = {'device': 'cpu'}
encode_kwargs = {'normalize_embeddings': False}
hf = HuggingFaceEmbeddings(
    model_name=model_name,
    model_kwargs=model_kwargs,
    encode_kwargs=encode_kwargs
)

初始化 sentence_transformer。

参数 cache_folder: 可选[str]=None

存储模型的路径。也可以通过 SETENTprivileged

参数 encode_kwargs [可选]

当调用 Sentence Transformer 模型的 encode 方法时,传递的关键字参数,例如 prompt_namepromptbatch_sizeprecisionnormalize_embeddings 等。还可以参考 Sentence Transformer 文档:https://sbert.net/docs/package_reference/SentenceTransformer.html#sentence_transformers.SentenceTransformer.encode

参数 model_kwargs [可选]

传递给 Sentence Transformer 模型的关键字参数,例如 devicepromptsdefault_prompt_namerevisiontrust_remote_codetoken。还可以参考 Sentence Transformer 文档:https://sbert.net/docs/package_reference/SentenceTransformer.html#sentence_transformers.SentenceTransformer

参数 model_name: str='sentence-transformers/all-mpnet-base-v2'

要使用的模型名称。

参数 multi_process: bool = False

在多个GPU上运行encode()。

参数 show_progress: bool = False

是否显示进度条。

async aembed_documents(texts: List[str]) List[List[float]]

异步嵌入文档搜索。

参数

texts (列表str) – 要嵌入的文本列表。

返回

嵌入列表。

返回类型

列表[列表[float]]

async aembed_query(text: str) List[float]

异步嵌入查询文本。

参数

text (字符串) – 要嵌入的文本。

返回

嵌入向量。

返回类型

列表[float]

embed_documents(texts: List[str]) List[List[float]][代码来源]

使用HuggingFace transformer模型计算文档嵌入。

参数

texts (列表str) – 要嵌入的文本列表。

返回

每个文本一个嵌入列表。

返回类型

列表[列表[float]]

embed_query(text: str) List[float][代码来源]

使用HuggingFace的transformer模型计算查询嵌入。

参数

textstr) - 要嵌入的文本。

返回

文本的嵌入。

返回类型

列表[float]

有关使用HuggingFaceEmbeddings的示例