Obtén fragmentos y contenido extraído

Vertex AI Search puede proporcionar fragmentos de búsqueda, respuestas extractivas y segmentos extractivos con cada respuesta de búsqueda para mejorar tus resultados.

  • Fragmentos: Un fragmento es un extracto breve de texto del documento del resultado de la búsqueda que proporciona una vista previa del contenido de un resultado de la búsqueda. Incluye el resaltado de hits que puedes renderizar en tu IU. Por lo general, los fragmentos se muestran debajo de cada resultado de la búsqueda para ayudar a los usuarios finales a evaluar la relevancia y la utilidad de ese resultado. Los fragmentos están disponibles para los almacenes de datos con datos no estructurados y datos de sitios web (búsqueda básica de sitios web y indexación avanzada de sitios web).

  • Respuestas extractivas: Una respuesta extractiva es un texto literal que se muestra con cada resultado de la búsqueda. Se extrae directamente del documento original. Por lo general, las respuestas extractivas se muestran cerca de la parte superior de las páginas web para proporcionarle al usuario final una respuesta breve que sea contextualmente relevante para su consulta. Las respuestas extractivas están disponibles para almacenes de datos con datos no estructurados y con indexación avanzada de sitios web.

  • Segmentos extractivos: Un segmento extractivo es un texto literal que se muestra con cada resultado de la búsqueda. Por lo general, un segmento extractivo es más detallado que una respuesta extractiva. Los segmentos extractivos se pueden mostrar como una respuesta a una consulta y se pueden usar para realizar tareas de procesamiento posterior y como entrada para que los modelos de lenguaje extenso generen respuestas o texto nuevo. Los segmentos extractivos están disponibles para los almacenes de datos con datos no estructurados y con indexación avanzada de sitios web.

Ejemplos

En los siguientes ejemplos, se ilustran las diferencias entre los fragmentos, las respuestas extractivas y los segmentos extractivos.

Consulta: "¿Qué es Vertex AI Agent Builder?"

  • Snippet:

    Para habilitar esto, anunciamos nuestro nuevo Vertex AI Agent Builder, la forma más rápida que tienen los desarrolladores de iniciar la creación de apps de gen, como bots, ...

  • Respuesta extractiva:

    Vertex AI Agent Builder permite que los desarrolladores envíen rápidamente experiencias nuevas, como bots, interfaces de chat, motores de búsqueda personalizados, asistentes digitales y mucho más. Los desarrolladores tienen acceso a la API de los modelos de base de Google y pueden usar plantillas listas para usar para iniciar la creación de apps generativas en minutos o horas.

  • Segmento extractivo:

    Las empresas y los gobiernos también quieren que las interacciones con los clientes, los socios y los empleados sean más eficaces y útiles con esta nueva tecnología de IA. Para permitir esto, anunciamos nuestro nuevo Vertex AI Agent Builder.

    Vertex AI Agent Builder permite que los desarrolladores envíen rápidamente experiencias nuevas, como bots, interfaces de chat, motores de búsqueda personalizados, asistentes digitales y mucho más. Los desarrolladores tienen acceso a la API de los modelos de base de Google y pueden usar plantillas listas para usar para iniciar la creación de apps generativas en minutos o horas. Con Vertex AI Agent Builder, los desarrolladores también podrán hacer lo siguiente:

    • Combina los datos de la organización y las técnicas de recuperación de información para proporcionar respuestas relevantes.
    • Busca y responde con más que solo texto.
    • Combina conversaciones naturales con flujos estructurados.
    • No solo informes, realiza transacciones.

Antes de comenzar

Según el tipo de app que tengas, completa los siguientes requisitos previos:

Fragmentos

Los fragmentos son textos breves extraídos de cada documento de resultado de la búsqueda. Incluyen el resaltado de hits en etiquetas HTML en negrita para renderizar vistas previas de los resultados de la búsqueda en una IU. Por lo general, los fragmentos se renderizan como texto de vista previa debajo de un resultado de la búsqueda para ayudar a los usuarios finales a decidir si hacer clic en ese resultado de la búsqueda será útil.

Los fragmentos están disponibles para la búsqueda no estructurada y de sitios web.

Cómo obtener fragmentos

Para obtener fragmentos, sigue estos pasos:

  1. Envía una solicitud de búsqueda que incluya ContentSearchSpec.SnippetSpec y establezca returnSnippet como verdadero.

    En el siguiente ejemplo de SnippetSpec, se especifica que se puede mostrar un fragmento para cada resultado de la búsqueda.

    "contentSearchSpec":
    {
      "snippetSpec":
      {
        "returnSnippet": true
      }
    }
    • returnSnippet: Si se establece en true, muestra un fragmento.
  2. Obtén fragmentos de la respuesta de la búsqueda. Los fragmentos se muestran con cada resultado de la búsqueda en derivedStructData.snippets.

    En este ejemplo de un documento que se mostró como uno de los resultados de una respuesta de búsqueda, se incluye un fragmento con el texto de los hits destacados en negrita:

    {
      "id": "54321",
      "document": {
        "name": "projects/123/locations/global/collections/default_collection/dataStores/example-datastore/branches/0/documents/54321",
        "id": "54321",
        "derivedStructData": {
          "link": "gs://cloud-samples-data/gen-app-builder/search/alphabet-investor-pdfs/2008_google_annual_report.pdf",
          "snippets": [
            {
              "snippet": "Google Chrome. Google Chrome is an open-source browser that combines a minimal design with technologies to make the web faster, safer, and easier to navigate.",
              "snippet_status": "SUCCESS"
            }
          ]
        }
      }
    }
    • snippet: Contiene un fragmento generado para el resultado de la búsqueda de documentos. El resaltado de hits se incluye en etiquetas HTML en negrita.
    • snippet_status: Si se genera un fragmento, este campo se muestra como SUCCESS. Si no se genera ningún fragmento, este campo se muestra como NO_SNIPPET_AVAILABLE.

Respuestas extractivas

Una respuesta extractiva es una sección de texto que se extrae textualmente de un documento. Cuando se muestra un documento como resultado de una búsqueda en una respuesta de búsqueda, se puede mostrar una respuesta extractiva relevante con ese resultado.

Una respuesta extractiva puede ser un texto, como un párrafo, una tabla o una lista con viñetas, que se extrae del documento de resultados de la búsqueda. Las respuestas extractivas son más breves que los segmentos extractivos.

Las respuestas extractivas se pueden usar como alternativa a las respuestas resumidas en los casos en que se prefieren respuestas precisas y literales a los resúmenes reformulados.

Las respuestas extractivas están disponibles para los almacenes de datos con datos no estructurados y con indexación avanzada de sitios web.

Obtén respuestas extractivas

Para obtener respuestas extractivas, haz lo siguiente:

  1. Envía una solicitud de búsqueda que use ContentSearchSpec.extractiveContentSpec para especificar maxExtractiveAnswerCount.

    En el siguiente ejemplo de extractiveContentSpec, se especifica que se puede mostrar una respuesta para cada resultado de la búsqueda.

    "contentSearchSpec":
    {
      "extractiveContentSpec": {
        "maxExtractiveAnswerCount": 1
      }
    }
    • maxExtractiveAnswerCount: Es la cantidad de respuestas extractivas que se mostrarán para cada resultado de la búsqueda. El valor predeterminado es 0 y el máximo es 5.
  2. Obtén respuestas extractivas de la respuesta de la búsqueda. Las respuestas extractivas se muestran con cada resultado de la búsqueda en extractive_answers.

    En este ejemplo de un documento que se mostró como uno de los resultados de una respuesta de búsqueda, se incluyó una respuesta extractiva con el resultado:

    {
      "id": "54321",
      "document": {
        "name": "projects/123/locations/global/collections/default_collection/dataStores/example-datastore/branches/0/documents/54321",
        "id": "54321",
        "derivedStructData": {
          "extractive_answers": [
            {
              "pageNumber": "2",
              "content": "Google saw growth throughout the year both in our domestic business and internationally, both on Google owned sites and on the Google Network. Specifically, revenues from Google owned sites increased 101% on a year over year basis, from $792 million to $1.6 billion."
            }
          ],
          "link": "gs://cloud-samples-data/gen-app-builder/search/alphabet-investor-pdfs/2004Q4_earnings_google.pdf"
        }
    }
    }
    • pageNumber: Si se pueden extraer números de página del documento, este campo indica de dónde se extrajo la respuesta.
    • content: Es el contenido de la respuesta extractiva.

Segmentos extractivos

Un segmento extractivo es una sección de texto que se extrae textualmente de un documento de resultados de la búsqueda. Los segmentos extractivos son similares a las respuestas extractivas, pero suelen ser más completos y detallados. Por lo general, los segmentos extractivos se usan como entrada para tus propios LLM para generar respuestas o texto nuevo.

Los segmentos extractivos pueden ser varios párrafos, incluido texto con formato, como tablas y listas con viñetas.

Los segmentos extractivos están disponibles para almacenes de datos con datos no estructurados y con indexación avanzada de sitios web.

Opciones de segmentos extractivos

Las siguientes opciones están disponibles para los segmentos extractivos:

  • Cantidad de segmentos: Puedes especificar hasta 10 segmentos extractivos para que se muestren en cada resultado de la búsqueda.

  • Puntuaciones de relevancia: Las puntuaciones de relevancia se basan en la similitud de la consulta con el segmento extraído. Puedes especificar que los segmentos extractivos se muestren con puntuaciones de relevancia. Las puntuaciones varían de -1.0 (menos relevante) a 1.0 (más relevante). Activar las puntuaciones de relevancia puede aumentar la latencia.

  • Segmentos adyacentes (versión preliminar): Puedes configurar numPreviousSegments y numNextSegments para obtener hasta 3 segmentos inmediatamente antes y después del segmento relevante. Los segmentos adyacentes pueden agregar contexto y precisión al segmento relevante.

    Activar los segmentos adyacentes puede aumentar la latencia.

Cómo obtener segmentos extractivos

En los siguientes pasos, se muestra cómo obtener segmentos extractivos para datos no estructurados. Puedes seguir pasos similares para obtener segmentos de extracción para los datos de sitios web.

  1. Envía una solicitud de búsqueda que use ContentSearchSpec.extractiveContentSpec para especificar maxExtractiveSegmentCount.

    En el siguiente ejemplo de extractiveContentSpec, se especifica que se puede mostrar un segmento para cada resultado de la búsqueda.

    "contentSearchSpec":
    {
      "extractiveContentSpec": {
        "maxExtractiveSegmentCount": 1
      }
    }
    • maxExtractiveSegmentCount: Es la cantidad de segmentos extractivos que se mostrarán para cada resultado de la búsqueda. El valor predeterminado es 0 y el máximo es 10.

    Opciones adicionales:

    • returnExtractiveSegmentScore: Se establece en true para mostrar una puntuación de relevancia con cada segmento que se muestra.
    • numPreviousSegments: Es la cantidad de segmentos adyacentes que se mostrarán antes del segmento relevante. El valor predeterminado es 0 y el máximo es 3. El uso de segmentos adyacentes puede aumentar la latencia.
    • numNextSegments: Es la cantidad de segmentos adyacentes que se mostrarán después del segmento relevante. El valor predeterminado es 0 y el máximo es 3. El uso de segmentos adyacentes puede aumentar la latencia.

    Para obtener más información sobre estas opciones, consulta Opciones de segmentos extractivos.

  2. Obtén segmentos de la respuesta de la búsqueda. Los segmentos se muestran con cada resultado de la búsqueda en extractive_segments.

    En este ejemplo de un documento que se mostró como uno de los resultados de una respuesta de búsqueda, se incluyó un segmento con el resultado:

    {
      "id": "54321",
      "document": {
        "name": "projects/123/locations/global/collections/default_collection/dataStores/example-datastore/branches/0/documents/54321",
        "id": "54321",
        "derivedStructData": {
          "extractive_segments": [
            {
              "pageNumber": "2",
              "content": "Client\nGoogle Toolbar. Google Toolbar is a free application that adds a Google search box to web browsers (Internet\nExplorer and Firefox) and improves user web experience through features such as a pop-up blocker that blocks\npop-up advertising, an autofill feature that completes web forms with information saved on a user's computer, and\ncustomizable buttons that let users search their favorite web sites and stay updated on their favorite feeds.\n\nGoogle Chrome. Google Chrome is an open-source browser that combines a minimal design with\ntechnologies to make the web faster, safer, and easier to navigate.\nGoogle Pack. Google Pack is a free collection of safe, useful software programs from Google and other\ncompanies that improve the user experience online and on the desktop. It includes programs that help users\nbrowse the web faster, remove spyware and viruses.\n\nPicasa. Picasa is a free service that allows users to view, manage and share their photos. Picasa enables users\nto import, organize and edit their photos, and upload them to Picasa Web Albums where the photos can be shared\nwith others on the internet.\n\nGoogle Desktop. Google Desktop lets people perform a full-text search on the contents of their own\ncomputer, including email, files, instant messenger chats and web browser history. Users can view web pages they\nhave visited even when they are not online. Google Desktop also includes a customizable Sidebar that includes\nmodules for weather, stock tickers and news.\n\n5"
            }
          ],
          "link": "gs://cloud-samples-data/gen-app-builder/search/alphabet-investor-pdfs/2004Q4_earnings_google.pdf"
        }
    }
    }
    • pageNumber: Si se pueden extraer números de página del documento, este campo indica de dónde se extrajo la respuesta.
    • content: Es el contenido del segmento extractivo.

¿Qué sigue?