En esta página, se describe la función básica de autocompletado de Vertex AI Search. La función Autocomplete genera sugerencias de búsqueda según los primeros caracteres ingresados para la búsqueda.
Las sugerencias que genera la función de autocompletar varían según el tipo de datos que usa la app de búsqueda:
Datos estructurados y no estructurados. De forma predeterminada, el autocompletado genera sugerencias en función del contenido de los documentos en el almacén de datos. Después de la importación de documentos, de forma predeterminada, el autocompletado no comienza a generar sugerencias hasta que hay datos de calidad suficientes, por lo general, un par de días. Si realizas solicitudes de autocompletado a través de la API, el autocompletado puede generar sugerencias basadas en el historial de búsqueda o los eventos del usuario.
Datos del sitio web. De forma predeterminada, la función de autocompletar genera sugerencias del historial de búsqueda. La función Autocompletar requiere tráfico de búsqueda real. Después de que comienza el tráfico de búsqueda, el autocompletado tarda uno o dos días en generar sugerencias. Las sugerencias se pueden generar a partir de datos rastreados en la Web de sitios públicos con el modelo de datos de documentos avanzados experimental.
Datos de atención médica. De forma predeterminada, se usa una fuente de datos médica canónica para generar sugerencias de autocompletado para los almacenes de datos de atención médica. En el caso de la búsqueda de atención médica, el autocompletado es una función de versión preliminar.
El modelo de datos de autocompletar determina qué tipo de datos usa el autocompletar para generar sugerencias. Existen cuatro modelos de autocompletado:
Document. El modelo de documentos genera sugerencias a partir de los documentos que importa el usuario. Este modelo no está disponible para los datos de sitios web ni de atención médica.
Campos completables. El modelo de campos completables sugiere texto tomado directamente de los campos de datos estructurados. Solo los campos que están anotados con
completable
se usan para las sugerencias de autocompletado. Este modelo solo está disponible para datos estructurados.Historial de búsqueda. El modelo de historial de búsqueda genera sugerencias a partir del historial de llamadas a la API de
SearchService.search
. No uses este modelo si no hay tráfico disponible para el métodoservingConfigs.search
. Este modelo no está disponible para los datos de atención médica.Evento del usuario. El modelo de eventos del usuario genera sugerencias a partir de los eventos de búsqueda que el usuario importa. Este modelo no está disponible para los datos de atención médica.
Las solicitudes de Autocomplete se envían con el método dataStores.completeQuery
.
En la siguiente tabla, se muestran los tipos de modelos de autocompletado disponibles para cada tipo de datos.
Modelo de datos de Autocomplete |
Fuente de datos |
Datos del sitio web |
Datos estructurados |
Datos desordenados |
---|---|---|---|---|
Documento | Importado por el usuario | ✔* (predeterminada) | ✔ (predeterminada) | |
Campos completables | Importado por el usuario | ✔ | ||
Historial de búsquedas | Recopilados automáticamente | ✔ (predeterminada) | ✔ | ✔ |
Eventos del usuario | Se importa a través del usuario o se recopila automáticamente a través del widget | ✔ | ✔ | ✔ |
Contenido rastreado en la Web | Se rastrea desde el contenido de sitios web públicos que especifica el usuario. | ✔† |
* : El esquema del documento debe contener campos title
o description
, o bien debe haber campos que se hayan especificado como propiedades clave title
o description
. Consulta Cómo actualizar un esquema para datos estructurados.
† : El contenido rastreado en la Web solo se puede usar como fuente de datos si está habilitado el modelo experimental de datos de documentos avanzados para el autocompletado. Consulta Modelo de datos de documentos avanzados.
Si no quieres usar el modelo predeterminado para tu tipo de datos, puedes especificar un modelo diferente cuando envíes tu solicitud de autocompletado. Las solicitudes de autocompletado se envían con el método dataStores.completeQuery
. Para obtener información, consulta Instrucciones de la API: Envía una solicitud de autocompletado para elegir un modelo diferente.
Funciones de autocompletar
Vertex AI Search admite las siguientes funciones de autocompletado para mostrar las predicciones más útiles durante la búsqueda:
Atributo | Descripción | Ejemplo o más información |
---|---|---|
Cómo corregir errores tipográficos | Corrige la ortografía de las palabras que son errores tipográficos. | Milc → Milk .
|
Quita los términos no seguros |
|
Texto ofensivo, como pornografía, imágenes o lenguaje sexual, vulgar o violento |
Lista de bloqueo |
|
Para obtener más información, consulta Cómo usar una lista de bloqueo para autocompletar. |
Anula los términos duplicados |
|
Shoes for Women , Womens Shoes y Womans Shoes se eliminan, y solo se sugiere la más popular. |
Sugerencias de concordancia de cola |
|
Para obtener más información, consulta Sugerencias de coincidencia de cola. |
Sugerencias de concordancia de cola
Las sugerencias de concordancia de cola se realizan con la concordancia de prefijo exacta en la última palabra de una cadena de consulta.
Por ejemplo, supongamos que la búsqueda "canciones con él" se envía en una solicitud de autocompletado. Cuando la coincidencia de cola está habilitada, es posible que el autocompletado determine que el prefijo completo "songs with he" no tiene ninguna coincidencia. Sin embargo, la última palabra de la búsqueda, "he", tiene una concordancia de prefijo exacta con "hello world" y "hello kitty". En ese caso, las sugerencias que se muestran son "songs with hello world" y "songs with hello kitty" porque no hay sugerencias de coincidencia completa.
Puedes usar esta función para reducir los resultados de sugerencias vacías y aumentar la diversidad de sugerencias, lo que resulta especialmente útil en los casos en que las fuentes de datos (cantidad de eventos del usuario, historial de búsqueda y cobertura de temas de documentos) son limitadas. Sin embargo, habilitar las sugerencias de concordancia de cola puede reducir la calidad general de las sugerencias. Debido a que la concordancia de cola solo coincide con la palabra final del prefijo, es posible que algunas sugerencias que se muestran no tengan sentido. Por ejemplo, una búsqueda como "canciones con él" podría obtener una sugerencia de concordancia de cola como "canciones con guías de ayuda".
Las sugerencias de concordancia de cola solo se muestran en los siguientes casos:
include_tail_suggestions
se establece entrue
en la solicituddataStores.completeQuery
.No hay sugerencias de coincidencia de prefijo completo para la búsqueda.
Cómo activar o desactivar la función Autocomplete en un widget
Para activar o desactivar el autocompletado de un widget, sigue estos pasos:
Console
En la consola de Google Cloud, ve a la página Agent Builder.
Haz clic en el nombre de la app que deseas editar.
Haz clic en Parámetros de configuración.
Haz clic en la pestaña IU.
Activa o desactiva la opción Mostrar sugerencias de autocompletar para activar o desactivar las sugerencias de autocompletar del widget. Cuando habilites la función, espera uno o dos días antes de que comiencen a aparecer las sugerencias. En la búsqueda de atención médica, la función Autocomplete es una función de versión preliminar.
Actualiza la configuración de Autocompletar
Para configurar la configuración de autocompletar, sigue estos pasos:
Console
En la consola de Google Cloud, ve a la página Agent Builder.
Haz clic en el nombre de la app que deseas editar.
Haz clic en Parámetros de configuración.
Haz clic en la pestaña Autocomplete.
Ingresa o selecciona valores nuevos para la configuración de autocompletar que deseas actualizar:
- Cantidad máxima de sugerencias: Es la cantidad máxima de sugerencias de autocompletar que se puede ofrecer para una consulta.
- Longitud mínima para activar: Es la cantidad mínima de caracteres que se pueden escribir antes de que se ofrezcan sugerencias de autocompletar.
- Orden coincidente: Es la ubicación en una cadena de consulta desde la que la función Autocomplete puede comenzar a hacer coincidir sus sugerencias.
- Modelo de autocompletar: Es el modelo de datos de autocompletar que se usa para generar las sugerencias recuperadas. Esto se puede anular en
dataStores.completeQuery
con el parámetroqueryModel
. Habilitar la función Autocompletar: De forma predeterminada, la función Autocompletar no comienza a hacer sugerencias hasta que tiene datos de calidad suficientes, por lo general, un par de días. Si quieres anular esta configuración predeterminada y comenzar a recibir algunas sugerencias de autocompletado antes, selecciona Ahora.
Incluso si seleccionas Ahora, es posible que las sugerencias tarden un día en generarse y que algunas sugerencias de autocompletado no estén disponibles o sean de baja calidad hasta que haya suficientes datos de buena calidad.
Haz clic en Guardar y publicar. Los cambios se aplican en unos minutos en los motores en los que ya se activó el autocompletado.
Actualiza las anotaciones de campos completables en el esquema
Para activar la función de autocompletado de campos en el esquema de datos estructurados, sigue estos pasos:
Console
En la consola de Google Cloud, ve a la página Agent Builder.
Haz clic en el nombre de la app que deseas editar. Se deben usar datos estructurados.
Haz clic en Datos (Data).
Haz clic en la pestaña Esquema.
Haz clic en Editar para seleccionar los campos del esquema que deseas marcar como
completable
.Haz clic en Guardar para guardar las configuraciones de campos actualizadas. Estas sugerencias tardan aproximadamente un día en generarse y mostrarse.
Cómo enviar solicitudes de autocompletado
En los siguientes ejemplos, se muestra cómo enviar solicitudes de autocompletado.
REST
Para enviar una solicitud de autocompletado con la API, sigue estos pasos:
Busca el ID de tu almacén de datos. Si ya tienes el ID del almacén de datos, ve al siguiente paso.
En la consola de Google Cloud, ve a la página Agent Builder y, en el menú de navegación, haz clic en Almacenes de datos.
Haz clic en el nombre de tu almacén de datos.
En la página Datos de tu almacén de datos, obtén el ID del almacén de datos.
Llama al método
dataStores.completeQuery
.curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID:completeQuery?query=QUERY_STRING"
PROJECT_ID: El número o ID de tu proyecto de Google Cloud.
LOCATION: Es la ubicación de tu almacén de datos:
us
,eu
oglobal
.DATA_STORE_ID: Es el ID del almacén de datos asociado con tu app.
QUERY_STRING: Es la entrada de escritura anticipada que se usa para recuperar sugerencias.
Envía una solicitud de autocompletado a un modelo diferente
Para enviar una solicitud de autocompletado con un modelo de datos de autocompletado diferente, sigue estos pasos:
Busca el ID de tu almacén de datos. Si ya tienes el ID del almacén de datos, ve al siguiente paso.
En la consola de Google Cloud, ve a la página Agent Builder y, en el menú de navegación, haz clic en Almacenes de datos.
Haz clic en el nombre de tu almacén de datos.
En la página Datos de tu almacén de datos, obtén el ID del almacén de datos.
Llama al método
dataStores.completeQuery
.curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID:completeQuery?query=QUERY_STRING&query_model=AUTOCOMPLETE_MODEL"
- PROJECT_ID: El número o ID de tu proyecto de Google Cloud.
- LOCATION: Es la ubicación de tu almacén de datos:
us
,eu
oglobal
. - DATA_STORE_ID: Es el ID único del almacén de datos asociado con tu app.
- QUERY_STRING: Es la entrada de escritura anticipada que se usa para recuperar sugerencias.
- AUTOCOMPLETE_MODEL: Es el modelo de datos de autocompletado que se usará para la solicitud:
document
,document-completable
,search-history
ouser-event
. Para los datos de atención médica, usahealthcare-default
.
C#
Para obtener más información, consulta la documentación de referencia de la API de C# del compilador de agentes de Vertex AI.
Para autenticarte en Vertex AI Agent Builder, 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.
Go
Para obtener más información, consulta la documentación de referencia de la API de Go del compilador de agentes de Vertex AI.
Para autenticarte en Vertex AI Agent Builder, 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
Para obtener más información, consulta la documentación de referencia de la API de Java del compilador de agentes de Vertex AI.
Para autenticarte en Vertex AI Agent Builder, 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
Para obtener más información, consulta la documentación de referencia de la API de Node.js del compilador de agentes de Vertex AI.
Para autenticarte en Vertex AI Agent Builder, 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.
Python
Para obtener más información, consulta la documentación de referencia de la API de Python del compilador de agentes de Vertex AI.
Para autenticarte en Vertex AI Agent Builder, 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.
Ruby
Para obtener más información, consulta la documentación de referencia de la API de Ruby del compilador de agentes de Vertex AI.
Para autenticarte en Vertex AI Agent Builder, 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.
Usa una lista de bloqueo para autocompletar
Puedes usar una lista de bloqueo para evitar que términos específicos aparezcan como sugerencias de autocompletar.
Por ejemplo, tomemos una empresa farmacéutica. Si un medicamento ya no está aprobado por la FDA, pero se menciona en documentos de su almacén de datos, es posible que desee evitar que ese medicamento aparezca como una consulta sugerida. La empresa podría agregar el nombre de ese medicamento a una lista de entidades rechazadas para evitar que se sugiera.
Se aplican los siguientes límites:
- Una lista de bloqueo por almacén de datos
- Si subes una lista de bloqueo, se reemplazará cualquier lista de bloqueo existente para ese almacén de datos.
- Hasta 1,000 términos por lista de entidades rechazadas
- Los términos no distinguen mayúsculas de minúsculas.
- Después de importar una lista de entidades rechazadas, esta demora entre 1 y 2 días en aplicarse.
Cada entrada de tu lista de entidades rechazadas consta de un blockPhrase
y un matchOperator
:
blockPhrase
: Ingresa una cadena como término de la lista de entidades rechazadas. Los términos no distinguen mayúsculas de minúsculas.matchOperator
: Acepta los siguientes valores:EXACT_MATCH
: Evita que una coincidencia exacta del término de la lista de bloqueo aparezca como una consulta sugerida.CONTAINS
: Evita que aparezca cualquier sugerencia que contenga el término de la lista de bloqueo.
El siguiente es un ejemplo de una lista de entidades rechazadas con cuatro entradas:
{ "entries": [ {"blockPhrase":"Oranges","matchOperator":"CONTAINS"}, {"blockPhrase":"bAd apples","matchOperator":"EXACT_MATCH"}, {"blockPhrase":"Cool as A Cucumber","matchOperator":"EXACT_MATCH"}, {"blockPhrase":"cherry pick","matchOperator":"CONTAINS"} ] }
Antes de importar una lista de entidades rechazadas, verifica que los controles de acceso necesarios estén configurados para el acceso del editor del motor de descubrimiento.
Las listas de entidades rechazadas se pueden importar desde datos JSON locales o desde Cloud Storage. Para quitar una lista de entidades bloqueadas de un almacén de datos, borra la lista.
Cómo importar una lista de entidades rechazadas desde datos JSON locales
Para importar una lista de entidades bloqueadas desde un archivo JSON local que la contenga, haz lo siguiente:
Crea tu lista de bloqueo en un archivo JSON local con el siguiente formato. Asegúrate de que cada entrada de la lista de entidades bloqueadas esté en una línea nueva sin saltos de línea.
{ "inlineSource": { "entries": [ { "blockPhrase":"TERM_1","matchOperator":"MATCH_OPERATOR_1" }, { "blockPhrase":"TERM_2","matchOperator":"MATCH_OPERATOR_2" } ] } }
Realiza una solicitud POST al método
suggestionDenyListEntries:import
y proporciona el nombre de tu archivo JSON.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data @DENYLIST_FILE \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataStores/DATA_STORE_ID/suggestionDenyListEntries:import"
- DENYLIST_FILE: Es la ruta de acceso local del archivo JSON que contiene los términos de la lista de entidades rechazadas.
- PROJECT_ID: El número o ID de tu proyecto de Google Cloud.
- LOCATION: Es la ubicación de tu almacén de datos:
us
,eu
oglobal
. - DATA_STORE_ID: Es el ID del almacén de datos asociado con tu app.
Después de importar tu lista de entidades rechazadas, se tardará entre 1 y 2 días en comenzar a filtrar las sugerencias.
Importa una lista de entidades rechazadas desde Cloud Storage
Para importar una lista de entidades rechazadas desde un archivo JSON en Cloud Storage, haz lo siguiente:
Crea tu lista de entidades rechazadas en un archivo JSON con el siguiente formato y, luego, impórtala a un bucket de Cloud Storage. Asegúrate de que cada entrada de la lista de entidades bloqueadas esté en una línea nueva sin saltos de línea.
{ "blockPhrase":"TERM_1","matchOperator":"MATCH_OPERATOR_1" } { "blockPhrase":"TERM_2","matchOperator":"MATCH_OPERATOR_2" }
Crea un archivo JSON local que contenga el objeto
gcsSource
. Úsalo para apuntar a la ubicación del archivo de la lista de entidades rechazadas en un bucket de Cloud Storage.{ "gcsSource": { "inputUris": [ "DENYLIST_STORAGE_LOCATION" ] } }
- DENYLIST_STORAGE_LOCATION: La ubicación de tu lista de entidades rechazadas en
Cloud Storage. Solo puedes ingresar un URI. El URI se debe ingresar en este formato:
gs://BUCKET/FILE_PATH
.
- DENYLIST_STORAGE_LOCATION: La ubicación de tu lista de entidades rechazadas en
Cloud Storage. Solo puedes ingresar un URI. El URI se debe ingresar en este formato:
Realiza una solicitud POST al método
suggestionDenyListEntries:import
, incluido el objetogcsSource
.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data @GCS_SOURCE_FILE \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataStores/DATA_STORE_ID/suggestionDenyListEntries:import"
- GCS_SOURCE_FILE: Es la ruta de acceso local del archivo que contiene el objeto
gcsSource
que apunta a tu lista de entidades rechazadas. - PROJECT_ID: El número o ID de tu proyecto de Google Cloud.
- LOCATION: Es la ubicación de tu almacén de datos:
us
,eu
oglobal
. - DATA_STORE_ID: Es el ID del almacén de datos asociado con tu app.
- GCS_SOURCE_FILE: Es la ruta de acceso local del archivo que contiene el objeto
Después de importar tu lista de entidades rechazadas, se tardará entre 1 y 2 días en comenzar a filtrar las sugerencias.
Borrar definitivamente una lista de bloqueo
Para purgar una lista de entidades rechazadas de tu almacén de datos, haz lo siguiente:
Realiza una solicitud POST al método
suggestionDenyListEntries:purge
.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataStores/DATA_STORE_ID/suggestionDenyListEntries:purge"
- PROJECT_ID: El número o ID de tu proyecto de Google Cloud.
- LOCATION: Es la ubicación de tu almacén de datos:
us
,eu
oglobal
. - DATA_STORE_ID: Es el ID del almacén de datos asociado con tu app.
Modelo avanzado de datos de documentos
Vertex AI Agent Builder proporciona un modelo de datos avanzado para la función de autocompletar. En función de los documentos que importas, este modelo de datos genera sugerencias de autocompletado de alta calidad aprovechando los modelos de lenguaje grandes (LLM) de Google.
Esta característica es experimental. Si te interesa usar esta función, comunícate con el equipo de cuentas de Google Cloud y pídeles que te agreguen a la lista de entidades permitidas.
Esta función no está disponible para la búsqueda de atención médica ni en las multirregiones de EE.UU. y la UE.