langchain_community.embeddings.infinity_local.InfinityEmbeddingsLocal

class langchain_community.embeddings.infinity_local.InfinityEmbeddingsLocal[source]

基础:BaseModelEmbeddings

优化的无限嵌入模型。

https://github.com/michaelfeil/infinity 此类部署本地无限实例以嵌入文本。该类需要异步使用。

无限是一个类,用于与https://github.com/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。

参数 backend : str = 'torch'

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

参数batch_size : int = 32

推理内部批大小,例如:32

参数device : str = 'auto'

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

参数engine : Any = None

无限异步嵌入引擎插件。

参数model: str [必需]

来自 huggingface 的底层模型 ID,例如:BAAI/bge-small-en-v1.5

参数model_warmup: bool = True

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

参数revision: Optional[str] = None

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

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

调用Infinity嵌入端的异步调用。

参数

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

返回值

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

返回类型

列表[列表[浮点数]]

async aembed_query(text: str) List[float][来源]

调用Infinity嵌入端的异步调用。

参数

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

返回值

文本的嵌入。

返回类型

列表[浮点数]

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

此方法仅支持异步。

参数

texts (列表[字符串]) –

返回类型

列表[列表[浮点数]]

embed_query(text: str) List[float][来源]
参数

text (字符串) –

返回类型

列表[浮点数]

使用InfinityEmbeddingsLocal的示例