Embeddings

Método: models.embedContent

Genera una incorporación a partir del modelo según una Content de entrada.

Extremo

publicación https://generativelanguage.googleapis.com/v1beta/{model=models/*}:embedContent

Parámetros de ruta

model string

Obligatorio. El nombre del recurso del modelo. Esto sirve como un ID para que use el modelo.

Este nombre debe coincidir con el nombre de modelo que muestra el método models.list.

Formato: models/{model} Toma la forma models/{model}.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Campos
content object (Content)

Obligatorio. El contenido que se incorporará. Solo se contarán los parts.text campos.

taskType enum (TaskType)

Opcional. Tipo de tarea opcional para la que se usarán las incorporaciones. Solo se puede establecer para models/embedding-001.

title string

Opcional. Es un título opcional para el texto. Solo se aplica cuando TaskType es RETRIEVAL_DOCUMENT.

Nota: Especificar un title para RETRIEVAL_DOCUMENT proporciona incorporaciones de mejor calidad para su recuperación.

outputDimensionality integer

Opcional. Es una dimensión reducida opcional para la incorporación de salida. Si se establece, los valores excesivos en la incorporación de salida se truncan desde el final. Compatible con los modelos más nuevos desde 2024, y el modelo anterior (models/embedding-001) no puede especificar este valor.

Ejemplo de solicitud

Python


text = "Hello World!"
result = genai.embed_content(
    model="models/text-embedding-004", content=text, output_dimensionality=10
)
print(result["embedding"])

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({
  model: "text-embedding-004",
});

const result = await model.embedContent("Hello world!");

console.log(result.embedding);

Cuerpo de la respuesta

Es la respuesta a un EmbedContentRequest.

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

Campos
embedding object (ContentEmbedding)

Solo salida. La incorporación generada a partir del contenido de entrada.

Representación JSON
{
  "embedding": {
    object (ContentEmbedding)
  }
}

Método: models.batchEmbedContents

Genera varias incorporaciones a partir del texto de entrada determinado del modelo en una llamada síncrona.

Extremo

publicación https://generativelanguage.googleapis.com/v1beta/{model=models/*}:batchEmbedContents

Parámetros de ruta

model string

Obligatorio. El nombre del recurso del modelo. Esto sirve como un ID para que use el modelo.

Este nombre debe coincidir con el nombre de modelo que muestra el método models.list.

Formato: models/{model} Toma la forma models/{model}.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Campos
requests[] object (EmbedContentRequest)

Obligatorio. Incorporar solicitudes para el lote El modelo de cada una de estas solicitudes debe coincidir con el modelo especificado BatchEmbedContentsRequest.model.

Ejemplo de solicitud

Python

texts = [
    "What is the meaning of life?",
    "How much wood would a woodchuck chuck?",
    "How does the brain work?",
]
result = genai.embed_content(
    model="models/text-embedding-004", content=texts, output_dimensionality=10
)
print(result)

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({
  model: "text-embedding-004",
});

function textToRequest(text) {
  return { content: { role: "user", parts: [{ text }] } };
}

const result = await model.batchEmbedContents({
  requests: [
    textToRequest("What is the meaning of life?"),
    textToRequest("How much wood would a woodchuck chuck?"),
    textToRequest("How does the brain work?"),
  ],
});

console.log(result.embeddings);

Cuerpo de la respuesta

Es la respuesta a un BatchEmbedContentsRequest.

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

Campos
embeddings[] object (ContentEmbedding)

Solo salida. Las incorporaciones para cada solicitud, en el mismo orden que se proporcionó en la solicitud por lotes.

Representación JSON
{
  "embeddings": [
    {
      object (ContentEmbedding)
    }
  ]
}

EmbedContentRequest

Solicitud que contiene el Content para que el modelo lo incorpore.

Representación JSON
{
  "model": string,
  "content": {
    object (Content)
  },
  "taskType": enum (TaskType),
  "title": string,
  "outputDimensionality": integer
}
Campos
model string

Obligatorio. El nombre del recurso del modelo. Esto sirve como un ID para que use el modelo.

Este nombre debe coincidir con el nombre de modelo que muestra el método models.list.

Formato: models/{model}

content object (Content)

Obligatorio. El contenido que se incorporará. Solo se contarán los parts.text campos.

taskType enum (TaskType)

Opcional. Tipo de tarea opcional para la que se usarán las incorporaciones. Solo se puede establecer para models/embedding-001.

title string

Opcional. Es un título opcional para el texto. Solo se aplica cuando TaskType es RETRIEVAL_DOCUMENT.

Nota: Especificar un title para RETRIEVAL_DOCUMENT proporciona incorporaciones de mejor calidad para su recuperación.

outputDimensionality integer

Opcional. Es una dimensión reducida opcional para la incorporación de salida. Si se establece, los valores excesivos en la incorporación de salida se truncan desde el final. Compatible con los modelos más nuevos desde 2024, y el modelo anterior (models/embedding-001) no puede especificar este valor.

ContentEmbedding

Una lista de números de punto flotante que representan una incorporación.

Representación JSON
{
  "values": [
    number
  ]
}
Campos
values[] number

Los valores de incorporación.

TaskType

Tipo de tarea para la que se usará la incorporación.

Enumeraciones
TASK_TYPE_UNSPECIFIED Valor no establecido, que se establecerá de forma predeterminada en uno de los otros valores de enumeración.
RETRIEVAL_QUERY Especifica que el texto dado es una consulta en un parámetro de configuración de búsqueda/recuperación.
RETRIEVAL_DOCUMENT Especifica que el texto dado es un documento del corpus que se está buscando.
SEMANTIC_SIMILARITY Especifica que el texto dado se usará para STS.
CLASSIFICATION Especifica que se clasificará el texto proporcionado.
CLUSTERING Especifica que las incorporaciones se usarán para el agrupamiento en clústeres.
QUESTION_ANSWERING Especifica que el texto dado se utilizará para responder preguntas.
FACT_VERIFICATION Especifica que el texto proporcionado se utilizará para la verificación de datos.