Obtenir des extraits et du contenu extrait

Vertex AI Search peut fournir des extraits de recherche, des réponses extractives et des segments extractifs avec chaque réponse de recherche pour améliorer vos résultats.

  • Extraits: un extrait est un bref extrait de texte du document de résultats de recherche qui fournit un aperçu du contenu d'un résultat de recherche. Il comprend la mise en surbrillance des résultats que vous pouvez afficher dans votre UI. Les extraits sont généralement affichés sous chaque résultat de recherche pour aider les utilisateurs finaux à évaluer la pertinence et l'utilité de ce résultat. Les extraits sont disponibles pour les magasins de données contenant des données non structurées et des données de site Web (à la fois pour la recherche de base sur le site Web et l'indexation avancée du site Web).

  • Réponses extractives: une réponse extractive est un texte littéral renvoyé avec chaque résultat de recherche. Il est extrait directement du document d'origine. Les réponses extractives sont généralement affichées en haut des pages Web pour fournir à l'utilisateur final une réponse brève qui est pertinente par rapport au contexte de sa requête. Les réponses extractives sont disponibles pour les data stores contenant des données non structurées et une indexation avancée de sites Web.

  • Segments extraits: un segment extrait est un texte littéral renvoyé avec chaque résultat de recherche. Un segment extractif est généralement plus long qu'une réponse extractive. Les segments extractifs peuvent être affichés en réponse à une requête. Ils peuvent également être utilisés pour effectuer des tâches de post-traitement et comme entrée pour les grands modèles de langage afin de générer des réponses ou un nouveau texte. Les segments extractifs sont disponibles pour les data stores contenant des données non structurées et une indexation avancée de sites Web.

Examples

Les exemples suivants illustrent les différences entre les extraits, les réponses extractives et les segments extractifs.

Requête : "What is vertex ai agent builder?"

  • Extrait :

    Pour ce faire, nous lançons notre nouveau Vertex AI Agent Builder, le moyen le plus rapide pour les développeurs de lancer la création d'applications génériques telles que des bots, etc.

  • Réponse extractive:

    Vertex AI Agent Builder permet aux développeurs de déployer rapidement de nouvelles expériences, y compris des bots, des interfaces de chat, des moteurs de recherche personnalisés, des assistants numériques, etc. Les développeurs ont accès aux modèles de fondation Google via une API et peuvent utiliser des modèles prêts à l'emploi pour lancer la création d'applications Gen App en quelques minutes ou quelques heures.

  • Segment extractif:

    Les entreprises et les gouvernements souhaitent également rendre les interactions client, partenaire et employé plus efficaces et utiles grâce à cette nouvelle technologie d'IA. Pour y parvenir, nous lançons notre nouveau Vertex AI Agent Builder.

    Vertex AI Agent Builder permet aux développeurs de déployer rapidement de nouvelles expériences, y compris des bots, des interfaces de chat, des moteurs de recherche personnalisés, des assistants numériques, etc. Les développeurs ont accès aux modèles de fondation Google via une API et peuvent utiliser des modèles prêts à l'emploi pour lancer la création d'applications Gen App en quelques minutes ou quelques heures. Avec Vertex AI Agent Builder, les développeurs peuvent également:

    • Combinez les données de votre organisation et les techniques de récupération d'informations pour fournir des réponses pertinentes.
    • Recherchez et répondez à vos messages avec plus que du texte.
    • Combinez des conversations naturelles à des flux structurés.
    • Ne vous contentez pas d'informer : effectuez des transactions.

Avant de commencer

Selon le type d'application que vous possédez, remplissez les conditions préalables suivantes:

Extraits

Les extraits sont de courts passages extraits textuellement de chaque document de résultats de recherche. Ils incluent la mise en surbrillance des résultats dans des balises HTML en gras pour afficher des aperçus des résultats de recherche dans une UI. En règle générale, les extraits s'affichent sous forme de texte d'aperçu sous un résultat de recherche pour aider les utilisateurs finaux à décider s'il est utile de cliquer sur ce résultat.

Les extraits sont disponibles pour la recherche structurée et non structurée sur un site Web.

Obtenir des extraits

Pour obtenir des extraits:

  1. Envoyez une requête de recherche qui inclut ContentSearchSpec.SnippetSpec et définit returnSnippet sur "true".

    L'exemple suivant de SnippetSpec spécifie qu'un extrait peut être renvoyé pour chaque résultat de recherche.

    "contentSearchSpec":
    {
      "snippetSpec":
      {
        "returnSnippet": true
      }
    }
    • returnSnippet: si la valeur est true, renvoie un extrait.
  2. Obtenez des extraits de la réponse de recherche. Les extraits sont renvoyés avec chaque résultat de recherche dans derivedStructData.snippets.

    Dans cet exemple de document renvoyé comme l'un des résultats d'une réponse de recherche, un extrait avec une mise en surbrillance en gras des résultats est inclus:

    {
      "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: contient un extrait généré pour le résultat de recherche de documents. Le surlignage des résultats est inclus dans les balises HTML en gras.
    • snippet_status: si un extrait est généré, ce champ est renvoyé sous la forme SUCCESS. Si aucun extrait n'est généré, ce champ est renvoyé sous la forme NO_SNIPPET_AVAILABLE.

Réponses extractives

Une réponse extractive est une section de texte extraite textuellement d'un document. Lorsqu'un document est renvoyé en tant que résultat de recherche dans une réponse de recherche, une réponse extractive pertinente peut être renvoyée avec ce résultat.

Une réponse extractive peut être un texte tel qu'un paragraphe, un tableau ou une liste à puces extrait du document de résultats de recherche. Les réponses extractives sont plus courtes que les segments extractifs.

Les réponses extractives peuvent être utilisées à la place des réponses récapitulatives dans les cas où des réponses précises et verbatim sont préférables aux résumés reformulés.

Les réponses extractives sont disponibles pour les data stores contenant des données non structurées et une indexation avancée de site Web.

Obtenir des réponses extractives

Pour obtenir des réponses extractives:

  1. Envoyez une requête de recherche qui utilise ContentSearchSpec.extractiveContentSpec pour spécifier maxExtractiveAnswerCount.

    L'exemple suivant de extractiveContentSpec spécifie qu'une réponse peut être renvoyée pour chaque résultat de recherche.

    "contentSearchSpec":
    {
      "extractiveContentSpec": {
        "maxExtractiveAnswerCount": 1
      }
    }
    • maxExtractiveAnswerCount: nombre de réponses extractives à renvoyer pour chaque résultat de recherche. La valeur par défaut est 0 et la valeur maximale est 5.
  2. Obtenez des réponses extractives à partir de la réponse de recherche. Les réponses extractives sont renvoyées avec chaque résultat de recherche dans extractive_answers.

    Dans cet exemple de document renvoyé comme l'un des résultats d'une réponse de recherche, une réponse extractive a été incluse avec le résultat:

    {
      "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 des numéros de page peuvent être extraits du document, ce champ indique d'où la réponse a été extraite.
    • content: contenu de la réponse extractive.

Segments extractifs

Un segment extractif est une section de texte extraite textuellement d'un document de résultats de recherche. Les segments extractifs sont semblables aux réponses extractives, mais ils sont généralement plus complets et plus verbeux. En règle générale, les segments extractifs sont utilisés comme entrée pour vos propres LLM afin de générer des réponses ou un nouveau texte.

Les segments d'extraction peuvent être constitués de plusieurs paragraphes, y compris de texte mis en forme, comme des tableaux et des listes à puces.

Les segments extractifs sont disponibles pour les data stores contenant des données non structurées et avec une indexation avancée des sites Web.

Options de segment extraction

Les options suivantes sont disponibles pour les segments extractifs:

  • Nombre de segments: vous pouvez spécifier jusqu'à 10 segments d'extraction à renvoyer pour chaque résultat de recherche.

  • Scores de pertinence: les scores de pertinence sont basés sur la similarité de la requête avec le segment extrait. Vous pouvez spécifier que des segments extraits soient renvoyés avec des scores de pertinence. Les scores vont de -1,0 (moins pertinent) à 1,0 (plus pertinent). L'activation des scores de pertinence peut augmenter la latence.

  • Segments adjacents: vous pouvez définir numPreviousSegments et numNextSegments pour obtenir jusqu'à trois segments immédiatement avant et après le segment concerné. Les segments adjacents peuvent ajouter du contexte et de la précision au segment pertinent.

    L'activation des segments adjacents peut augmenter la latence.

Obtenir des segments d'extraction

Les étapes suivantes montrent comment obtenir des segments d'extraction pour des données non structurées. Vous pouvez suivre une procédure similaire pour obtenir des segments d'extraction pour les données de site Web.

  1. Envoyez une requête de recherche qui utilise ContentSearchSpec.extractiveContentSpec pour spécifier maxExtractiveSegmentCount.

    L'exemple suivant de extractiveContentSpec spécifie qu'un segment peut être renvoyé pour chaque résultat de recherche.

    "contentSearchSpec":
    {
      "extractiveContentSpec": {
        "maxExtractiveSegmentCount": 1
      }
    }
    • maxExtractiveSegmentCount: nombre de segments d'extraction à renvoyer pour chaque résultat de recherche. La valeur par défaut est 0 et la valeur maximale est 10.

    Options supplémentaires :

    • returnExtractiveSegmentScore: définissez cette valeur sur true pour renvoyer un score de pertinence avec chaque segment renvoyé.
    • numPreviousSegments: nombre de segments adjacents à renvoyer avant le segment pertinent. La valeur par défaut est 0 et la valeur maximale est 3. L'utilisation de segments adjacents peut augmenter la latence.
    • numNextSegments: nombre de segments adjacents à renvoyer après le segment concerné. La valeur par défaut est 0 et la valeur maximale est 3. L'utilisation de segments adjacents peut augmenter la latence.

    Pour en savoir plus sur ces options, consultez la section Options de segment extraction.

  2. Obtenez des segments à partir de la réponse de recherche. Les segments sont renvoyés avec chaque résultat de recherche dans extractive_segments.

    Dans cet exemple de document renvoyé comme l'un des résultats d'une réponse de recherche, un segment a été inclus avec le résultat:

    {
      "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 des numéros de page peuvent être extraits du document, ce champ indique d'où la réponse a été extraite.
    • content: contenu du segment d'extraction.

Étape suivante