Configura el autocompletado avanzado

En esta página, se describe la función de autocompletado avanzado de Gemini Enterprise.

De la misma manera que la función de autocompletar básica, la función de autocompletar avanzada genera sugerencias de consulta en función de los primeros caracteres que se ingresan para la consulta.

Antes de leer esta página, familiarízate con la función de autocompletado básico de Gemini Enterprise. Consulta Configura la función de autocompletar.

Funciones clave de la función Autocompletar avanzada

Las funciones clave de la función Autocompletar avanzada que la diferencian de la función Autocompletar básica son las siguientes:

  • Búsqueda combinada: El autocompletado avanzado se puede usar con apps que están conectadas a más de un almacén de datos.

  • Control de acceso: La función de autocompletado avanzado respeta los controles de acceso. (Los controles de acceso también se conocen como LCA, listas de control de acceso). La función de autocompletado avanzado solo sugiere búsquedas relacionadas con documentos a los que el usuario tiene acceso. Para obtener información sobre el control de acceso, consulta Identidad y permisos.

  • Mejora de idioma: El autocompletado avanzado se puede configurar para mejorar las sugerencias en uno o más idiomas. Por ejemplo, si el idioma del navegador es el neerlandés, se podrían potenciar las sugerencias de autocompletar en ese idioma. Para obtener más información, consulta Envía una solicitud de autocompletado con un aumento de idioma.
  • Diferentes tipos de sugerencias: Con la función de autocompletar avanzada, en lugar de las sugerencias de búsqueda de autocompletar habituales, puedes especificar que deseas diferentes tipos de sugerencias:

Antes de comenzar

Antes de comenzar a usar la función de autocompletado avanzado, haz lo siguiente:

  • Revisa y, de manera opcional, edita la configuración de autocompletar de tu app. Consulta Actualiza la configuración de autocompletar.

  • En el caso de los almacenes de datos más pequeños, establece Habilitar autocompletado en Ahora. Recomendamos esto porque es posible que los almacenes de datos pequeños no contengan datos suficientes para proporcionar sugerencias precisas.

  • Si tus almacenes de datos contienen información de identificación personal (IIP) o si usas el modelo de sugerencias de consultas de historial de la Búsqueda o eventos de usuario, revisa Protégete contra las filtraciones de IIP y configura las protecciones de prevención de pérdida de datos (DLP) que podrían ser necesarias para evitar filtraciones de IIP.

  • Si planeas usar sugerencias de búsqueda recientes (RECENT_SEARCH), asegúrate de registrar los eventos de búsqueda de los usuarios. Gemini Enterprise no propaga automáticamente el índice de búsqueda reciente cuando se realizan búsquedas con el método SearchService.Search. Para devolver las consultas recientes, debes registrar los eventos de usuario de búsqueda con el método userEvents.write. Consulta Antes de comenzar para ver las consultas recientes.

Envía solicitudes de Autocomplete

A continuación, se muestra cómo enviar solicitudes de autocompletado avanzadas con el método completionConfig.completeQuery.

REST

Para enviar una solicitud de autocompletado con la API, sigue estos pasos:

  1. Encuentra el ID de tu app. Si ya tienes el ID de tu app, continúa con el siguiente paso.

    1. En la consola de Google Cloud , ve a la página Gemini Enterprise.

      Ve a Apps.

    2. En la página Apps, busca el nombre de tu app y obtén su ID en la columna ID.

  2. Realiza una llamada al método completionConfig.completeQuery.

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \
    -d '{
          "query":"QUERY_STRING"
        }'
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID de tu proyecto.

    • APP_ID: Es el ID de la app.

    • QUERY_STRING: Es la entrada de autocompletado que se usa para recuperar sugerencias.

Envía una solicitud de autocompletado con un idioma potenciado

Puedes aumentar o disminuir las sugerencias de autocompletar según el código de idioma, por ejemplo, hacer que las sugerencias de autocompletar en algunos idiomas tengan más o menos probabilidades de aparecer.

El valor de mejora debe estar entre -1 y 1. Si estableces un número negativo, se "ocultan" las sugerencias de autocompletar en ese idioma, y un número positivo potencia el idioma.

Usa etiquetas de idioma de dos letras definidas por BCP 47, por ejemplo, en, fr, hi y zh.

REST

Para enviar una solicitud de autocompletado que incluya un valor de mejora de idioma, sigue estos pasos:

  1. Encuentra el ID de tu app. Si ya tienes el ID de tu app, continúa con el siguiente paso.

    1. En la consola de Google Cloud , ve a la página Gemini Enterprise.

      Ve a Apps.

    2. En la página Apps, busca el nombre de tu app y obtén su ID en la columna ID.

  2. Realiza una llamada al método completionConfig.completeQuery.

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \
    -d '{
          "query":"QUERY_STRING",
          "boostSpec": {
             "conditionBoostSpecs": [{
               "condition": "(langCode: ANY(LANG_CODE))",
               "boost": BOOST_VALUE
             }]
          }
        }'
    
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID de tu proyecto.

    • APP_ID: Es el ID de la app.

    • QUERY_STRING: Es la entrada de autocompletado que se usa para recuperar sugerencias.

    • LANG_CODE: Es el código de dos letras para uno o más idiomas, entre comillas con escape. Por ejemplo, \"fr\", \"es\" para aplicar el valor de aumento al español y al francés.

    • BOOST_VALUE: Es un número de punto flotante entre -1 y 1. Cuando el valor es negativo, las sugerencias automáticas en el idioma se descenderán de nivel (aparecerán más abajo en la lista de sugerencias). Cuando el valor es positivo, se promocionan las sugerencias (aparecen más arriba en la lista).

Envía una solicitud de autocompletado y devuelve sugerencias enriquecidas

La función de autocompletado enriquecido devuelve contenido (documentos) en el que los títulos contienen palabras que comienzan con la consulta.

Además del título del documento, la solicitud de autocompletado devuelve el source_type y el entity_type y, si están disponibles, las propiedades clave: uri, create_time y update_time. Puedes ver y editar las asignaciones de propiedades clave en la pestaña Esquema de la página del almacén de datos.

Al igual que con todas las sugerencias de autocompletar avanzadas, se respetan las LCA para cualquier documento sugerido.

Ejemplo

Un empleado consulta el sitio de la intranet de su empresa en busca de información técnica sobre los permisos de acceso.

El empleado comienza a escribir tec y es posible que se muestren los siguientes documentos: Data technicians handbook, Access technology guide y Techniques for troubleshooting access issues.

Con las sugerencias enriquecidas, puedes mostrar la siguiente información sobre cada uno de estos documentos sugeridos:

  • el título del documento (title), un vínculo al documento (uri)

  • cuándo se actualizó por última vez (update_time)

  • La fuente (source_type), por ejemplo, si el documento se encontró en Confluence Cloud o Slack.

Saber qué tan recientemente se actualizó un documento y la fuente del documento ayuda al empleado a elegir qué documento consultar primero.

Limitaciones

La función de autocompletado enriquecido solo se aplica a los conectores de terceros y solo a ciertos almacenes de datos de entidades para esos conectores de terceros. En la siguiente tabla, se muestran las entidades que se admiten para cada conector.

Conector externo Entidades admitidas
Box Archivo
Confluence Cloud Página Espacio
Dropbox Archivo
Jira Cloud Problema Espacio
OneDrive Archivo
Salesforce Cuenta Cliente potencial Oportunidad
ServiceNow Incidente Conocimiento
SharePoint Online Archivo adjunto Evento Archivo Página
Slack Mensaje

Procedimiento

Para enviar una solicitud de Autocomplete que devuelva una sugerencia enriquecida, sigue estos pasos:

REST

  1. Encuentra el ID de tu app. Si ya tienes el ID de tu app, continúa con el siguiente paso.

    1. En la consola de Google Cloud , ve a la página Gemini Enterprise.

      Ve a Apps.

    2. En la página Apps, busca el nombre de tu app y obtén su ID en la columna ID.

  2. Realiza una llamada al método completionConfig.completeQuery.

    
    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \
    -d '{
          "query":"QUERY_STRING",
          "suggestionTypes": ["CONTENT"]
        }'
    
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID de tu proyecto.

    • APP_ID: Es el ID de la app.

    • QUERY_STRING: Es la entrada de autocompletado que se usa para recuperar sugerencias.

Envía una solicitud de autocompletado y devuelve las consultas recientes

Muestra, como sugerencias, una lista de las consultas más recientes del usuario que coinciden con el prefijo de la consulta en la solicitud.

Las sugerencias de búsqueda que coinciden se muestran desde la más reciente hasta la más antigua. Para usar la búsqueda reciente, se debe proporcionar el seudo-ID del usuario.

Antes de comenzar

Antes de poder recuperar las búsquedas recientes con la función de autocompletar, debes registrar las búsquedas de los usuarios como eventos de usuario de búsqueda llamando al método userEvents.write.

Si no se escriben eventos de usuario de búsqueda, las solicitudes a completionConfig.completeQuery con suggestionTypes: ["RECENT_SEARCH"] devuelven una lista vacía de sugerencias ({}).

Para registrar un evento de usuario de búsqueda, envía una solicitud POST al método userEvents.write con los siguientes valores:

  • eventType: configurado como "search"
  • userPseudoId: Se establece en el identificador seudonimizado único del usuario.
  • engine: Se establece en el nombre del recurso de tu motor.
  • searchInfo.searchQuery: Se establece en la cadena de búsqueda que ingresó el usuario.
curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/userEvents:write" \
  -d '{
        "eventType": "search",
        "userPseudoId": "USER_PSEUDO_ID",
        "engine": "projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID",
        "searchInfo": {
          "searchQuery": "SEARCH_QUERY"
        }
      }'

Reemplaza lo siguiente:

  • PROJECT_ID: el ID de tu proyecto.
  • LOCATION: Es la ubicación de tu app o almacén de datos (por ejemplo, global o us).
  • APP_ID: Es el ID de la app.
  • USER_PSEUDO_ID: Es un identificador seudonimizado del usuario. Debe coincidir con el userPseudoId que se pasa en las solicitudes completionConfig.completeQuery posteriores.
  • SEARCH_QUERY: Es la cadena de consulta que buscó el usuario.

Para obtener más información, consulta Registra eventos de usuarios en tiempo real con el método userEvents.write.

Ejemplo

Un empleado consulta el sitio de la intranet de su empresa para obtener información sobre cómo tomarse vacaciones. El empleado realizó las siguientes consultas, que se enumeran de la más reciente a la más antigua:

PTO, Vacation blackout periods, How much vacation time do I have?, Time off, Vacation policy, covering a vacant position during absences y Can I take unpaid time off?.

Ahora, en respuesta a que el empleado escribe vac en el cuadro de búsqueda, las sugerencias de autocompletar serían las siguientes:

  • Vacation blackout periods
  • How much vacation time do I have?
  • Vacation policy
  • Covering a vacant position during absences

Procedimiento

Para enviar una solicitud de autocompletado que devuelva las consultas más recientes del usuario, sigue estos pasos:

REST

  1. Encuentra el ID de tu app. Si ya tienes el ID de tu app, continúa con el siguiente paso.

    1. En la consola de Google Cloud , ve a la página Gemini Enterprise.

      Ve a Apps.

    2. En la página Apps, busca el nombre de tu app y obtén su ID en la columna ID.

  2. Realiza una llamada al método completionConfig.completeQuery.

    
    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \
    -d '{
          "query":"QUERY_STRING",
          "suggestionTypes": ["RECENT_SEARCH"],
          "userPseudoId": "USER_PSEUDO_ID"
        }'
    
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID de tu proyecto.

    • APP_ID: Es el ID de la app.

    • QUERY_STRING: Es la entrada de autocompletado que se usa para recuperar sugerencias.

    • USER_PSEUDO_ID: Es un identificador seudonimizado del usuario. Puedes usar una cookie HTTP para este campo, que identifica de forma unívoca a un visitante en un solo dispositivo. No configures este campo con el mismo identificador para varios usuarios. Esto combinaría sus historiales de búsqueda. No incluyas información de identificación personal (PII) en este campo.

Usa una lista de bloqueo para autocompletar

Puedes usar una lista de bloqueo para prevenir que términos específicos aparezcan como sugerencias de autocompletar.

Aunque la función de autocompletado avanzada se encuentra a nivel de la app, las listas de entidades rechazadas se encuentran a nivel del almacén de datos. Esto es importante si tu app es una app de búsqueda combinada. Crea una lista de bloqueo para cada almacén de datos conectado a la app.

Para obtener información sobre cómo crear y usar listas de bloqueo, consulta Usa una lista de bloqueo para autocompletar.

Usa una lista importada de sugerencias de autocompletar

Puedes optar por proporcionar tu propia lista de sugerencias de autocompletar en lugar de usar las sugerencias de autocompletar generadas a partir de un modelo de datos de autocompletar.

Para obtener información sobre cómo importar una lista, consulta Usa una lista importada de sugerencias de autocompletar.