Los embeddings son una representación numérica de la entrada de texto que permite una serie de casos de uso únicos, como el agrupamiento en clústeres, la medición de la similitud y la recuperación de información. Para obtener una introducción, consulta la guía de incorporaciones.
A diferencia de los modelos de IA generativa que crean contenido nuevo, el modelo de Gemini Embedding solo está diseñado para transformar el formato de tus datos de entrada en una representación numérica. Si bien Google es responsable de proporcionar un modelo de incorporación que transforme el formato de tus datos de entrada al formato numérico solicitado, los usuarios siguen siendo totalmente responsables de los datos que ingresan y de las incorporaciones resultantes. Si utilizas el modelo de Gemini Embedding, confirmas que tienes los derechos necesarios sobre cualquier contenido que subas. No generes contenido que infrinja la propiedad intelectual o los derechos de privacidad de otras personas. El uso de este servicio está sujeto a nuestra Política de Uso Prohibido y a las Condiciones del Servicio de Google.
Método: models.embedContent
- Extremo
- Parámetros de ruta de acceso
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- Permisos de autorización
- Ejemplo de solicitud
Genera un vector de incorporación de texto a partir del Content
de entrada con el modelo de incorporación de Gemini especificado.
Extremo
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:embedContent
Parámetros de ruta
model
string
Obligatorio. Es el nombre del recurso del modelo. Este valor sirve como ID para que lo use el modelo.
Este nombre debe coincidir con un nombre de modelo que muestre 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:
content
object (Content
)
Obligatorio. Es el contenido que se incorporará. Solo se contarán los campos parts.text
.
taskType
enum (TaskType
)
Opcional. Es el tipo de tarea opcional para el que se usarán los embeddings. No es compatible con modelos anteriores (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 la recuperación.
outputDimensionality
integer
Opcional. Dimensión reducida opcional para el embedding de salida. Si se establece, los valores excesivos en el embedding de salida se truncan desde el final. Solo es compatible con los modelos más recientes desde 2024. No puedes establecer este valor si usas el modelo anterior (models/embedding-001
).
Ejemplo de solicitud
Python
Node.js
Go
Almeja
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de EmbedContentResponse
.
Método: models.batchEmbedContents
- Extremo
- Parámetros de ruta de acceso
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- Permisos de autorización
- Ejemplo de solicitud
Genera varios vectores de incorporación a partir del Content
de entrada, que consta de un lote de cadenas representadas como objetos EmbedContentRequest
.
Extremo
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:batchEmbedContents
Parámetros de ruta
model
string
Obligatorio. Es el nombre del recurso del modelo. Este valor sirve como ID para que lo use el modelo.
Este nombre debe coincidir con un nombre de modelo que muestre 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:
requests[]
object (EmbedContentRequest
)
Obligatorio. Son las solicitudes de incorporación para el lote. El modelo en cada una de estas solicitudes debe coincidir con el modelo especificado BatchEmbedContentsRequest.model
.
Ejemplo de solicitud
Python
Node.js
Go
Almeja
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:
embeddings[]
object (ContentEmbedding
)
Solo salida. Son las incorporaciones para cada solicitud, en el mismo orden en que se proporcionaron en la solicitud por lotes.
Representación JSON |
---|
{
"embeddings": [
{
object ( |
Método: models.asyncBatchEmbedContent
- Extremo
- Parámetros de ruta de acceso
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- Permisos de autorización
- EmbedContentRequest
Pone en cola un lote de solicitudes de models.embedContent
para el procesamiento por lotes. Tenemos un controlador models.batchEmbedContents
en GenerativeService
, pero se sincronizó. Por lo tanto, le asignamos el nombre Async
para evitar confusiones.
Extremo
posthttps: / /generativelanguage.googleapis.com /v1beta /{batch.model=models /*}:asyncBatchEmbedContent
Parámetros de ruta
batch.model
string
Obligatorio. Es el nombre del Model
que se usará para generar la finalización.
Formato: models/{model}
. Toma la forma models/{model}
.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
batch.name
string
Solo salida. Es el identificador. Es el nombre del recurso del lote.
Formato: batches/{batchId}
.
batch.displayName
string
Obligatorio. Es el nombre definido por el usuario de este lote.
batch.inputConfig
object (InputEmbedContentConfig
)
Obligatorio. Es la configuración de entrada de las instancias en las que se realiza el procesamiento por lotes.
batch.output
object (EmbedContentBatchOutput
)
Solo salida. Es el resultado de la solicitud por lotes.
batch.createTime
string (Timestamp
format)
Solo salida. Es la fecha y hora en que se creó el lote.
Usa el formato RFC 3339, en el que el resultado generado siempre estará normalizado a Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
o "2014-10-02T15:01:23+05:30"
.
batch.endTime
string (Timestamp
format)
Solo salida. Es la fecha y hora en que se completó el procesamiento por lotes.
Usa el formato RFC 3339, en el que el resultado generado siempre estará normalizado a Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
o "2014-10-02T15:01:23+05:30"
.
batch.updateTime
string (Timestamp
format)
Solo salida. Fecha y hora en la que se actualizó el lote por última vez.
Usa el formato RFC 3339, en el que el resultado generado siempre estará normalizado a Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
o "2014-10-02T15:01:23+05:30"
.
batch.batchStats
object (EmbedContentBatchStats
)
Solo salida. Son las estadísticas sobre el lote.
batch.state
enum (BatchState
)
Solo salida. Es el estado del lote.
batch.priority
string (int64 format)
Opcional. Es la prioridad del lote. Los lotes con un valor de prioridad más alto se procesarán antes que los lotes con un valor de prioridad más bajo. Se permiten valores negativos. El valor predeterminado es 0.
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de Operation
.
EmbedContentRequest
Solicitud que contiene el Content
para que el modelo lo incorpore.
model
string
Obligatorio. Es el nombre del recurso del modelo. Este valor sirve como ID para que lo use el modelo.
Este nombre debe coincidir con un nombre de modelo que muestre el método models.list
.
Formato: models/{model}
content
object (Content
)
Obligatorio. Es el contenido que se incorporará. Solo se contarán los campos parts.text
.
taskType
enum (TaskType
)
Opcional. Es el tipo de tarea opcional para el que se usarán los embeddings. No es compatible con modelos anteriores (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 la recuperación.
outputDimensionality
integer
Opcional. Dimensión reducida opcional para el embedding de salida. Si se establece, los valores excesivos en el embedding de salida se truncan desde el final. Solo es compatible con los modelos más recientes desde 2024. No puedes establecer este valor si usas el modelo anterior (models/embedding-001
).
EmbedContentResponse
Es la respuesta a un EmbedContentRequest
.
embedding
object (ContentEmbedding
)
Solo salida. Es la incorporación generada a partir del contenido de entrada.
Representación JSON |
---|
{
"embedding": {
object ( |
ContentEmbedding
Es una lista de números de punto flotante que representan una incorporación.
values[]
number
Son los valores de la incorporación.
Representación JSON |
---|
{ "values": [ number ] } |
TaskType
Es el tipo de tarea para la que se usará la incorporación.
Enumeraciones | |
---|---|
TASK_TYPE_UNSPECIFIED |
Es un 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 en el que se realiza la búsqueda. |
SEMANTIC_SIMILARITY |
Especifica que el texto dado se usará para la STS. |
CLASSIFICATION |
Especifica que se clasificará el texto determinado. |
CLUSTERING |
Especifica que las incorporaciones se usarán para el agrupamiento en clústeres. |
QUESTION_ANSWERING |
Especifica que el texto proporcionado se usará para responder preguntas. |
FACT_VERIFICATION |
Especifica que el texto proporcionado se usará para la verificación de datos. |
CODE_RETRIEVAL_QUERY |
Especifica que el texto proporcionado se usará para la recuperación de código. |
EmbedContentBatch
- Representación JSON
- InputEmbedContentConfig
- InlinedEmbedContentRequests
- InlinedEmbedContentRequest
- EmbedContentBatchOutput
- InlinedEmbedContentResponses
- InlinedEmbedContentResponse
- EmbedContentBatchStats
Es un recurso que representa un lote de solicitudes de EmbedContent
.
model
string
Obligatorio. Es el nombre del Model
que se usará para generar la finalización.
Formato: models/{model}
.
name
string
Solo salida. Es el identificador. Es el nombre del recurso del lote.
Formato: batches/{batchId}
.
displayName
string
Obligatorio. Es el nombre definido por el usuario de este lote.
inputConfig
object (InputEmbedContentConfig
)
Obligatorio. Es la configuración de entrada de las instancias en las que se realiza el procesamiento por lotes.
output
object (EmbedContentBatchOutput
)
Solo salida. Es el resultado de la solicitud por lotes.
createTime
string (Timestamp
format)
Solo salida. Es la fecha y hora en que se creó el lote.
Usa el formato RFC 3339, en el que el resultado generado siempre estará normalizado a Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
o "2014-10-02T15:01:23+05:30"
.
endTime
string (Timestamp
format)
Solo salida. Es la fecha y hora en que se completó el procesamiento por lotes.
Usa el formato RFC 3339, en el que el resultado generado siempre estará normalizado a Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
o "2014-10-02T15:01:23+05:30"
.
updateTime
string (Timestamp
format)
Solo salida. Fecha y hora en la que se actualizó el lote por última vez.
Usa el formato RFC 3339, en el que el resultado generado siempre estará normalizado a Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
o "2014-10-02T15:01:23+05:30"
.
batchStats
object (EmbedContentBatchStats
)
Solo salida. Son las estadísticas sobre el lote.
state
enum (BatchState
)
Solo salida. Es el estado del lote.
priority
string (int64 format)
Opcional. Es la prioridad del lote. Los lotes con un valor de prioridad más alto se procesarán antes que los lotes con un valor de prioridad más bajo. Se permiten valores negativos. El valor predeterminado es 0.
Representación JSON |
---|
{ "model": string, "name": string, "displayName": string, "inputConfig": { object ( |
InputEmbedContentConfig
Configura la entrada de la solicitud por lotes.
source
Union type
source
puede ser una de las siguientes opciones:fileName
string
Nombre del File
que contiene las solicitudes de entrada.
requests
object (InlinedEmbedContentRequests
)
Son las solicitudes que se procesarán en el lote.
Representación JSON |
---|
{
// source
"fileName": string,
"requests": {
object ( |
InlinedEmbedContentRequests
Son las solicitudes que se procesarán en el lote si se proporcionan como parte de la solicitud de creación del lote.
requests[]
object (InlinedEmbedContentRequest
)
Obligatorio. Son las solicitudes que se procesarán en el lote.
Representación JSON |
---|
{
"requests": [
{
object ( |
InlinedEmbedContentRequest
Es la solicitud que se procesará en el lote.
request
object (EmbedContentRequest
)
Obligatorio. Es la solicitud que se procesará en el lote.
metadata
object (Struct
format)
Opcional. Son los metadatos que se asociarán con la solicitud.
Representación JSON |
---|
{
"request": {
object ( |
EmbedContentBatchOutput
Es el resultado de una solicitud por lotes. Se devuelve en el campo AsyncBatchEmbedContentResponse
o EmbedContentBatch.output
.
output
Union type
output
puede ser una de las siguientes opciones:responsesFile
string
Solo salida. Es el ID del archivo que contiene las respuestas. El archivo será un archivo JSONL con una sola respuesta por línea. Las respuestas serán mensajes EmbedContentResponse
con formato JSON. Las respuestas se escribirán en el mismo orden que las solicitudes de entrada.
inlinedResponses
object (InlinedEmbedContentResponses
)
Solo salida. Son las respuestas a las solicitudes del lote. Se devuelve cuando el lote se compiló con solicitudes intercaladas. Las respuestas estarán en el mismo orden que las solicitudes de entrada.
Representación JSON |
---|
{
// output
"responsesFile": string,
"inlinedResponses": {
object ( |
InlinedEmbedContentResponses
Son las respuestas a las solicitudes del lote.
inlinedResponses[]
object (InlinedEmbedContentResponse
)
Solo salida. Son las respuestas a las solicitudes del lote.
Representación JSON |
---|
{
"inlinedResponses": [
{
object ( |
InlinedEmbedContentResponse
Es la respuesta a una sola solicitud del lote.
metadata
object (Struct
format)
Solo salida. Son los metadatos asociados a la solicitud.
output
Union type
output
puede ser una de las siguientes opciones:error
object (Status
)
Solo salida. Es el error que se produjo mientras se procesaba la solicitud.
response
object (EmbedContentResponse
)
Solo salida. Es la respuesta a la solicitud.
Representación JSON |
---|
{ "metadata": { object }, // output "error": { object ( |
EmbedContentBatchStats
Son las estadísticas sobre el lote.
requestCount
string (int64 format)
Solo salida. Es la cantidad de solicitudes en el lote.
successfulRequestCount
string (int64 format)
Solo salida. Es la cantidad de solicitudes que se procesaron correctamente.
failedRequestCount
string (int64 format)
Solo salida. Es la cantidad de solicitudes que no se pudieron procesar.
pendingRequestCount
string (int64 format)
Solo salida. Es la cantidad de solicitudes que aún están pendientes de procesamiento.
Representación JSON |
---|
{ "requestCount": string, "successfulRequestCount": string, "failedRequestCount": string, "pendingRequestCount": string } |