量化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]]
使用 QuantizedBgeEmbeddings 的示例