Obtén fragmentos y contenido extraído

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

  • Fragmentos: Un fragmento es un breve extracto 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 coincidencias 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 resúmenes están disponibles para los almacenes de datos con datos no estructurados y datos de sitios web (tanto la búsqueda básica de sitios web como la 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 proporcionar al usuario final una respuesta breve que sea pertinente para su búsqueda según el contexto. Las respuestas extractivas están disponibles para los almacenes de datos con datos no estructurados y con indexación de sitios web avanzada.

  • 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 respuesta a una búsqueda y se pueden usar para realizar tareas de posprocesamiento y como entrada para modelos de lenguaje grandes para generar respuestas o texto nuevo. Los segmentos extractivos están disponibles para los almacenes de datos con datos no estructurados y con indexación de sitios web avanzada.

Ejemplos

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

Pregunta: "¿Qué son las aplicaciones de IA?"

  • Snippet:

    Para ello, anunciamos nuestras nuevas Aplicaciones de IA, la forma más rápida para que los desarrolladores comiencen a crear apps gen, como bots…

  • Respuesta extractiva:

    Las aplicaciones basadas en IA permiten que los desarrolladores lancen rápidamente nuevas experiencias, 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 básicos de Google y pueden usar plantillas listas para usar para comenzar a crear apps generativas en minutos o en 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 habilitar esta función, anunciamos nuestras nuevas Aplicaciones de IA.

    Las aplicaciones basadas en IA permiten que los desarrolladores lancen rápidamente nuevas experiencias, 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 básicos de Google y pueden usar plantillas listas para usar para comenzar a crear apps generativas en minutos o en horas. Con las aplicaciones de IA, los desarrolladores también podrán hacer lo siguiente:

    • Combinamos datos de la organización y técnicas de recuperación de información para proporcionar respuestas pertinentes.
    • Buscar y responder con algo más que texto
    • Combina conversaciones naturales con flujos estructurados.
    • No solo informes, sino que también permite realizar transacciones.

Antes de comenzar

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

Fragmentos

Los fragmentos son extractos breves de texto extraídos de cada documento de resultado de la búsqueda. Incluyen el resaltado de coincidencias 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.

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, devuelve un fragmento.
  2. Obtén fragmentos de la respuesta de búsqueda. Los fragmentos se muestran con cada resultado de la búsqueda en derivedStructData.snippets.

    En este ejemplo de un documento que se devolvió como uno de los resultados en una respuesta de búsqueda, se incluye un fragmento con el resaltado de coincidencias en negrita con el resultado:

    {
      "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 devuelve 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 deriva textualmente de un documento. Cuando un documento se muestra como resultado de la búsqueda en una respuesta de búsqueda, se puede mostrar una respuesta extractiva pertinente con ese resultado.

Una respuesta extractiva puede ser texto, como un párrafo, una tabla o una lista con viñetas, que se extrae del documento del resultado de la búsqueda. Las respuestas extractivas son más cortas 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 textuales a los resúmenes parafraseados.

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

Obtén respuestas extractivas

Para obtener respuestas extractivas, sigue estos pasos:

  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 devolver 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 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 devolvió como uno de los resultados en 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 resultado 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 incluir varios párrafos, incluido texto con formato, como tablas y listas con viñetas.

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

Opciones de segmentos extractivos

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

  • Cantidad de segmentos: Puedes especificar hasta 10 segmentos extractivos para devolver por cada resultado de la búsqueda.

  • Puntuaciones de relevancia: Las puntuaciones de relevancia se basan en la similitud de la búsqueda con el segmento extraído. Puedes especificar que los segmentos extractivos se devuelvan 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: Puedes establecer numPreviousSegments y numNextSegments para obtener hasta 3 segmentos inmediatamente anteriores y posteriores al segmento pertinente. Los segmentos adyacentes pueden agregar contexto y precisión al segmento pertinente.

    Activar los tramos adyacentes puede aumentar la latencia.

Obtén segmentos extractivos

En los siguientes pasos, se muestra cómo obtener segmentos extractivos para datos no estructurados. Puedes seguir pasos similares para obtener segmentos extractivos de los datos del sitio 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 devolver un segmento para cada resultado de la búsqueda.

    "contentSearchSpec":
    {
      "extractiveContentSpec": {
        "maxExtractiveSegmentCount": 1
      }
    }
    • maxExtractiveSegmentCount: Es la cantidad de segmentos extractivos que se devolverá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 devolver una puntuación de relevancia con cada segmento devuelto.
    • numPreviousSegments: Es la cantidad de segmentos adyacentes que se devolverán antes del segmento pertinente. 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 devolverán después del segmento pertinente. 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 búsqueda. Los segmentos se muestran con cada resultado de la búsqueda en extractive_segments.

    En este ejemplo de un documento que se devolvió como uno de los resultados en 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?