Google生成式AI嵌入#

class langchain_google_genai.embeddings.GoogleGenerativeAIEmbeddings[source]#

基础类:BaseModel, Embeddings

Google生成式AI嵌入.

要使用,您必须拥有以下任一条件:

  1. 使用您的API密钥设置的GOOGLE_API_KEY环境变量,或者

2. 使用 google_api_key 关键字参数将您的 API 密钥传递给 GoogleGenerativeAIEmbeddings 构造函数。

示例

from langchain_google_genai import GoogleGenerativeAIEmbeddings

embeddings = GoogleGenerativeAIEmbeddings(model="models/embedding-001")
embeddings.embed_query("What's our Q1 revenue?")

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

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

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

param client_options: Dict | None = None#

传递给Google API客户端的客户端选项字典,例如api_endpoint

param credentials: Any = None#

默认的自定义凭据(google.auth.credentials.Credentials)用于进行API调用。如果未提供,将从GOOGLE_API_KEY环境变量中获取凭据。

param google_api_key: SecretStr | None [Optional]#

使用的Google API密钥。如果未提供,则将使用GOOGLE_API_KEY环境变量。

param model: str [Required]#

使用的嵌入模型的名称。示例:models/embedding-001

param request_options: Dict | None = None#

传递给Google API客户端的请求选项字典。示例:{‘timeout’: 10}

param task_type: str | None = None#

任务类型。有效选项包括:task_type_unspecified, retrieval_query, retrieval_document, semantic_similarity, classification, 和 clustering

param transport: str | None = None#

一个字符串,其中之一:[rest, grpc, grpc_asyncio]。

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], *, batch_size: int = 100, task_type: str | None = None, titles: List[str] | None = None, output_dimensionality: int | None = None) List[List[float]][source]#

嵌入一个字符串列表。Google Generative AI 目前设置的最大批量大小为100个字符串。

Parameters:
  • texts (List[str]) – List[str] 要嵌入的字符串列表。

  • batch_size (int) – [int] 发送到模型的嵌入的批量大小

  • task_type (str | None) – 任务类型 (https://ai.google.dev/api/rest/v1/TaskType)

  • titles (List[str] | None) – 提供的文本的可选标题列表。

  • RETRIEVAL_DOCUMENT. (仅当TaskType为)

  • output_dimensionality (int | None) – 可选的输出嵌入的降维维度。

  • https – //ai.google.dev/api/rest/v1/models/batchEmbedContents#EmbedContentRequest

Returns:

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

Return type:

列表[列表[float]]

embed_query(text: str, task_type: str | None = None, title: str | None = None, output_dimensionality: int | None = None) List[float][source]#

嵌入一段文本。

Parameters:
  • 文本 (str) – 要嵌入的文本。

  • task_type (str | None) – 任务类型 (https://ai.google.dev/api/rest/v1/TaskType)

  • title (str | None) – 文本的可选标题。

  • RETRIEVAL_DOCUMENT. (仅当TaskType为)

  • output_dimensionality (int | None) – 可选的输出嵌入的降维维度。

  • https – //ai.google.dev/api/rest/v1/models/batchEmbedContents#EmbedContentRequest

Returns:

文本的嵌入。

Return type:

列表[float]