DeepInfraEmbeddings#

class langchain_community.embeddings.deepinfra.DeepInfraEmbeddings[source]#

基础类:BaseModel, Embeddings

Deep Infra的嵌入推理服务。

要使用,您应该设置环境变量 DEEPINFRA_API_TOKEN 为您的 API 令牌,或者将其作为命名参数传递给构造函数。 有多个嵌入模型可用,请参阅 https://deepinfra.com/models?type=embeddings

示例

from langchain_community.embeddings import DeepInfraEmbeddings
deepinfra_emb = DeepInfraEmbeddings(
    model_id="sentence-transformers/clip-ViT-B-32",
    deepinfra_api_token="my-api-key"
)
r1 = deepinfra_emb.embed_documents(
    [
        "Alpha is the first letter of Greek alphabet",
        "Beta is the second letter of Greek alphabet",
    ]
)
r2 = deepinfra_emb.embed_query(
    "What is the second letter of Greek alphabet"
)

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

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

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

param batch_size: int = 1024#

嵌入请求的批量大小。

param deepinfra_api_token: str | None = None#

Deep Infra 的 API 令牌。如果未提供,则从环境变量 ‘DEEPINFRA_API_TOKEN’ 中获取。

param embed_instruction: str = 'passage: '#

用于嵌入文档的指令。

param model_id: str = 'sentence-transformers/clip-ViT-B-32'#

使用的嵌入模型。

param model_kwargs: dict | None = None#

其他模型关键字参数

param normalize: bool = False#

是否对计算得到的嵌入进行归一化

param query_instruction: str = 'query: '#

用于嵌入查询的指令。

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]#

使用Deep Infra部署的嵌入模型嵌入文档。 对于较大的批次,输入的文本列表会被分块成较小的批次,以避免超过最大请求大小。

Parameters:

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

Returns:

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

Return type:

列表[列表[float]]

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

使用Deep Infra部署的嵌入模型嵌入查询。

Parameters:

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

Returns:

文本的嵌入。

Return type:

列表[float]

classmethod validate_environment(values: Dict) Dict[来源]#

验证环境中是否存在API密钥和Python包。

Parameters:

(字典)

Return type:

字典

使用 DeepInfraEmbeddings 的示例