langchain_community.embeddings.deepinfra.DeepInfraEmbeddings

class langchain_community.embeddings.deepinfra.DeepInfraEmbeddings[source]

Bases: 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。

参数batch_size: int = 1024

嵌入请求的批大小。

参数deepinfra_api_token: Optional[str]= None

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

参数embed_instruction: str= 'passage: '

用于嵌入文档的指令。

参数model_id: str= 'sentence-transformers/clip-ViT-B-32'

要使用的嵌入模型。

参数model_kwargs: Optional[dict]= None

其他模型关键字参数

参数normalize: bool= False

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

参数query_instruction: str= 'query: '

用于嵌入查询的指令。

async aembed_documents(texts: str)float

异步嵌入搜索文档。

参数

texts (列表[str]) – 待嵌入的文本列表。

返回

嵌入列表。

返回类型

列表[列表[float]]

async aembed_query(text: )float

异步嵌入查询文本。

参数

text (str) – 待嵌入的文本。

返回

嵌入。

返回类型

列表[float]

embed_documents(texts: strfloat[来源]

使用部署的深度基础设施嵌入模型对文档进行嵌入。对于较大的批次,将文本输入列表分块成较小的批次,以避免超过最大请求大小。

参数

texts (列表[str]) – 待嵌入的文本列表。

返回

每个文本的嵌入列表。

返回类型

列表[列表[float]]

embed_query(text: float[来源]

使用部署的深度基础设施嵌入模型嵌入查询。

参数

text (str) – 待嵌入的文本。

返回

文本的嵌入。

返回类型

列表[float]

使用 DeepInfraEmbeddings 的示例