Dokumente parsen und in Blöcke aufteilen

Auf dieser Seite wird beschrieben, wie Sie mit Vertex AI Search Ihre Dokumente parsen und in Chunks aufteilen.

Sie können Einstellungen für das Parsen oder Aufteilen in Chunks konfigurieren, um:

  • Festlegen, wie Vertex AI Search Inhalte parst. Sie können angeben, wie unstrukturierte Inhalte beim Hochladen in Vertex AI Search geparst werden sollen. Vertex AI Search bietet einen digitalen Parser, einen OCR-Parser für PDFs und einen Layout-Parser. Sie können auch Ihre eigenen geparsten Dokumente mitbringen. Der Layoutparser wird empfohlen, wenn Sie umfangreiche Inhalte und strukturelle Elemente wie Abschnitte, Absätze, Tabellen, Bilder und Listen haben, die aus Dokumenten für die Suche und die Antwortgenerierung extrahiert werden sollen.

    Weitere Informationen finden Sie unter Inhaltserkennung mit Parsing verbessern.

  • Vertex AI Search für Retrieval-Augmented Generation (RAG) verwenden Sie können die Ausgabe von LLMs mit relevanten Daten verbessern, die Sie in Ihre Vertex AI Search-App hochgeladen haben. Dazu aktivieren Sie das Aufteilen von Dokumenten in Chunks. Dadurch werden Ihre Daten als Chunks indexiert, um die Relevanz zu verbessern und die Rechenlast für LLMs zu verringern. Außerdem aktivieren Sie den Layout-Parser, der Dokumentelemente wie Überschriften und Listen erkennt, um die Aufteilung von Dokumenten in Chunks zu verbessern.

    Informationen zum Aufteilen von Dokumenten in Chunks für RAG und zum Zurückgeben von Chunks in Suchanfragen finden Sie unter Dokumente für RAG in Chunks aufteilen.

Dokumente parsen

Sie können das Parsen von Inhalten auf folgende Arten steuern:

  • Parsertyp angeben Sie können den zu verwendenden Parsing-Typ je nach Dateityp angeben:

    • Digitaler Parser: Der digitale Parser ist standardmäßig für alle Dateitypen aktiviert, sofern kein anderer Parser-Typ angegeben ist. Der digitale Parser verarbeitet aufgenommene Dokumente, wenn kein anderer Standardparser für den Datenspeicher angegeben ist oder wenn der angegebene Parser den Dateityp eines aufgenommenen Dokuments nicht unterstützt.
    • OCR-Parsing für PDFs. Wenn Sie gescannte PDFs oder PDFs mit Text in Bildern hochladen möchten, können Sie den OCR-Parser aktivieren, um die PDF-Indexierung zu verbessern. Weitere Informationen finden Sie im Abschnitt OCR-Parser für PDFs in diesem Dokument.
    • Layoutparser: Aktivieren Sie den Layout-Parser für HTML-, PDF- oder DOCX-Dateien, wenn Sie Vertex AI Search für RAG verwenden möchten. Weitere Informationen zu diesem Parser und dazu, wie Sie ihn aktivieren, finden Sie unter Dokumente für RAG in Chunks aufteilen.
  • Eigenes geparstes Dokument verwenden: (Vorabversion mit Zulassungsliste) Wenn Sie Ihre unstrukturierten Dokumente bereits geparst haben, können Sie diese vorab geparsten Inhalte in Vertex AI Search importieren. Weitere Informationen finden Sie unter Eigene geparste Dokumente verwenden.

Vergleich der Parserverfügbarkeit

In der folgenden Tabelle ist die Verfügbarkeit der einzelnen Parser nach Dokumentdateitypen aufgeführt. Außerdem wird gezeigt, welche Elemente die einzelnen Parser erkennen und parsen können.

Dateityp Digitaler Parser OCR-Parser Layoutparser
HTML Absatzelemente erkennen Nicht zutreffend Erkennt Elemente wie Absätze, Tabellen, Bilder, Listen, Titel und Überschriften
PDF Erkennt Absatzelemente (digitaler Text) Absatzelemente erkennen Absatz-, Tabellen-, Bild-, Titel- und Überschriftelemente werden erkannt.
DOCX (Vorschau) Absatzelemente erkennen Nicht zutreffend Erkennt Absatz-, Tabellen-, Bild-, Listen-, Titel- und Überschriftenelemente
PPTX (Vorschau) Absatzelemente erkennen Nicht zutreffend Erkennt Absatz-, Tabellen-, Bild-, Listen-, Titel- und Überschriftenelemente
TXT Absatzelemente erkennen Nicht zutreffend Nicht zutreffend
XLSX (Vorschau) Absatzelemente erkennen Nicht zutreffend Erkennt Elemente für Absätze, Tabellen, Titel und Überschriften

Digitaler Parser

Der digitale Parser extrahiert maschinenlesbaren Text aus Dokumenten. Es erkennt Textblöcke, aber keine Dokumentelemente wie Tabellen, Listen und Überschriften.

Der digitale Parser wird als Standard verwendet, wenn Sie beim Erstellen des Datenspeichers keinen anderen Parser als Standard angeben oder wenn ein angegebener Parser einen hochgeladenen Dateityp nicht unterstützt.

OCR-Parser für PDFs

Wenn Sie nicht durchsuchbare PDFs haben (gescannte PDFs oder PDFs mit Text in Bildern, z. B. Infografiken), empfiehlt Google, die Verarbeitung der optischen Zeichenerkennung (Optical Character Recognition, OCR) beim Erstellen des Datenspeichers zu aktivieren. So kann Vertex AI Search Absatzelemente extrahieren.

Wenn Sie durchsuchbare PDFs oder andere digitale Formate haben, die hauptsächlich aus maschinenlesbarem Text bestehen, müssen Sie den OCR-Parser in der Regel nicht verwenden. Wenn Sie jedoch PDFs haben, die sowohl nicht durchsuchbaren Text (z. B. gescannten Text oder Infografiken) als auch maschinenlesbaren Text enthalten, können Sie das Feld useNativeText auf „true“ setzen, wenn Sie den OCR-Parser angeben. In diesem Fall wird maschinenlesbarer Text mit OCR-Parsing-Ausgaben zusammengeführt, um die Qualität der Textextraktion zu verbessern.

OCR-Verarbeitungsfunktionen sind für benutzerdefinierte Such-Apps mit unstrukturierten Datenspeichern verfügbar.

Der OCR-Prozessor kann die ersten 500 Seiten einer PDF-Datei parsen. Seiten, die über das Limit von 500 hinausgehen, werden nicht verarbeitet.

Layoutparser

Durch das Parsen von Layouts können KI-Anwendungen Layouts für PDF-, HTML-, DOCX-, PPTX- und XLSX-Dateien erkennen. KI-Anwendungen können dann Inhaltselemente wie Textblöcke, Tabellen, Listen und strukturelle Elemente wie Titel und Überschriften identifizieren und damit die Organisation und Hierarchie eines Dokuments definieren.

Sie können die Layoutanalyse entweder für alle Dateitypen aktivieren oder angeben, für welche Dateitypen sie aktiviert werden soll. Der Layout-Parser erkennt Inhaltselemente wie Absätze, Tabellen und Listen sowie strukturelle Elemente wie Titel, Überschriften, Kopf- und Fußzeilen und Fußnoten.

Der Layout-Parser ist nur verfügbar, wenn die Aufteilung von Dokumenten in Blöcke für RAG verwendet wird. Wenn die Dokumentaufteilung aktiviert ist, teilt Vertex AI Search Dokumente bei der Aufnahme in Chunks auf und kann Dokumente als Chunks zurückgeben. Durch die Erkennung des Dokumentlayouts wird das inhaltsbezogene Chunking ermöglicht und die Suche und Antwortgenerierung in Bezug auf Dokumentelemente verbessert. Weitere Informationen zum Aufteilen von Dokumenten für RAG finden Sie unter Dokumente für RAG aufteilen.

Bildannotation (Funktion in der Vorabversion)

Wenn die Bildanmerkung aktiviert ist und ein Bild in einem Quelldokument erkannt wird, werden eine Beschreibung (Anmerkung) des Bildes und das Bild selbst einem Chunk zugewiesen. Die Anmerkung bestimmt, ob der Chunks in einem Suchergebnis zurückgegeben werden soll. Wenn eine Antwort generiert wird, kann die Anmerkung eine Quelle für die Antwort sein.

Der Layout-Parser kann die folgenden Bildtypen erkennen: BMP, GIF, JPEG, PNG und TIFF.

Tabellenanmerkung

Wenn die Tabellenanmerkung aktiviert ist und eine Tabelle in einem Quelldokument erkannt wird, werden einem Chunk eine Beschreibung (Anmerkung) der Tabelle und die Tabelle selbst zugewiesen. Die Anmerkung bestimmt, ob der Chunks in einem Suchergebnis zurückgegeben werden soll. Wenn eine Antwort generiert wird, kann die Anmerkung eine Quelle für die Antwort sein.

HTML-Inhalte ausschließen

Wenn Sie den Layout-Parser für HTML-Dokumente verwenden, können Sie bestimmte Teile des HTML-Inhalts von der Verarbeitung ausschließen. Um die Datenqualität für Suchanwendungen und RAG-Anwendungen zu verbessern, können Sie Boilerplate-Text oder Abschnitte wie Navigationsmenüs, Kopf- und Fußzeilen oder Seitenleisten ausschließen.

Das layoutParsingConfig stellt dafür die folgenden Felder bereit:

  • excludeHtmlElements: Liste der auszuschließenden HTML-Tags. Inhalte innerhalb dieser Tags werden ausgeschlossen.
  • excludeHtmlClasses: Liste der auszuschließenden HTML-Klassenattribute. HTML-Elemente, die diese Klassenattribute enthalten, werden zusammen mit ihrem Inhalt ausgeschlossen.
  • excludeHtmlIds: Liste der auszuschließenden ID-Attribute von HTML-Elementen. HTML-Elemente mit diesen ID-Attributen werden zusammen mit ihrem Inhalt ausgeschlossen.

Standardparser angeben

Wenn Sie das Objekt documentProcessingConfig beim Erstellen eines Datenspeichers einfügen, können Sie einen Standardparser für diesen Datenspeicher angeben. Wenn Sie documentProcessingConfig.defaultParsingConfig nicht angeben, wird der digitale Parser verwendet. Der digitale Parser wird auch verwendet, wenn der angegebene Parser für einen Dateityp nicht verfügbar ist.

REST

So legen Sie einen Standardparser fest:

  1. Wenn Sie mit der API einen Suchdatenspeicher erstellen, fügen Sie der Anfrage zum Erstellen des Datenspeichers documentProcessingConfig.defaultParsingConfig hinzu. Sie können den OCR-Parser, den Layout-Parser oder den digitalen Parser angeben:

    • So geben Sie den OCR-Parser für PDFs an:

      "documentProcessingConfig": {
        "defaultParsingConfig": {
          "ocrParsingConfig": {
            "useNativeText": "NATIVE_TEXT_BOOLEAN"
          }
        }
      }
      
      • NATIVE_TEXT_BOOLEAN ist optional. Legen Sie diesen Wert nur fest, wenn Sie PDFs aufnehmen. Wenn diese Option auf true festgelegt ist, wird die Verarbeitung von maschinenlesbarem Text für den OCR-Parser aktiviert. Der Standardwert ist false.
    • So legen Sie den Layoutparser fest:

      "documentProcessingConfig": {
        "defaultParsingConfig": {
          "layoutParsingConfig": {}
        }
      }
      
    • So geben Sie den digitalen Parser an:

       "documentProcessingConfig": {
          "defaultParsingConfig": { "digitalParsingConfig": {} }
       }
      

Console

Wenn Sie einen Suchdatenspeicher über die Console erstellen, können Sie den Standardparser angeben.

Beispiel

Im folgenden Beispiel wird beim Erstellen des Datenspeichers angegeben, dass der OCR-Parser der Standardparser sein soll. Da der OCR-Parser nur für PDF-Dateien gilt, werden alle aufgenommenen PDF-Dateien vom OCR-Parser verarbeitet und alle anderen Dateitypen vom digitalen Parser.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1/projects/exampleproject/locations/global/collections/default_collection/dataStores?dataStoreId=datastore123" \
-d '{
  "displayName": "exampledatastore",
  "industryVertical": "GENERIC",
  "solutionTypes": ["SOLUTION_TYPE_SEARCH"],
  "contentConfig": "CONTENT_REQUIRED",
  "documentProcessingConfig": {
    "defaultParsingConfig": {
      "ocrParsingConfig": {
        "useNativeText": "false"
      }
    }
  }
}'

Parserüberschreibungen für Dateitypen angeben

Sie können festlegen, dass ein bestimmter Dateityp (PDF, HTML oder DOCX) von einem anderen Parser als dem Standardparser analysiert werden soll. Dazu müssen Sie das Feld documentProcessingConfig in Ihre Anfrage zum Erstellen des Datenspeichers einfügen und den Überschreibungs-Parser angeben. Wenn Sie keinen Standardparser angeben, wird der digitale Parser verwendet.

REST

So geben Sie eine dateitypspezifische Parserüberschreibung an:

  1. Wenn Sie mit der API einen Suchdatenspeicher erstellen, fügen Sie der Anfrage zum Erstellen des Datenspeichers documentProcessingConfig.defaultParsingConfig hinzu.

    Sie können einen Parser für pdf, html oder docx angeben:

    "documentProcessingConfig": {
      "parsingConfigOverrides": {
        "FILE_TYPE": { PARSING_CONFIG },
      }
     }
    

    Ersetzen Sie Folgendes:

    • FILE_TYPE: Die zulässigen Werte sind pdf, html und docx.
    • PARSING_CONFIG: Geben Sie die Konfiguration für den Parser an, die Sie auf den Dateityp anwenden möchten. Sie können den OCR-Parser, den Layout-Parser oder den digitalen Parser angeben:

      • So geben Sie den OCR-Parser für PDFs an:

        "ocrParsingConfig": {
          "useNativeText": "NATIVE_TEXT_BOOLEAN"
        }
        
        • NATIVE_TEXT_BOOLEAN: Optional. Nur festlegen, wenn Sie PDFs aufnehmen. Wenn diese Option auf true festgelegt ist, wird die Verarbeitung von maschinenlesbarem Text für den OCR-Parser aktiviert. Der Standardwert ist false.
      • So legen Sie den Layoutparser fest:

        "layoutParsingConfig": {}
        
      • So geben Sie den digitalen Parser an:

        "documentProcessingConfig": {
          "defaultParsingConfig": { "digitalParsingConfig": {} }
        }
        

Console

Wenn Sie über die Console einen Suchdatenspeicher erstellen, können Sie Parserüberschreibungen für bestimmte Dateitypen angeben.

Beispiel

Im folgenden Beispiel wird beim Erstellen des Datenspeichers angegeben, dass PDF-Dateien vom OCR-Parser und HTML-Dateien vom Layout-Parser verarbeitet werden sollen. In diesem Fall würden alle Dateien außer PDF- und HTML-Dateien vom digitalen Parser verarbeitet.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1/projects/exampleproject/locations/global/collections/default_collection/dataStores?dataStoreId=datastore123" \
-d '{
  "displayName": "exampledatastore",
  "industryVertical": "GENERIC",
  "solutionTypes": ["SOLUTION_TYPE_SEARCH"],
  "contentConfig": "CONTENT_REQUIRED",
  "documentProcessingConfig": {
    "parsingConfigOverrides": {
      "pdf": {
        "ocrParsingConfig": {
            "useNativeText": "false"
          },
      },
      "html": {
         "layoutParsingConfig": {}
      }
    }
  }
}'

Dokumentanalyse für vorhandene Datenspeicher bearbeiten

Wenn Sie bereits einen Datenspeicher haben, können Sie den Standardparser ändern und Ausnahmen für das Dateiformat hinzufügen. Die aktualisierten Parser-Einstellungen gelten jedoch nur für neue Dokumente, die in den Datenspeicher importiert werden. Dokumente, die sich bereits im Datenspeicher befinden, werden nicht mit den neuen Einstellungen neu geparst.

So ändern Sie die Einstellungen für das Parsen von Dokumenten für einen Datenspeicher:

  1. Rufen Sie in der Google Cloud Console die Seite KI-Anwendungen auf.

    KI-Anwendungen

  2. Klicken Sie im Navigationsmenü auf Datenspeicher.

  3. Klicken Sie in der Spalte Name auf den Datenspeicher, den Sie bearbeiten möchten.

  4. Bearbeiten Sie auf dem Tab Verarbeitungskonfiguration die Einstellungen für Dokumentanalyse.

    Die Einstellungen für Dokumentaufteilung können nicht geändert werden. Wenn für den Datenspeicher keine Dokumentaufteilung aktiviert ist, können Sie den Layout-Parser nicht auswählen.

  5. Klicken Sie auf Senden.

Layoutparser so konfigurieren, dass HTML-Inhalte ausgeschlossen werden

Sie können den Layout-Parser so konfigurieren, dass HTML-Inhalte ausgeschlossen werden. Dazu geben Sie excludeHtmlElements, excludeHtmlClasses oder excludeHtmlIds in documentProcessingConfig.defaultParsingConfig.layoutParsingConfig an.

REST

So schließen Sie bestimmte HTML-Inhalte von der Verarbeitung durch den Layout-Parser aus:

  1. Wenn Sie mit der API einen Suchdatenspeicher erstellen, fügen Sie der Anfrage zum Erstellen des Datenspeichers documentProcessingConfig.defaultParsingConfig.layoutParsingConfig hinzu.

  2. Wenn Sie bestimmte HTML-Tag-Typen ausschließen möchten, verwenden Sie:

    "documentProcessingConfig": {
      "defaultParsingConfig": {
       "layoutParsingConfig": {
        "excludeHtmlElements": ["HTML_TAG_1","HTML_TAG_2","HTML_TAG_N"]
       }
      }
     }
    

    Ersetzen Sie die HTML_TAG-Variablen durch Tagnamen, z. B. nav und footer.

  3. So schließen Sie bestimmte Klassenattribute von HTML-Elementen aus:

    "documentProcessingConfig": {
      "defaultParsingConfig": {
       "layoutParsingConfig": {
        "excludeHtmlClasses": ["HTML_CLASS_1","HTML_CLASS_2","HTML_CLASS_N"]
       }
      }
     }
    

    Ersetzen Sie die Variablen HTML_CLASS durch Klassenattribute, z. B. overlay und screenreader.

  4. So schließen Sie bestimmte ID-Attribute von HTML-Elementen aus:

    "documentProcessingConfig": {
      "defaultParsingConfig": {
       "layoutParsingConfig": {
        "excludeHtmlIds": ["HTML_ID_1","HTML_ID_2","HTML_ID_N"]
       }
      }
     }
    

    Ersetzen Sie die Variablen HTML_ID durch ID-Attribute, z. B. cookie-banner.

Beispiel

In diesem Beispiel wird angegeben, dass beim Verarbeiten von HTML-Dateien durch den Layoutparser Folgendes vom Parser übersprungen wird:

  • HTML-Element-Tags: header, footer, nav und aside

  • HTML-Elementklassenattribute vom Typ overlays und screenreader

  • Alle Elemente mit der Attribut-ID cookie-banner

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1/projects/exampleproject/locations/global/collections/default_collection/dataStores?dataStoreId=datastore123&createAdvancedSiteSearch=true" \
-d '{
  "displayName": "exampledatastore",
  "industryVertical": "GENERIC",
  "contentConfig": "PUBLIC_WEBSITE",
  "documentProcessingConfig": {
    "chunkingConfig": {
      "layoutBasedChunkingConfig": {}
    },
    "defaultParsingConfig": {
      "layoutParsingConfig": {
       "excludeHtmlElements": ["header", "footer", "nav", "aside"],
       "excludeHtmlClasses": ["overlays", "screenreader"],
       "excludeHtmlIds": ["cookie-banner"]
      }
    }
  }
}'

Geparste Dokumente in JSON abrufen

Sie können ein geparstes Dokument im JSON-Format abrufen, indem Sie die Methode getProcessedDocument aufrufen und PARSED_DOCUMENT als Typ des verarbeiteten Dokuments angeben. Das Abrufen geparster Dokumente im JSON-Format kann hilfreich sein, wenn Sie das geparste Dokument an anderer Stelle hochladen oder geparste Dokumente mit der Funktion Bring Your Own Parsed Document (Eigenes geparstes Dokument einfügen) in AI Applications neu importieren möchten.

REST

So erhalten Sie geparste Dokumente in JSON:

  1. Rufen Sie die Methode getProcessedDocument auf:

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID:getProcessedDocument?processed_document_type=PARSED_DOCUMENT"
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Die ID Ihres Projekts.
    • DATA_STORE_ID: Die ID Ihres Datenspeichers.
    • DOCUMENT_ID: Die ID des abzurufenden Dokuments.

Eigenes geparstes Dokument verwenden

Sie können vorab geparste, unstrukturierte Dokumente in Vertex AI Search-Datenspeicher importieren. Anstatt beispielsweise ein unformatiertes PDF-Dokument zu importieren, können Sie das PDF selbst parsen und stattdessen das Parsing-Ergebnis importieren. So können Sie Ihre Dokumente strukturiert importieren und dafür sorgen, dass bei der Suche und der Antwortgenerierung Informationen zum Layout und zu den Elementen des Dokuments berücksichtigt werden.

Ein geparstes, unstrukturiertes Dokument wird durch JSON dargestellt, das das unstrukturierte Dokument anhand einer Folge von Text-, Tabellen- und Listenblöcken beschreibt. Sie importieren JSON-Dateien mit Ihren geparsten unstrukturierten Dokumentdaten auf dieselbe Weise wie andere Arten von unstrukturierten Dokumenten, z. B. PDFs. Wenn diese Funktion aktiviert ist, wird jede JSON-Datei, die hochgeladen und entweder durch einen application/json-MIME-Typ oder eine .JSON-Erweiterung identifiziert wird, als geparstes Dokument behandelt.

Wenn Sie diese Funktion aktivieren möchten und Informationen zur Verwendung benötigen, wenden Sie sich an Ihr Google-Kontoteam.

Dokumente für RAG in Chunks aufteilen

Standardmäßig ist Vertex AI Search für den Dokumentabruf optimiert. Ihre Suchanwendung gibt also mit jedem Suchergebnis ein Dokument wie ein PDF oder eine Webseite zurück.

Funktionen zum Aufteilen von Dokumenten sind für benutzerdefinierte Such-Apps mit unstrukturierten Datenspeichern verfügbar.

Vertex AI Search kann stattdessen für RAG optimiert werden. In diesem Fall wird Ihre Suchanwendung hauptsächlich verwendet, um die LLM-Ausgabe mit Ihren benutzerdefinierten Daten zu erweitern. Wenn die Dokumentaufteilung in Chunks aktiviert ist, teilt Vertex AI Search Ihre Dokumente in Chunks auf. In den Suchergebnissen kann Ihre Such-App relevante Datenblöcke anstelle vollständiger Dokumente zurückgeben. Die Verwendung von in Chunks aufgeteilten Daten für RAG erhöht die Relevanz von LLM-Antworten und reduziert die Rechenlast für LLMs.

So verwenden Sie Vertex AI Search für RAG:

  1. Aktivieren Sie die Dokumentaufteilung, wenn Sie Ihren Datenspeicher erstellen.

    Alternativ können Sie eigene Chunks hochladen (Vorschau mit Zulassungsliste), wenn Sie Ihre Dokumente bereits in Chunks unterteilt haben.

  2. So können Sie Chunks abrufen und ansehen:

  3. Chunks in Suchanfragen zurückgeben

Beschränkungen

Für das Aufteilen in Chunks gelten die folgenden Einschränkungen:

  • Die Dokumentaufteilung kann nach der Erstellung des Datenspeichers nicht mehr aktiviert oder deaktiviert werden.
  • Sie können Suchanfragen für Dokumente anstelle von Chunks aus einem Datenspeicher mit aktivierter Dokumentaufteilung stellen. Datenspeicher, in denen die Dokumentaufteilung aktiviert ist, sind jedoch nicht für die Rückgabe von Dokumenten optimiert. Dokumente werden zurückgegeben, indem Blöcke zu Dokumenten zusammengefasst werden.
  • Wenn die Dokumentaufteilung aktiviert ist, werden Suchzusammenfassungen und die Suche mit Follow-up-Fragen in der öffentlichen Vorschau unterstützt, aber nicht als GA.

Optionen für die Dokumentaufteilung

In diesem Abschnitt werden die Optionen beschrieben, die Sie angeben müssen, um das Aufteilen von Dokumenten in Chunks zu aktivieren.

Aktivieren Sie beim Erstellen des Datenspeichers die folgenden Optionen, damit Vertex AI Search Ihre Dokumente als Chunks indexieren kann.

  • Layout-aware document chunking (Layout-basierte Dokumentaufteilung): Wenn Sie diese Option aktivieren möchten, fügen Sie das Feld documentProcessingConfig in Ihre Anfrage zum Erstellen eines Datenspeichers ein und geben Sie ChunkingConfig.LayoutBasedChunkingConfig an.

    Wenn die layoutbezogene Dokumentaufteilung aktiviert ist, erkennt Vertex AI Search das Layout eines Dokuments und berücksichtigt es bei der Aufteilung. Dadurch wird die semantische Kohärenz verbessert und das Rauschen im Inhalt reduziert, wenn er für den Abruf und die LLM-Generierung verwendet wird. Der gesamte Text in einem Chunk stammt aus derselben Layout-Einheit, z. B. Überschriften, Unterüberschriften und Listen.

  • Layout-Parsing: Wenn Sie diese Option aktivieren möchten, geben Sie beim Erstellen des Datenspeichers ParsingConfig.LayoutParsingConfig an.

    Der Layout-Parser erkennt Layouts für PDF-, HTML- und DOCX-Dateien. Es werden Elemente wie Textblöcke, Tabellen, Listen, Titel und Überschriften erkannt und verwendet, um die Organisation und Hierarchie eines Dokuments zu definieren.

    Weitere Informationen zum Parsen von Layouts finden Sie unter Layout parsen.

Dokumentaufteilung aktivieren

Sie können die Dokumentaufteilung aktivieren, indem Sie das documentProcessingConfig-Objekt in Ihre Anfrage zum Erstellen des Datenspeichers einfügen und die layoutbezogene Dokumentaufteilung und das Layout-Parsing aktivieren.

REST

So aktivieren Sie die Dokumentaufteilung:

  1. Wenn Sie mit der API einen Suchdatenspeicher erstellen, fügen Sie das documentProcessingConfig.chunkingConfig-Objekt in die Anfrage zum Erstellen des Datenspeichers ein.

     "documentProcessingConfig": {
       "chunkingConfig": {
           "layoutBasedChunkingConfig": {
               "chunkSize": CHUNK_SIZE_LIMIT,
               "includeAncestorHeadings": HEADINGS_BOOLEAN,
           }
       },
       "defaultParsingConfig": {
         "layoutParsingConfig": {}
       }
     }
    

    Ersetzen Sie Folgendes:

    • CHUNK_SIZE_LIMIT: Optional. Das Tokengrößenlimit für jeden Chunk. Der Standardwert ist 500. Unterstützte Werte sind 100–500 (einschließlich).
    • HEADINGS_BOOLEAN: Optional. Gibt an, ob Überschriften in jedem Chunk enthalten sind. Der Standardwert ist false. Wenn Sie Titel und Überschriften auf allen Ebenen an Blöcke aus der Mitte des Dokuments anhängen, kann dies dazu beitragen, dass beim Abrufen und Ranking von Blöcken kein Kontext verloren geht.

Console

Wenn Sie einen Suchdatenspeicher über die Console erstellen, können Sie die Dokumentaufteilung aktivieren.

Eigene Chunks verwenden (Vorschau mit Zulassungsliste)

Wenn Sie Ihre eigenen Dokumente bereits in Chunks unterteilt haben, können Sie diese in Vertex AI Search hochladen, anstatt die Optionen für die Dokumentunterteilung zu aktivieren.

Das Bereitstellen eigener Chunks ist eine Funktion in der Vorabversion, für die eine Zulassungsliste erforderlich ist. Wenn Sie diese Funktion verwenden möchten, wenden Sie sich an Ihr Google-Account-Management-Team.

Chunks eines Dokuments auflisten

Rufen Sie die Methode Chunks.list auf, um alle Chunks für ein bestimmtes Dokument aufzulisten.

REST

So listen Sie Chunks für ein Dokument auf:

  1. Rufen Sie die Methode Chunks.list auf.

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID/chunks"
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Die ID Ihres Projekts.
    • DATA_STORE_ID: Die ID Ihres Datenspeichers.
    • DOCUMENT_ID: Die ID des Dokuments, aus dem Chunks aufgelistet werden sollen.

Chunks in JSON aus einem verarbeiteten Dokument abrufen

Sie können alle Chunks aus einem bestimmten Dokument im JSON-Format abrufen, indem Sie die Methode getProcessedDocument aufrufen. Das Abrufen von Blöcken in JSON kann hilfreich sein, wenn Sie Blöcke an anderer Stelle hochladen oder Blöcke mit der Funktion eigene Blöcke verwenden in KI-Anwendungen neu importieren möchten.

REST

So rufen Sie JSON-Chunks für ein Dokument ab:

  1. Rufen Sie die Methode getProcessedDocument auf:

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID:getProcessedDocument?processed_document_type=CHUNKED_DOCUMENT"
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Die ID Ihres Projekts.
    • DATA_STORE_ID: Die ID Ihres Datenspeichers.
    • DOCUMENT_ID: Die ID des Dokuments, aus dem Chunks abgerufen werden sollen.

Bestimmte Chunks abrufen

Wenn Sie einen bestimmten Chunk abrufen möchten, rufen Sie die Methode Chunks.get auf.

REST

So rufen Sie einen bestimmten Chunk ab:

  1. Rufen Sie die Methode Chunks.get auf.

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID/chunks/CHUNK_ID"
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Die ID Ihres Projekts.
    • DATA_STORE_ID: Die ID Ihres Datenspeichers.
    • DOCUMENT_ID: Die ID des Dokuments, aus dem der Chunk stammt.
    • CHUNK_ID: Die ID des zurückzugebenden Chunks.

Nachdem Sie bestätigt haben, dass Ihre Daten richtig in Chunks unterteilt wurden, kann Vertex AI Search gechunkte Daten in den Suchergebnissen zurückgeben.

Die Antwort enthält einen relevanten Ausschnitt für die Suchanfrage. Außerdem können Sie festlegen, dass angrenzende Chunks zurückgegeben werden, die vor und nach dem relevanten Chunk im Quelldokument stehen. Angrenzende Chunks können Kontext und Genauigkeit erhöhen.

REST

So rufen Sie gechunkte Daten ab:

  1. Geben Sie bei einer Suchanfrage ContentSearchSpec.SearchResultMode als chunks an.

    contentSearchSpec": {
      "searchResultMode": "RESULT_MODE",
      "chunkSpec": {
           "numPreviousChunks": NUMBER_OF_PREVIOUS_CHUNKS,
           "numNextChunks": NUMBER_OF_NEXT_CHUNKS
       }
    }
    
    • RESULT_MODE: Legt fest, ob Suchergebnisse als vollständige Dokumente oder in Chunks zurückgegeben werden. Damit Sie Chunks erhalten, muss die Dokumentaufteilung für den Datenspeicher aktiviert sein. Zulässige Werte sind documents und chunks. Wenn die Aufteilung von Dokumenten für Ihren Datenspeicher aktiviert ist, ist der Standardwert chunks.
    • NUMBER_OF_PREVIOUS_CHUNKS: Die Anzahl der Chunks, die unmittelbar vor dem relevanten Chunk zurückgegeben werden sollen. Der maximal zulässige Wert beträgt 5.
    • NUMBER_OF_NEXT_CHUNKS: Die Anzahl der Chunks, die unmittelbar nach dem relevanten Chunk zurückgegeben werden sollen. Der maximal zulässige Wert beträgt 5.

Beispiel

Im folgenden Beispiel für eine Suchanfrage wird SearchResultMode auf chunks festgelegt, ein vorheriger und ein nächster Chunk angefordert und die Anzahl der Ergebnisse mit pageSize auf einen relevanten Chunk begrenzt.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1/projects/exampleproject/locations/global/collections/default_collection/dataStores/datastore123/servingConfigs/default_search:search" \
-d '{
  "query": "animal",
  "pageSize": 1,
  "contentSearchSpec": {
    "searchResultMode": "CHUNKS",
    "chunkSpec": {
           "numPreviousChunks": 1,
           "numNextChunks": 1
       }
  }
}'

Das folgende Beispiel zeigt die Antwort, die für die Beispielanfrage zurückgegeben wird. Die Antwort enthält die relevanten Chunks, die vorherigen und nächsten Chunks, die Metadaten des Originaldokuments und den Bereich der Dokumentseiten, aus denen die einzelnen Chunks abgeleitet wurden.

Antwort

{
  "results": [
    {
      "chunk": {
        "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c17",
        "id": "c17",
        "content": "\n# ESS10: Stakeholder Engagement and Information Disclosure\nReaders should also refer to ESS10 and its guidance notes, plus the template available for a stakeholder engagement plan. More detail on stakeholder engagement in projects with risks related to animal health is contained in section 4 below. The type of stakeholders (men and women) that can be engaged by the Borrower as part of the project's environmental and social assessment and project design and implementation are diverse and vary based on the type of intervention. The stakeholders can include: Pastoralists, farmers, herders, women's groups, women farmers, community members, fishermen, youths, etc. Cooperatives members, farmer groups, women's livestock associations, water user associations, community councils, slaughterhouse workers, traders, etc. Veterinarians, para-veterinary professionals, animal health workers, community animal health workers, faculties and students in veterinary colleges, etc. 8 \n# 4. Good Practice in Animal Health Risk Assessment and Management\n\n# Approach\nRisk assessment provides the transparent, adequate and objective evaluation needed by interested parties to make decisions on health-related risks associated with project activities involving live animals. As the ESF requires, it is conducted throughout the project cycle, to provide or indicate likelihood and impact of a given hazard, identify factors that shape the risk, and find proportionate and appropriate management options. The level of risk may be reduced by mitigation measures, such as infrastructure (e.g., diagnostic laboratories, border control posts, quarantine stations), codes of practice (e.g., good animal husbandry practices, on-farm biosecurity, quarantine, vaccination), policies and regulations (e.g., rules for importing live animals, ban on growth hormones and promotors, feed standards, distance required between farms, vaccination), institutional capacity (e.g., veterinary services, surveillance and monitoring), changes in individual behavior (e.g., hygiene, hand washing, care for animals). Annex 2 provides examples of mitigation practices. This list is not an exhaustive one but a compendium of most practiced interventions and activities. The cited measures should take into account social, economic, as well as cultural, gender and occupational aspects, and other factors that may affect the acceptability of mitigation practices by project beneficiaries and other stakeholders. Risk assessment is reviewed and updated through the project cycle (for example to take into account increased trade and travel connectivity between rural and urban settings and how this may affect risks of disease occurrence and/or outbreak). Projects monitor changes in risks (likelihood and impact) b               by using data, triggers or indicators. ",
        "documentMetadata": {
          "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf",
          "title": "AnimalHealthGoodPracticeNote"
        },
        "pageSpan": {
          "pageStart": 14,
          "pageEnd": 15
        },
        "chunkMetadata": {
          "previousChunks": [
            {
              "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c16",
              "id": "c16",
              "content": "\n# ESS6: Biodiversity Conservation and Sustainable Management of Living Natural Resources\nThe risks associated with livestock interventions under ESS6 include animal welfare (in relation to housing, transport, and slaughter); diffusion of pathogens from domestic animals to wildlife, with risks for endemic species and biodiversity (e.g., sheep and goat plague in Mongolia affecting the saiga, an endemic species of wild antelope); the introduction of new breeds with potential risk of introducing exotic or new diseases; and the release of new species that are not endemic with competitive advantage, potentially putting endemic species at risk of extinction. Animal welfare relates to how an animal is coping with the conditions in which it lives. An animal is in a good state of welfare if it is healthy, comfortable, well nourished, safe, able to express innate behavior, 7 Good Practice Note - Animal Health and related risks and is not suffering from unpleasant states such as pain, fear or distress. Good animal welfare requires appropriate animal care, disease prevention and veterinary treatment; appropriate shelter, management and nutrition; humane handling, slaughter or culling. The OIE provides standards for animal welfare on farms, during transport and at the time of slaughter, for their welfare and for purposes of disease control, in its Terrestrial and Aquatic Codes. The 2014 IFC Good Practice Note: Improving Animal Welfare in Livestock Operations is another example of practical guidance provided to development practitioners for implementation in investments and operations. Pastoralists rely heavily on livestock as a source of food, income and social status. Emergency projects to restock the herds of pastoralists affected by drought, disease or other natural disaster should pay particular attention to animal welfare (in terms of transport, access to water, feed, and animal health) to avoid potential disease transmission and ensure humane treatment of animals. Restocking also entails assessing the assets of pastoralists and their ability to maintain livestock in good conditions (access to pasture and water, social relationship, technical knowledge, etc.). Pastoralist communities also need to be engaged by the project to determine the type of animals and breed and the minimum herd size to be considered for restocking. \n# Box 5. Safeguarding the welfare of animals and related risks in project activities\nIn Haiti, the RESEPAG project (Relaunching Agriculture: Strengthening Agriculture Public Services) financed housing for goats and provided technical recommendations for improving their welfare, which is critical to avoid the respiratory infections, including pneumonia, that are serious diseases for goats. To prevent these diseases, requires optimal sanitation and air quality in herd housing. This involves ensuring that buildings have adequate ventilation and dust levels are reduced to minimize the opportunity for infection. Good nutrition, water and minerals are also needed to support the goats' immune function. The project paid particular attention to: (i) housing design to ensure good ventilation; (ii) locating housing close to water sources and away from human habitation and noisy areas; (iii) providing mineral blocks for micronutrients; (iv) ensuring availability of drinking water and clean food troughs. ",
              "documentMetadata": {
                "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf",
                "title": "AnimalHealthGoodPracticeNote"
              },
              "pageSpan": {
                "pageStart": 13,
                "pageEnd": 14
              }
            }
          ],
          "nextChunks": [
            {
              "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c18",
              "id": "c18",
              "content": "\n# Scoping of risks\nEarly scoping of risks related to animal health informs decisions to initiate more comprehensive risk assessment according to the type of livestock interventions and activities. It can be based on the following considerations: • • • • Type of livestock interventions supported by the project (such as expansion of feed resources, improvement of animal genetics, construction/upgrading and management of post-farm-gate facilities, etc. – see also Annex 2); Geographic scope and scale of the livestock interventions; Human and animal populations that are likely to be affected (farmers, women, children, domestic animals, wildlife, etc.); and Changes in the project or project context (such as emerging disease outbreak, extreme weather or climatic conditions) that would require a re-assessment of risk levels, mitigation measures and their likely effect on risk reduction. Scenario planning can also help to identify project-specific vulnerabilities, country-wide or locally, and help shape pragmatic analyses that address single or multiple hazards. In this process, some populations may be identified as having disproportionate exposure or vulnerability to certain risks because of occupation, gender, age, cultural or religious affiliation, socio-economic or health status. For example, women and children may be the main caretakers of livestock in the case of 9 Good Practice Note - Animal Health and related risks household farming, which puts them into close contact with animals and animal products. In farms and slaughterhouses, workers and veterinarians are particularly exposed, as they may be in direct contact with sick animals (see Box 2 for an illustration). Fragility, conflict, and violence (FCV) can exacerbate risk, in terms of likelihood and impact. Migrants new to a geographic area may be immunologically naïve to endemic zoonotic diseases or they may inadvertently introduce exotic diseases; and refugees or internally displaced populations may have high population density with limited infrastructure, leaving them vulnerable to disease exposure. Factors such as lack of access to sanitation, hygiene, housing, and health and veterinary services may also affect disease prevalence, contributing to perpetuation of poverty in some populations. Risk assessment should identify populations at risk and prioritize vulnerable populations and circumstances where risks may be increased. It should be noted that activities that seem minor can still have major consequences. See Box 6 for an example illustrating how such small interventions in a project may have large-scale consequences. It highlights the need for risk assessment, even for simple livestock interventions and activities, and how this can help during the project cycle (from concept to implementation). ",
              "documentMetadata": {
                "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf",
                "title": "AnimalHealthGoodPracticeNote"
              },
              "pageSpan": {
                "pageStart": 15,
                "pageEnd": 16
              }
            }
          ]
        }
      }
    }
  ],
  "totalSize": 61,
  "attributionToken": "jwHwjgoMCICPjbAGEISp2J0BEiQ2NjAzMmZhYS0wMDAwLTJjYzEtYWQxYS1hYzNlYjE0Mzc2MTQiB0dFTkVSSUMqUMLwnhXb7Ygtq8SKLa3Eii3d7Ygtj_enIqOAlyLm7Ygtt7eMLduPmiKN96cijr6dFcXL8xfdj5oi9-yILdSynRWCspoi-eyILYCymiLk7Ygt",
  "nextPageToken": "ANxYzNzQTMiV2MjFWLhFDZh1SMjNmMtADMwATL5EmZyMDM2YDJaMQv3yagQYAsciPgIwgExEgC",
  "guidedSearchResult": {},
  "summary": {}
}

Nächste Schritte