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]
使用 InfinityEmbeddingsLocal 的示例