Los modelos de embeddings de Vertex AI pueden generar embeddings optimizadas para varios tipos de tareas, como la recuperación de documentos, preguntas y respuesta,s y la verificación de hechos. Los tipos de tareas son etiquetas que optimizan los embeddings que genera el modelo según el caso de uso previsto. En este documento, se describe cómo elegir el tipo de tarea óptimo para tus embeddings.
Modelos compatibles
Los siguientes modelos admiten los tipos de tareas:
text-embedding-005
text-multilingual-embedding-002
gemini-embedding-001
Beneficios de los tipos de tareas
Los tipos de tareas pueden mejorar la calidad de los embeddings que genera un modelo de embeddings.

Por ejemplo, cuando se compilan sistemas de Generación mejorada de recuperación (RAG), un diseño común es usar embeddings de texto y Vector Search para realizar una búsqueda de similitud. En algunos casos, esto puede generar una calidad de búsqueda inferior, ya que las preguntas y sus respuestas no son similares semánticamente. Por ejemplo, una pregunta como "¿Por qué el cielo es azul?" y su respuesta "La dispersión de la luz solar causa el color azul" tienen significados claramente diferentes como declaraciones, lo que significa que un sistema RAG no reconocerá automáticamente su relación, como se muestra en la figura 1. Sin tipos de tareas, un desarrollador de RAG debería entrenar su modelo para aprender la relación entre las consultas y las respuestas, lo que requiere habilidades y experiencia avanzadas en ciencia de datos, o usar la búsqueda expandida basada en LLM o HyDE, que puede generar alta latencia y costos.

Los tipos de tareas te permiten generar embeddings optimizados para tareas específicas, lo que te ahorra el tiempo y el costo que tendría el desarrollo de tus propios embeddings específicos para tareas. La embedding generada para una consulta "¿Por qué el cielo es azul?" y su respuesta "La dispersión de la luz solar causa el color azul" estaría en el espacio de embedding compartido que representa la relación entre ellos, como se muestra en la figura 2. En este ejemplo de RAG, los embeddings optimizados generarían búsquedas de similitud mejoradas.
Además del caso de uso de consulta y respuesta, los tipos de tareas también proporcionan espacio de embeddings optimizados para tareas como la clasificación, el agrupamiento en clústeres y la verificación de datos.
Tipos de tareas compatibles
Los modelos de embeddings que usan tipos de tareas admiten los siguientes tipos de tareas:
Tipo de tarea | Descripción |
---|---|
CLASSIFICATION |
Se usa para generar embeddings optimizados para clasificar textos según las etiquetas predeterminadas |
CLUSTERING |
Se usa para generar embeddings que están optimizados para agrupar textos en función de sus similitudes. |
RETRIEVAL_DOCUMENT , RETRIEVAL_QUERY , QUESTION_ANSWERING y FACT_VERIFICATION |
Se usa para generar embeddings optimizados para la búsqueda de documentos o la recuperación de información |
CODE_RETRIEVAL_QUERY |
Se usa para recuperar un bloque de código basado en una búsqueda en lenguaje natural, como ordenar un array o invertir una lista vinculada. Las incorporaciones de los bloques de código se calculan con RETRIEVAL_DOCUMENT . |
SEMANTIC_SIMILARITY |
Se usa para generar embeddings optimizados para evaluar la similitud del texto. No está diseñado para casos de uso de recuperación. |
El mejor tipo de tarea para tu trabajo de embeddings depende del caso de uso que tengas para tus embeddings. Antes de seleccionar un tipo de tarea, determina tu caso de uso de embeddings.
Determina tu caso de uso de embeddings
Los casos de uso de los embeddings suelen incluirse en una de cuatro categorías: evaluación de la similitud de textos, clasificación de textos, agrupamiento en clústeres de textos o recuperación de información de textos. Si tu caso de uso no se incluye en una de las categorías anteriores, usa el tipo de tarea RETRIEVAL_QUERY
de forma predeterminada.
Existen 2 tipos de formatos de instrucciones de tareas: formato asimétrico y formato simétrico. Deberás usar el correcto según tu caso de uso.
Casos de uso de recuperación (formato asimétrico) |
Tipo de tarea de consulta | Tipo de tarea del documento |
---|---|---|
Búsqueda | RETRIEVAL_QUERY | RETRIEVAL_DOCUMENT |
Búsqueda de respuestas | QUESTION_ANSWERING | |
Verificación de datos | FACT_VERIFICATION | |
Recuperación de código | CODE_RETRIEVAL_QUERY |
Casos de uso de entrada única (formato simétrico) |
Tipo de tarea de entrada |
---|---|
Clasificación | CLASIFICACIÓN |
Agrupamiento en clústeres | AGRUPAMIENTO |
Similitud semántica (no se usa para casos de uso de recuperación; se diseñó para STS) |
SEMANTIC_SIMILARITY |
Clasifica textos
Si deseas usar embeddings para clasificar textos según etiquetas predeterminadas, usa el tipo de tarea CLASSIFICATION
. Este tipo de tarea genera embeddings en un espacio de embeddings que está optimizado para la clasificación.
Por ejemplo, supongamos que quieres generar embeddings para publicaciones de redes sociales que luego puedes usar para clasificar las opiniones como positivas, negativas o neutrales. Cuando se clasifican los embeddings de una publicación en redes sociales que dice "No me gusta viajar en aviones", el sentimiento se clasifica como negativo.
Agrupación de textos
Si deseas usar embeddings para agrupar textos en función de sus similitudes, usa el tipo de tarea CLUSTERING
. Este tipo de tarea genera embeddings que están optimizados para agruparse según sus similitudes.
Por ejemplo, supongamos que deseas generar embeddings para artículos de noticias para mostrar a los usuarios artículos relacionados con el tema que leyeron antes. Después de que se generen y agrupen los embeddings, puedes recomendar artículos adicionales relacionados con deportes a los usuarios que leen mucho sobre este tema.
Estos son otros casos de uso para el agrupamiento en clústeres:
- Segmentación de clientes: Agrupa a los clientes con embeddings similares generadas a partir de sus perfiles o actividades para el marketing segmentado y las experiencias personalizadas.
- Segmentación de productos: El agrupamiento en clústeres de embeddings de productos según el título y la descripción del producto, las imágenes del producto o las opiniones de los clientes puede ayudar a las empresas a realizar análisis de segmentos de sus productos.
- Investigación de mercado: El agrupamiento de respuestas de encuestas a consumidores o embeddings de datos de redes sociales puede revelar patrones y tendencias ocultos en las opiniones, preferencias y comportamientos de los consumidores, lo que ayuda a las iniciativas de investigación de mercado y a informar las estrategias de desarrollo de productos.
- Cuidado de la salud: El agrupamiento en clústeres de los embeddings de pacientes derivados de datos médicos puede ayudar a identificar grupos con afecciones similares o respuestas de tratamiento, lo que genera planes de atención médica más personalizados y terapias orientadas.
- Tendencias de los comentarios de los clientes: Agrupar los comentarios de los clientes de varios canales (encuestas, redes sociales, tickets de asistencia) puede ayudar a identificar puntos problemáticos comunes, solicitudes de funciones y áreas de mejora del producto.
Recupera información de textos
Cuando compilas un sistema de búsqueda o recuperación, trabajas con dos tipos de texto:
- Corpus: Es la colección de documentos en la que deseas realizar la búsqueda.
- Consulta: Es el texto que proporciona un usuario para buscar información dentro del corpus.
Para obtener el mejor rendimiento, debes usar diferentes tipos de tareas para generar embeddings para tu corpus y tus búsquedas.
Primero, genera embeddings para toda tu colección de documentos. Este es el contenido que recuperarán las búsquedas de los usuarios. Cuando incorpores estos documentos, usa el tipo de tarea RETRIEVAL_DOCUMENT
. Por lo general, realizas este paso una vez para indexar todo tu corpus y, luego, almacenar los embeddings resultantes en una base de datos de vectores.
Luego, cuando un usuario envía una búsqueda, generas un embedding para el texto de su búsqueda en tiempo real. Para ello, debes usar un tipo de tarea que coincida con la intención del usuario. Luego, tu sistema usará esta incorporación de búsqueda para encontrar las incorporaciones de documentos más similares en tu base de datos de vectores.
Los siguientes tipos de tareas se usan para las búsquedas:
RETRIEVAL_QUERY
: Usa esta opción para una búsqueda estándar en la que deseas encontrar documentos relevantes. El modelo busca incorporaciones de documentos que sean semánticamente similares a la incorporación de la búsqueda.QUESTION_ANSWERING
: Usa este valor cuando se espera que todas las búsquedas sean preguntas adecuadas, como "¿Por qué el cielo es azul?" o "¿Cómo me ato los cordones?".FACT_VERIFICATION
: Usa este parámetro cuando quieras recuperar un documento de tu corpus que pruebe o refute una afirmación. Por ejemplo, la búsqueda "las manzanas crecen bajo tierra" podría recuperar un artículo sobre manzanas que, en última instancia, refutaría la afirmación.
Considera la siguiente situación del mundo real en la que las búsquedas de recuperación serían útiles:
- En el caso de una plataforma de comercio electrónico, debes usar embeddings para permitir que los usuarios busquen productos con imágenes y consultas de texto, lo que proporciona una experiencia de compra más intuitiva y atractiva.
- En el caso de una plataforma educativa, quieres crear un sistema de respuesta a preguntas que pueda responder las preguntas de los estudiantes en función del contenido de los libros de texto o los recursos educativos, brindar experiencias de aprendizaje personalizadas y ayudar a los estudiantes a comprender conceptos complejos.
Recuperación de código
text-embedding-005
admite un nuevo tipo de tarea CODE_RETRIEVAL_QUERY
, que se puede usar para recuperar bloques de código relevantes con consultas de texto sin formato. Para usar esta función, los bloques de código deben incorporarse con el tipo de tarea RETRIEVAL_DOCUMENT
, mientras que las búsquedas de texto deben incorporarse con CODE_RETRIEVAL_QUERY
.
Para explorar todos los tipos de tareas, consulta la referencia del modelo.
A continuación, se muestra un ejemplo:
REST
PROJECT_ID=PROJECT_ID
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-embedding-005:predict -d \
$'{
"instances": [
{
"task_type": "CODE_RETRIEVAL_QUERY",
"content": "Function to add two numbers"
}
],
}'
Evalúa la similitud del texto
Si quieres usar embeddings para evaluar la similitud del texto, usa el tipo de tarea SEMANTIC_SIMILARITY
. Este tipo de tarea genera embeddings que están óptimas para generar puntuaciones de similitud.
Por ejemplo, supongamos que deseas generar embeddings para usar para comparar la similitud de los siguientes textos:
- El gato está durmiendo.
- El felino está durmiendo la siesta
Cuando se usan los embeddings para crear una puntuación de similitud, esta es alta, ya que ambos textos tienen casi el mismo significado.
Considera las siguientes situaciones del mundo real en las que sería útil evaluar la similitud de las entradas:
- En el caso de un sistema de recomendaciones, deseas identificar elementos (p.ej., productos, artículos, películas) que sean semánticamente similares a los elementos preferidos de un usuario, lo que te permite proporcionar recomendaciones personalizadas y mejorar la satisfacción del usuario.
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. Para obtener más información, consulta la documentación de referencia de la API de Python.
Las siguientes limitaciones se aplican cuando se usan estos modelos:
- No uses estos modelos de vista previa en sistemas esenciales o de producción.
- Estos modelos solo están disponibles en
us-central1
. - Las predicciones por lotes no son compatibles.
- No se admite la personalización.
¿Qué sigue?
- Obtén más información para obtener embeddings de texto.