MistralAIEmbeddings#

class langchain_mistralai.embeddings.MistralAIEmbeddings[source]#

基础类:BaseModel, Embeddings

MistralAI嵌入模型集成。

Setup:

安装 langchain_mistralai 并设置环境变量 MISTRAL_API_KEY

pip install -U langchain_mistralai
export MISTRAL_API_KEY="your-api-key"
Key init args — completion params:
model: str

使用的MistralAI模型名称。

Key init args — client params:
api_key: Optional[SecretStr]

MistralAI API 的 API 密钥。如果未提供,将从环境变量 MISTRAL_API_KEY 中读取。

max_retries: int

如果请求失败,重试的次数。

timeout: int

在超时前等待响应的秒数。

wait_time: int

在发生429错误时,重试请求前等待的秒数。

max_concurrent_requests: int

向Mistral API发出的最大并发请求数。

请参阅参数部分中支持的初始化参数及其描述的完整列表。

Instantiate:
from __module_name__ import MistralAIEmbeddings

embed = MistralAIEmbeddings(
    model="mistral-embed",
    # api_key="...",
    # other params...
)
Embed single text:
input_text = "The meaning of life is 42"
vector = embed.embed_query(input_text)
print(vector[:3])
[-0.024603435769677162, -0.007543657906353474, 0.0039630369283258915]
Embed multiple text:
 input_texts = ["Document 1...", "Document 2..."]
vectors = embed.embed_documents(input_texts)
print(len(vectors))
# The first 3 coordinates for the first vector
print(vectors[0][:3])
2
[-0.024603435769677162, -0.007543657906353474, 0.0039630369283258915]
Async:
 vector = await embed.aembed_query(input_text)
print(vector[:3])

 # multiple:
 # await embed.aembed_documents(input_texts)
[-0.009100092574954033, 0.005071679595857859, -0.0029193938244134188]

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

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

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

param async_client: AsyncClient = None#
param client: Client = None#
param endpoint: str = 'https://api.mistral.ai/v1/'#
param max_concurrent_requests: int = 64#
param max_retries: int = 5#
param mistral_api_key: SecretStr [Optional] (alias 'api_key')#
param model: str = 'mistral-embed'#
param timeout: int = 120#
param tokenizer: Tokenizer = None#
param wait_time: int = 30#
async aembed_documents(texts: List[str]) List[List[float]][source]#

嵌入文档文本列表。

Parameters:

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

Returns:

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

Return type:

列表[列表[float]]

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

嵌入单个查询文本。

Parameters:

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

Returns:

文本的嵌入。

Return type:

列表[float]

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

嵌入文档文本列表。

Parameters:

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

Returns:

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

Return type:

列表[列表[float]]

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

嵌入单个查询文本。

Parameters:

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

Returns:

文本的嵌入。

Return type:

列表[float]

使用 MistralAIEmbeddings 的示例