En esta página, se describe la función básica de autocompletar 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, la función Autocompletar genera sugerencias basadas en el contenido de los documentos del almacén de datos. Después de la importación del documento, de forma predeterminada, el autocompletado no empieza a generarse. sugerencias hasta que haya suficientes datos de calidad, días. Si realizas solicitudes de Autocomplete a través de la API, Autocomplete Generar sugerencias basadas en el historial de búsqueda o en los eventos del usuario.
Datos de sitios 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 canónica de datos médicos para lo siguiente: generar sugerencias de autocompletar para 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 documentos importados por el usuario. Este modelo no está disponible para los datos de sitios web ni datos de atención médica.
Campos completables. El modelo de campos que se puede completar sugiere que se tomó texto directamente desde los campos de datos estructurados. Solo los campos anotados con
completable
se usan para las sugerencias de autocompletar. Este modelo es solo disponibles para los datos estructurados.Historial de búsqueda. El modelo de historial de búsqueda genera sugerencias a partir de la historial de llamadas a la API de
SearchService.search
. No uses este modelo si no hay tráfico disponible para el metodoservingConfigs.search
. Este modelo no es disponibles 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 es disponibles 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 uno de ellos. el tipo de datos.
Autocompletar modelo de datos |
Datos fuente |
Datos del sitio web |
Datos estructurados |
Datos desordenados |
---|---|---|---|---|
Documento | Importado por usuario | ✔* (predeterminada) | ✔ (predeterminada) | |
Completable campos | Importado por el usuario | ✔ | ||
Historial de búsquedas | Automáticamente recolectado | ✔ (predeterminada) | ✔ | ✔ |
Usuario eventos | Se importa a través del usuario o se recopila automáticamente a través del widget. | ✔ | ✔ | ✔ |
Contenido rastreado en la Web | Se rastreó desde contenido de público sitios web especificada por usuario | ✔† |
* : El esquema del documento debe contener campos title
o description
, o bien
deben ser campos que se hayan especificado como claves title
o description
propiedades. Consulta
Actualiza un esquema para datos estructurados.
† : El contenido rastreado en la Web solo se puede usar como fuente de datos si el está habilitado el modelo avanzado de datos de documentos experimental para la función de autocompletar. Consulta Modelo de datos de documentos avanzado.
Si no quieres usar el modelo predeterminado para tu tipo de datos, puedes
especificar un modelo diferente cuando envías tu solicitud de autocompletado. Las solicitudes de autocompletar se envían con el método dataStores.completeQuery
. Para
consulta Instrucciones de la API: Envía una solicitud de autocompletado para elegir una
o 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 |
---|---|---|
Quita los caracteres especiales | Elimina los caracteres no estándares de los datos de sugerencias y de
consultas escritas. Guion - es el único carácter estándar que
se guardan en los datos de las sugerencias y en las consultas escritas.
|
Mt. Everest & Mt. Kilimanjaro → Mt Everest Mt Kilimanjaro . |
Corregir errores de ortografía | Corrige la ortografía de las palabras que son errores tipográficos. | Milc → Milk .
|
Quita los términos no seguros |
|
Texto que es ofensivo, como pornografía, subido de tono, vulgar o violento |
Lista de bloqueo |
|
Para obtener más información, consulta Cómo usar una lista de bloqueo para autocompletar. |
Anulación de términos duplicados |
|
Se anula la duplicación de Shoes for Women , Womens Shoes y Womans Shoes ,
y solo se sugiere el más popular. |
Sugerencias de concordancia final |
|
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 extremo está habilitada, es posible que la función de autocompletado descubra que el prefijo completo "canciones con él" no tiene ninguna coincidencia. Sin embargo, la última palabra de la consulta, “he” tiene una coincidencia de prefijo exacta con “hello world” y "hello kitty". En ese caso, las sugerencias que se devuelven son “canciones con Hello World” y "canciones con hello Kitty" porque no hay sugerencias de concordancia 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 coincidencia de la cola solo coincide con la palabra final del prefijo, es posible que algunas sugerencias mostradas 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 la función de autocompletar para 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. Para el cuidado de la salud el autocompletado es una función de vista previa.
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: Corresponde a la cantidad máxima de sugerencias. sugerencias de autocompletar que se pueden 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 la
dataStores.completeQuery
conqueryModel
parámetro. Habilitar la función de autocompletar: De forma predeterminada, la función de autocompletar no hasta que tenga datos de calidad suficientes, generalmente un par de días. Si quieres anular este valor predeterminado y comenzar a obtener autocompletar sugerencias 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
Sigue estos pasos para activar la función de autocompletar en los campos del esquema de datos estructurados 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 estructuras de datos no 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 la configuración actualizada del campo. 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 del 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
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: Es el número o ID del proyecto 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 y 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 que está asociado con tu app.
- QUERY_STRING: Es la entrada de escritura anticipada que se usa para y recuperar sugerencias.
- AUTOCOMPLETE_MODEL: Los datos de autocompletar
modelo para realizar en 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 API de Java de Vertex AI Agent Builder documentación de referencia.
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 autocompletar sugerencias.
Tomemos como ejemplo a 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 bloqueo consta de un blockPhrase
y una matchOperator
:
blockPhrase
: Ingresa una cadena como el término de la lista de bloqueo. Las condiciones son no distingue 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
: Impide cualquier sugerencia que contenga el término de la lista de bloqueo de aparecer.
El siguiente es un ejemplo de una lista de bloqueo 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 bloqueo, verifica que los controles de acceso necesarios están configurados para el acceso de edición de Discovery Engine.
Las listas de bloqueo se pueden importar desde datos JSON locales. de Cloud Storage. Para quitar una lista de entidades bloqueadas de un almacén de datos, borra la lista.
Importa una lista de bloqueo a partir de datos JSON locales
Para importar una lista de entidades bloqueadas desde un archivo JSON local que la contenga, haz lo siguiente:
Crea la lista de bloqueo en un archivo JSON local con el siguiente formato. Marca Asegúrate de que cada entrada de la lista de bloqueo 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 contenga los términos de la lista de bloqueo.
- 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 que se asociados 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 bloqueo desde Cloud Storage
Para importar una lista de bloqueo 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 bloqueo 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: Es 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: Es 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: Es el número o ID del proyecto 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 que se asociados 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: Es el número o ID del proyecto 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 que se asociados con tu app.
Modelo de datos de documentos avanzado
Vertex AI Agent Builder proporciona un modelo de datos avanzado para la función de autocompletar. Basada en los documentos que importas, este modelo genera autocompletar con los modelos grandes de lenguaje (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.