量化Bge嵌入#

class langchain_community.embeddings.itrex.QuantizedBgeEmbeddings[source]#

基础类:BaseModel, Embeddings

利用Itrex运行时来释放压缩NLP模型的性能。

请确保您已安装intel-extension-for-transformers。

Input:

model_name: str = 模型名称。 max_seq_len: int = 用于标记化的最大序列长度。(默认 512) pooling_strategy: str =

“mean” 或 “cls”,最终层的池化策略。(默认 “mean”)

query_instruction: Optional[str] =

在嵌入之前添加到查询的指令。(默认值为 None)

document_instruction: Optional[str] =

在嵌入之前添加到每个文档的指令。(默认值为 None)

padding: Optional[bool] =

是否在分词过程中添加填充。(默认 True)

model_kwargs: Optional[Dict] =

在初始化期间添加到模型的参数。(默认 {})

encode_kwargs: Optional[Dict] =

在嵌入前向传递期间添加的参数。(默认 {})

onnx_file_name: Optional[str] =

由itrex导出的优化后的onnx模型的文件名。 (默认“int8-model.onnx”)

示例

from langchain_community.embeddings import QuantizedBgeEmbeddings

model_name = "Intel/bge-small-en-v1.5-sts-int8-static-inc"
encode_kwargs = {'normalize_embeddings': True}
hf = QuantizedBgeEmbeddings(
    model_name,
    encode_kwargs=encode_kwargs,
    query_instruction="Represent this sentence for searching relevant passages: "
)

通过解析和验证来自关键字参数的输入数据来创建一个新模型。

如果输入数据无法验证以形成有效模型,则引发 [ValidationError][pydantic_core.ValidationError]。

self 被显式地设为仅位置参数,以允许 self 作为字段名称。

async aembed_documents(texts: list[str]) list[list[float]]#

异步嵌入搜索文档。

Parameters:

文本 (列表[字符串]) – 要嵌入的文本列表。

Returns:

嵌入列表。

Return type:

列表[列表[浮点数]]

async aembed_query(text: str) list[float]#

异步嵌入查询文本。

Parameters:

文本 (str) – 要嵌入的文本。

Returns:

嵌入。

Return type:

列表[浮点数]

embed_documents(texts: List[str]) List[List[float]][source]#

使用优化嵌入模型嵌入文本文档列表。

Input:

texts: List[str] = 要嵌入的文本文档列表。

Output:

List[List[float]] = 每个文本文档的嵌入。

Parameters:

文本 (列表[字符串])

Return type:

列表[列表[float]]

embed_query(text: str) List[float][source]#

嵌入查询文本。

Parameters:

文本 (str) – 要嵌入的文本。

Returns:

嵌入。

Return type:

列表[float]

load_model() None[source]#
Return type:

使用 QuantizedBgeEmbeddings 的示例