La API de Text embeddings convierte datos textuales en vectores numéricos. Estas representaciones vectoriales están diseñadas para capturar el significado y el contexto semántico de las palabras que representan.
Modelos compatibles:
Modelos en inglés | Modelos multilingües |
---|---|
textembedding-gecko@001 |
textembedding-gecko-multilingual@001 |
textembedding-gecko@003 |
text-multilingual-embedding-002 |
text-embedding-004 |
|
text-embedding-005 |
Sintaxis
curl
PROJECT_ID = PROJECT_ID REGION = us-central1 MODEL_ID = MODEL_ID curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/publishers/google/models/${MODEL_ID}:predict -d \ '{ "instances": [ ... ], "parameters": { ... } }'
Python
PROJECT_ID = PROJECT_ID REGION = us-central1 MODEL_ID = MODEL_ID import vertexai from vertexai.language_models import TextEmbeddingModel vertexai.init(project=PROJECT_ID, location=REGION) model = TextEmbeddingModel.from_pretrained(MODEL_ID) embeddings = model.get_embeddings(...)
Lista de parámetros
Parámetros | |
---|---|
|
Cada instancia representa un solo texto que se incorporará. |
|
El texto para el que deseas generar incorporaciones. |
|
Opcional: Cuando se establece como verdadero, se trunca el texto de entrada. Cuando se establece como falso, se muestra un error si el texto de entrada es más largo que la longitud máxima que admite el modelo. El valor predeterminado es verdadero. |
|
Opcional: Se usa para especificar el tamaño de la incorporación de salida. Si se establece, los embeddings de salida se truncarán al tamaño especificado. |
Cuerpo de la solicitud
{
"instances": [
{
"task_type": "RETRIEVAL_DOCUMENT",
"title": "document title",
"content": "I would like embeddings for this text!"
},
]
}
Parámetros | |
---|---|
|
El texto para el que deseas generar incorporaciones. |
|
Opcional: Se usa para transmitir la aplicación descendente deseada para ayudar al modelo a producir mejores incorporaciones. Si se deja en blanco, el valor predeterminado es
El parámetro Para obtener más información sobre los tipos de tareas, consulta Elige un tipo de tarea de embeddings. |
|
Opcional: Se usa para ayudar al modelo a producir mejores incorporaciones.
Solo es válido con |
taskType
En la siguiente tabla, se describen los valores del parámetro task_type
y sus casos de uso:
task_type |
Descripción |
---|---|
RETRIEVAL_QUERY |
Especifica que el texto dado es una consulta en un parámetro de configuración de búsqueda o recuperación. |
RETRIEVAL_DOCUMENT |
Especifica que el texto dado de un documento en un parámetro de configuración de búsqueda o recuperación. |
SEMANTIC_SIMILARITY |
Especifica que el texto dado se usa para la similitud textual semántica (STS). |
CLASSIFICATION |
Especifica que la incorporación se usa para la clasificación. |
CLUSTERING |
Especifica que la incorporación se usa para el agrupamiento en clústeres. |
QUESTION_ANSWERING |
Especifica que la incorporación de consultas se usa para responder preguntas. Usa RETRIEVAL_DOCUMENT para el lado del documento. |
FACT_VERIFICATION |
Especifica que la incorporación de consultas se usa para la verificación de datos. |
CODE_RETRIEVAL_QUERY |
Especifica que la incorporación de consultas se usa para la recuperación de código para Java y Python. |
Tareas de recuperación:
Búsqueda: Usa task_type=RETRIEVAL_QUERY
para indicar que el texto de entrada es una búsqueda.
Corpus: Usa task_type=RETRIEVAL_DOCUMENT
para indicar que el texto de entrada forma parte de la colección de documentos que se busca.
Tareas de similitud:
Similitud semántica: Usa task_type= SEMANTIC_SIMILARITY
para ambos textos de entrada para evaluar su similitud de significado general.
Cuerpo de la respuesta
{
"predictions": [
{
"embeddings": {
"statistics": {
"truncated": boolean,
"token_count": integer
},
"values": [ number ]
}
}
]
}
Elemento de la respuesta | Descripción |
---|---|
embeddings |
El resultado generado a partir del texto de entrada. |
statistics |
Las estadísticas calculadas a partir del texto de entrada. |
truncated |
Indica si el texto de entrada fue más largo que la cantidad máxima de tokens permitidos y si se truncó. |
tokenCount |
Cantidad de tokens del texto de entrada. |
values |
El campo values contiene los vectores de incorporación correspondientes a las palabras del texto de entrada. |
Respuesta de muestra
{
"predictions": [
{
"embeddings": {
"values": [
0.0058424929156899452,
0.011848051100969315,
0.032247550785541534,
-0.031829461455345154,
-0.055369812995195389,
...
],
"statistics": {
"token_count": 4,
"truncated": false
}
}
}
]
}
Ejemplos
Cómo incorporar una cadena de texto
Caso de uso básico
En el siguiente ejemplo, se muestra cómo obtener la incorporación de una cadena de texto.
REST
Después de configurar tu entorno, puedes usar REST para probar una instrucción de texto. En el siguiente ejemplo, se envía una solicitud al extremo del modelo de publicador.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto.
- TEXT: El texto para el que deseas generar incorporaciones. Límite: cinco textos de hasta 2,048 tokens por texto para todos los modelos, excepto
textembedding-gecko@001
. La longitud máxima del token de entrada paratextembedding-gecko@001
es 3,072. - AUTO_TRUNCATE: Si se establece en
false
, el texto que excede el límite del token hace que la solicitud falle. El valor predeterminado estrue
.
HTTP method and URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-embedding-004:predict
Cuerpo JSON de la solicitud:
{ "instances": [ { "content": "TEXT"} ], "parameters": { "autoTruncate": AUTO_TRUNCATE } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-embedding-004:predict"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-embedding-004:predict" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación: Ten en cuenta que values
se truncó para ahorrar espacio.
- Usa el método
generateContent
para solicitar que la respuesta se muestre después de que se haya generado por completo. Para reducir la percepción de latencia a un público humano, transmite la respuesta a medida que se genera; para ello, usa el métodostreamGenerateContent
. - El ID del modelo multimodal se encuentra al final de la URL antes del método (por ejemplo,
gemini-1.5-flash
ogemini-1.0-pro-vision
). Esta muestra también puede admitir otros modelos.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Go
Antes de probar este ejemplo, sigue las instrucciones de configuración para Go incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Go.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Caso de uso avanzado
En el siguiente ejemplo, se muestran algunas funciones avanzadas.
- Usa
task_type
ytitle
para mejorar la calidad de la incorporación. - Usa parámetros para controlar el comportamiento de la API.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto.
- TEXT: El texto para el que deseas generar incorporaciones. Límite: Cinco textos de hasta 3,072 tokens por texto.
- TASK_TYPE: Se usa para transmitir la aplicación descendente prevista para ayudar al modelo a producir mejores incorporaciones.
- TITLE: Se usa para ayudar al modelo a producir mejores incorporaciones.
- AUTO_TRUNCATE: Si se establece en
false
, el texto que excede el límite del token hace que la solicitud falle. El valor predeterminado estrue
. - OUTPUT_DIMENSIONALITY: Se usa para especificar el tamaño de la incorporación de salida. Si se establece, los embeddings de salida se truncarán al tamaño especificado.
Método HTTP y URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/textembedding-gecko@003:predict
Cuerpo JSON de la solicitud:
{ "instances": [ { "content": "TEXT", "task_type": "TASK_TYPE", "title": "TITLE" }, ], "parameters": { "autoTruncate": AUTO_TRUNCATE, "outputDimensionality": OUTPUT_DIMENSIONALITY } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/textembedding-gecko@003:predict"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/textembedding-gecko@003:predict" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación: Ten en cuenta que values
se truncó para ahorrar espacio.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Go
Antes de probar este ejemplo, sigue las instrucciones de configuración para Go incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Go.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Idiomas de texto admitidos
Todos los modelos de incorporación de texto admiten texto en inglés y se evaluaron en él. Además, los modelos textembedding-gecko-multilingual@001
y text-multilingual-embedding-002
admiten y se evaluaron en los siguientes idiomas:
- Idiomas evaluados:
Arabic (ar)
,Bengali (bn)
,English (en)
,Spanish (es)
,German (de)
,Persian (fa)
,Finnish (fi)
,French (fr)
,Hindi (hi)
,Indonesian (id)
,Japanese (ja)
,Korean (ko)
,Russian (ru)
,Swahili (sw)
,Telugu (te)
,Thai (th)
,Yoruba (yo)
,Chinese (zh)
- Idiomas admitidos:
Afrikaans
,Albanian
,Amharic
,Arabic
,Armenian
,Azerbaijani
,Basque
,Belarusiasn
,Bengali
,Bulgarian
,Burmese
,Catalan
,Cebuano
,Chichewa
,Chinese
,Corsican
,Czech
,Danish
,Dutch
,English
,Esperanto
,Estonian
,Filipino
,Finnish
,French
,Galician
,Georgian
,German
,Greek
,Gujarati
,Haitian Creole
,Hausa
,Hawaiian
,Hebrew
,Hindi
,Hmong
,Hungarian
,Icelandic
,Igbo
,Indonesian
,Irish
,Italian
,Japanese
,Javanese
,Kannada
,Kazakh
,Khmer
,Korean
,Kurdish
,Kyrgyz
,Lao
,Latin
,Latvian
,Lithuanian
,Luxembourgish
,Macedonian
,Malagasy
,Malay
,Malayalam
,Maltese
,Maori
,Marathi
,Mongolian
,Nepali
,Norwegian
,Pashto
,Persian
,Polish
,Portuguese
,Punjabi
,Romanian
,Russian
,Samoan
,Scottish Gaelic
,Serbian
,Shona
,Sindhi
,Sinhala
,Slovak
,Slovenian
,Somali
,Sotho
,Spanish
,Sundanese
,Swahili
,Swedish
,Tajik
,Tamil
,Telugu
,Thai
,Turkish
,Ukrainian
,Urdu
,Uzbek
,Vietnamese
,Welsh
,West Frisian
,Xhosa
,Yiddish
,Yoruba
,Zulu
.
Versiones del modelo
Para usar una versión del modelo estable, especifica el número de versión del modelo, por ejemplo, text-embedding-004
.
No se recomienda especificar un modelo sin un número de versión, como textembedding-gecko
,
ya que es solo un puntero heredado a otro modelo y no es estable.
Cada versión estable está disponible durante seis meses después de la fecha de lanzamiento de la versión estable posterior.
La siguiente tabla contiene las versiones disponibles del modelo estable:
Nombre del modelo | Fecha de lanzamiento | Fecha de descontinuación |
---|---|---|
text-embedding-005 | 18 de noviembre de 2024 | Sin establecer |
text-embedding-004 | 14 de mayo de 2024 | 18 de noviembre de 2025 |
text-multilingual-embedding-002 | 14 de mayo de 2024 | Sin establecer |
textembedding-gecko@003 | 12 de diciembre de 2023 | 14 de mayo de 2025 |
textembedding-gecko-multilingual@001 | 2 de noviembre de 2023 | 14 de mayo de 2025 |
textembedding-gecko@002 (regresado, pero compatible) |
2 de noviembre de 2023 | 9 de abril de 2025 |
textembedding-gecko@001 (regresado, pero compatible) |
7 de junio de 2023 | 9 de abril de 2025 |
multimodalembedding@001 | 12 de febrero de 2024 | Sin establecer |
Para obtener más información, consulta Versiones de modelo y ciclo de vida
¿Qué sigue?
Para obtener documentación detallada, consulta lo siguiente: