InfinityEmbeddingsLocal#

class langchain_community.embeddings.infinity_local.InfinityEmbeddingsLocal[来源]#

基础类:BaseModel, Embeddings

优化的Infinity嵌入模型。

michaelfeil/infinity 这个类部署了一个本地的Infinity实例来嵌入文本。 该类需要异步使用。

Infinity 是一个用于在 michaelfeil/infinity 上与嵌入模型进行交互的类。

示例

from langchain_community.embeddings import InfinityEmbeddingsLocal
async with InfinityEmbeddingsLocal(
    model="BAAI/bge-small-en-v1.5",
    revision=None,
    device="cpu",
) as embedder:
    embeddings = await engine.aembed_documents(["text1", "text2"])

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

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

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

param backend: str = 'torch'#

用于推理的后端,例如 'torch'(推荐用于 ROCm/Nvidia)

param batch_size: int = 32#

用于推理的内部批量大小,例如 32

param device: str = 'auto'#

用于推理的设备,例如 'cpu' 或 'cuda',或 'mps'

param engine: Any = None#

Infinity的AsyncEmbeddingEngine。

param model: str [Required]#

来自huggingface的基础模型ID,例如 BAAI/bge-small-en-v1.5

param model_warmup: bool = True#

使用最大批量大小预热模型。

param revision: str | None = None#

模型版本,来自huggingface的提交哈希值

async aembed_documents(texts: List[str]) List[List[float]][来源]#

异步调用Infinity的嵌入端点。

Parameters:

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

Returns:

嵌入列表,每个文本对应一个。

Return type:

列表[列表[float]]

async aembed_query(text: str) List[float][source]#

异步调用Infinity的嵌入端点。

Parameters:

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

Returns:

文本的嵌入。

Return type:

列表[float]

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

此方法是异步的。

Parameters:

文本 (列表[字符串])

Return type:

列表[列表[float]]

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

文本 (str)

Return type:

列表[float]

使用 InfinityEmbeddingsLocal 的示例