ドキュメントを解析してチャンク処理する

このページでは、Vertex AI Search を使用してドキュメントを解析してチャンク処理する方法について説明します。

以下を行うために、解析またはチャンク処理の設定を構成することができます。

  • Vertex AI Search がコンテンツを解析する方法を指定します。非構造化コンテンツを Vertex AI Search にアップロードするときに、非構造化コンテンツの解析方法を指定できます。Vertex AI Search には、デジタル パーサー、PDF 用 OCR パーサー、レイアウト パーサーが用意されています。独自の解析済みドキュメントを持ち込むこともできます。レイアウト パーサーは、検索と回答の生成のためにドキュメントから抽出するリッチ コンテンツと、セクション、段落、表、画像、リストなどの構造要素がある場合に推奨されます。

    解析によるコンテンツ検出の改善をご覧ください。

  • 検索拡張生成(RAG)に Vertex AI Search を使用します。 Vertex AI Search アプリにアップロードした関連データを使用して LLM の出力を改善します。これを行うには、ドキュメント チャンキングを有効にします。これにより、データがチャンクとしてインデックスに登録され、関連性が向上し、LLM の計算負荷が軽減されます。また、見出しやリストなどのドキュメント要素を検出して、ドキュメントのチャンク化を改善するレイアウト パーサーも有効にします。

    RAG のチャンク処理と検索リクエストでチャンクを返す方法については、RAG 用にドキュメントをチャンクするをご覧ください。

ドキュメントを解析する

コンテンツの解析は次の方法で制御できます。

  • パーサーのタイプを指定します。ファイル形式に応じて、適用する解析のタイプを指定できます。

    • デジタル パーサー。別のパーサータイプが指定されていない限り、すべてのファイル形式でデジタル パーサーがデフォルトでオンになります。データストアに他のデフォルト パーサーが指定されていない場合、または指定されたパーサーが取り込まれたドキュメントのファイル形式をサポートしていない場合、デジタル パーサーは取り込まれたドキュメントを処理します。
    • PDF の OCR 解析。スキャンした PDF や画像内にテキストを含む PDF をアップロードする場合は、OCR パーサーをオンにして PDF のインデックス登録を改善できます。 このドキュメントのPDF 用の OCR パーサーをご覧ください。
    • レイアウト パーサー。RAG に Vertex AI Search を使用する場合は、HTML、PDF、DOCX ファイルのレイアウト パーサーをオンにします。このパーサーおよびそれを有効にする方法については、RAG 用にドキュメントをチャンクするをご覧ください。
  • 独自の解析済みドキュメントを持ち込みます。(許可リスト付きのプレビュー)非構造化ドキュメントをすでに解析している場合は、事前に解析されたコンテンツを Vertex AI Search にインポートできます。独自の解析済みドキュメントを持ち込むをご覧ください。

パーサーの可用性の比較

次の表に、ドキュメントのファイル形式別の各パーサーの可用性と、各パーサーが検出して解析できる要素を示します。

ファイル形式 デジタル パーサー OCR パーサー レイアウト パーサー
HTML 段落要素を検出する 該当なし 段落、表、画像、リスト、タイトル、見出しの要素を検出する
PDF 段落(デジタル テキスト)要素を検出する 段落要素を検出する 段落、表、画像、タイトル、見出しの要素を検出する
DOCX(プレビュー 段落要素を検出する 該当なし 段落、表、画像、リスト、タイトル、見出しの要素を検出する
PPTX(プレビュー 段落要素を検出する 該当なし 段落、表、画像、リスト、タイトル、見出しの要素を検出する
TXT 段落要素を検出する 該当なし 該当なし
XLSX(プレビュー 段落要素を検出する 該当なし 段落、表、タイトル、見出しの要素を検出する

デジタル パーサー

デジタル パーサーは、ドキュメントから機械読み取り可能なテキストを抽出します。テキスト ブロックは検出しますが、表、リスト、見出しなどのドキュメント要素は検出しません。

データストアの作成時に別のパーサーをデフォルトとして指定しない場合、または指定されたパーサーがアップロードされるファイル形式をサポートしていない場合は、デジタル パーサーがデフォルトとして使用されます。

PDF 用の OCR パーサー

検索できない PDF(スキャンした PDF や、画像内にテキストを含む PDF(インフォグラフィックなど))がある場合は、データストアの作成時に光学式文字認識(OCR)処理をオンにすることをおすすめします。これにより、Vertex AI Search は段落要素を抽出できます。

検索可能な PDF や、大部分が機械読み取り可能なテキストで構成されているデジタル形式の場合は、通常、OCR パーサーを使用する必要はありません。ただし、検索できないテキスト(スキャンされたテキストやインフォグラフィックなど)と機械読み取り可能なテキストの両方を含む PDF がある場合は、OCR パーサーを指定するときにフィールド useNativeText を true に設定できます。この場合、機械読み取り可能なテキストが OCR 解析の出力と統合され、テキスト抽出の品質が向上します。

OCR 処理機能は、非構造化データストアを使用するカスタム検索アプリで利用できます。

OCR プロセッサは、PDF ファイルの最初の 500 ページを解析できます。500 件の上限を超えるページは処理されません。

レイアウト パーサー

レイアウト解析を使用することにより、Vertex AI Search は PDF、HTML、DOCX、PPTX、XLSX ファイルのレイアウトを検出できます。Vertex AI Search は、テキスト ブロック、表、リストなどのコンテンツ要素や、タイトルや見出しなどの構造要素を特定し、それらを使用してドキュメントの構成と階層を定義します。

すべてのファイル形式でレイアウト解析を有効にするか、有効にするファイル形式を指定できます。レイアウト パーサーは、段落、表、リストなどのコンテンツ要素と、タイトル、見出し、ヘッダー、フッターなどの構造要素を検出します。

レイアウト パーサーは、RAG 用にドキュメント チャンキングを使用している場合にのみ使用できます。ドキュメント チャンキングが有効になっている場合、Vertex AI Search は取り込み時にドキュメントをチャンクに分割し、ドキュメントをチャンクとして返すことができます。ドキュメントのレイアウトを検出すると、コンテンツ対応のチャンク処理が可能になり、ドキュメント要素に関連する検索と回答の生成が強化されます。RAG のドキュメント チャンキングの詳細については、RAG 用にドキュメントをチャンクするをご覧ください。

画像アノテーション(プレビュー)

画像アノテーションが有効になっている場合、ソース ドキュメントで画像が検出されると、画像の説明(アノテーション)と画像自体がチャンクに割り当てられます。このアノテーションは、チャンクを検索結果で返すかどうかを決定します。回答が生成された場合、アノテーションは回答のソースになる可能性があります。

レイアウト パーサーは、BMP、GIF、JPEG、PNG、TIFF の画像タイプを検出できます。

表のアノテーション(プレビュー)

テーブル アノテーションが有効になっている場合、ソース ドキュメントでテーブルが検出されると、テーブルの説明(アノテーション)とテーブル自体がチャンクに割り当てられます。このアノテーションは、チャンクを検索結果で返すかどうかを決定します。回答が生成された場合、アノテーションは回答のソースになる可能性があります。

HTML コンテンツを除外する

HTML ドキュメントのレイアウト パーサーを使用する場合、HTML コンテンツの特定の部分を処理対象から除外できます。検索アプリケーションと RAG アプリケーションのデータ品質を向上させるには、定型文や、ナビゲーション メニュー、ヘッダー、フッター、サイドバーなどのセクションを除外します。

layoutParsingConfig には、この目的のために次のフィールドが用意されています。

  • excludeHtmlElements: 除外する HTML タグのリスト。これらのタグ内のコンテンツは除外されます。
  • excludeHtmlClasses: 除外する HTML クラス属性のリスト。これらのクラス属性を含む HTML 要素は、そのコンテンツとともに除外されます。
  • excludeHtmlIds: 除外する HTML 要素の ID 属性のリスト。これらの ID 属性を持つ HTML 要素とそのコンテンツは除外されます。

デフォルト パーサーを指定する

データストアの作成時に documentProcessingConfig オブジェクトを含めることで、そのデータストアのデフォルトのパーサーを指定できます。documentProcessingConfig.defaultParsingConfig を指定しない場合、デジタル パーサーが使用されます。指定されたパーサーがファイル形式で使用できない場合にも、デジタル パーサーが使用されます。

REST

デフォルトのパーサーを指定するには:

  1. API を使用して検索データストアを作成するときに、データストア作成リクエストに documentProcessingConfig.defaultParsingConfig を含めます。OCR パーサー、レイアウト パーサー、デジタル パーサーを指定できます。

    • PDF 用の OCR パーサーを指定するには:

      "documentProcessingConfig": {
        "defaultParsingConfig": {
          "ocrParsingConfig": {
            "useNativeText": "NATIVE_TEXT_BOOLEAN"
          }
        }
      }
      
      • NATIVE_TEXT_BOOLEAN は任意です。PDF を取り込む場合にのみ設定します。true に設定すると、OCR パーサーで機械読み取り可能なテキスト処理が有効になります。デフォルトは false です。
    • レイアウト パーサーを指定するには:

      "documentProcessingConfig": {
        "defaultParsingConfig": {
          "layoutParsingConfig": {}
        }
      }
      
    • デジタル パーサーを指定するには:

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

コンソール

コンソールで検索データストアを作成するときに、デフォルトのパーサーを指定できます。

次の例では、データストアの作成時に、OCR パーサーがデフォルトのパーサーになるように指定しています。OCR パーサーは PDF ファイルにのみ適用されるため、取り込まれたすべての PDF ファイルは OCR パーサーで処理され、その他のファイル形式はデジタル パーサーで処理されます。

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"
      }
    }
  }
}'

ファイル形式のパーサーのオーバーライドを指定する

特定のファイル形式(PDF、HTML、DOCX)をデフォルトのパーサーとは異なるパーサーで解析するように指定できます。これを行うには、データストアの作成リクエストに documentProcessingConfig フィールドを含め、オーバーライド パーサーを指定します。デフォルトのパーサーを指定しない場合、デジタル パーサーがデフォルトになります。

REST

ファイル形式固有のパーサーのオーバーライドを指定するには:

  1. API を使用して検索データストアを作成するときに、データストア作成リクエストに documentProcessingConfig.defaultParsingConfig を含めます。

    pdfhtmldocx のパーサーを指定できます。

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

    以下を置き換えます。

    • FILE_TYPE: 指定できる値は pdfhtmldocx です。
    • PARSING_CONFIG: ファイル形式に適用するパーサーの構成を指定します。OCR パーサー、レイアウト パーサー、デジタル パーサーを指定できます。

      • PDF 用の OCR パーサーを指定するには:

        "ocrParsingConfig": {
          "useNativeText": "NATIVE_TEXT_BOOLEAN"
        }
        
        • NATIVE_TEXT_BOOLEAN: 省略可。PDF を取り込む場合にのみ設定します。true に設定すると、OCR パーサーで機械読み取り可能なテキスト処理が有効になります。デフォルトは false です。
      • レイアウト パーサーを指定するには:

        "layoutParsingConfig": {}
        
      • デジタル パーサーを指定するには:

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

コンソール

コンソールで検索データストアを作成するときに、特定のファイル形式のパーサーのオーバーライドを指定できます。

次の例では、データストアの作成時に、PDF ファイルは OCR パーサーで処理し、HTML ファイルはレイアウト パーサーで処理するように指定しています。この場合、PDF ファイルと HTML ファイル以外のファイルはデジタル パーサーによって処理されます。

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": {}
      }
    }
  }
}'

既存のデータストアのドキュメント解析を編集する

データストアがすでにある場合は、デフォルトのパーサーを変更して、ファイル形式の例外を追加できます。ただし、更新されたパーサー設定は、データストアにインポートされた新しいドキュメントにのみ適用されます。データストアにすでに存在するドキュメントは、新しい設定で再解析されません。

データストアのドキュメント解析設定を変更する手順は次のとおりです。

  1. Google Cloud コンソールで、[AI Applications] ページに移動します。

    AI Applications

  2. ナビゲーション メニューで [データストア] をクリックします。

  3. [名前] 列で、編集するデータストアをクリックします。

  4. [処理構成] タブで、[ドキュメントの解析] の設定を編集します。

    ドキュメントのチャンク化の設定は変更できません。データストアでドキュメント チャンキングが有効になっていない場合は、レイアウト パーサーを選択できません。

  5. [送信] をクリックします。

HTML コンテンツを除外するようにレイアウト パーサーを構成する

documentProcessingConfig.defaultParsingConfig.layoutParsingConfigexcludeHtmlElementsexcludeHtmlClassesexcludeHtmlIds を指定することで、HTML コンテンツを除外するようにレイアウト パーサーを構成できます。

REST

レイアウト パーサーによる処理から特定の HTML コンテンツを除外する手順は次のとおりです。

  1. API を使用して検索データストアを作成するときに、データストア作成リクエストに documentProcessingConfig.defaultParsingConfig.layoutParsingConfig を含めます。

  2. 特定の HTML タグタイプを除外するには、次のコードを使用します。

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

    HTML_TAG 変数は、navfooter などのタグ名に置き換えます。

  3. 特定の HTML 要素クラス属性を除外するには、次のようにします。

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

    HTML_CLASS 変数をクラス属性(overlayscreenreader など)に置き換えます。

  4. 特定の HTML 要素の ID 属性を除外するには、次のコードを使用します。

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

    HTML_ID 変数を ID 属性(cookie-banner など)に置き換えます。

この例では、レイアウト パーサーで HTML ファイルが処理されるときに、パーサーで次のものがスキップされることを指定しています。

  • HTML 要素タグ(headerfooternavaside

  • タイプ overlaysscreenreader の HTML 要素クラス属性

  • 属性 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"]
      }
    }
  }
}'

解析済みドキュメントを JSON で取得する

解析済みドキュメントを JSON 形式で取得するには、getProcessedDocument メソッドを呼び出し、処理されたドキュメント タイプとして PARSED_DOCUMENT を指定します。解析済みドキュメントを JSON で取得すると、解析済みドキュメントを別の場所にアップロードする必要がある場合や、独自の解析済みドキュメントを持ち込む機能を使用して、解析済みドキュメントを Vertex AI Search に再インポートする場合に役立ちます。

REST

解析済みドキュメントを JSON で取得する手順は次のとおりです。

  1. getProcessedDocument メソッドを呼び出します。

    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"
    

    以下を置き換えます。

    • PROJECT_ID: プロジェクトの ID。
    • DATA_STORE_ID: データストアの ID。
    • DOCUMENT_ID: 取得するドキュメントの ID。

独自の解析済みドキュメントを持ち込む

事前に解析済みの非構造化ドキュメントを Vertex AI Search データストアにインポートできます。たとえば、未加工の PDF ドキュメントをインポートする代わりに、PDF を自分で解析して、解析結果をインポートできます。これにより、ドキュメントを構造化された方法でインポートできるため、検索と回答の生成でドキュメントのレイアウトと要素に関する情報を利用できます。

解析済みの非構造化ドキュメントは、テキスト、表、リストのブロックのシーケンスを使用して非構造化ドキュメントを記述する JSON で表されます。解析済みの非構造化ドキュメント データを含む JSON ファイルは、PDF などの他のタイプの非構造化ドキュメントをインポートする場合と同じ方法でインポートします。この機能がオンになっている場合、JSON ファイルがアップロードされ、application/json MIME タイプまたは .JSON 拡張子で識別されて解析済みドキュメントとして扱われます。

この機能を有効にする方法や使用方法については、Google アカウント チームにお問い合わせください。

RAG 用にドキュメントをチャンクする

デフォルトでは、Vertex AI Search はドキュメント検索用に最適化されています。検索アプリは、検索結果ごとに PDF やウェブページなどのドキュメントを返します。

ドキュメント チャンキングは、非構造化データストアを使用するカスタム検索アプリで利用できます。

代わりに、Vertex AI Search を RAG 用に最適化できます。この場合、検索アプリは主にカスタムデータで LLM 出力を拡張するために使用されます。ドキュメント チャンキングが有効になっている場合、Vertex AI Search はドキュメントをチャンクに分割します。検索結果では、検索アプリがドキュメント全体ではなく、関連するデータのチャンクを返すことができます。RAG にチャンク化されたデータを使用すると、LLM の回答の関連性が高まり、LLM のコンピューティング負荷が軽減されます。

RAG に Vertex AI Search を使用する手順は次のとおりです。

  1. データストアの作成時にドキュメント チャンキングを有効にします。

    独自のドキュメントをすでにチャンク化している場合は、独自のチャンクをアップロードします(許可リスト付きのプレビュー)。

  2. 次の方法でチャンクを取得して表示します。

  3. 検索リクエストでチャンクを返す

制限事項

チャンク処理には次の制限が適用されます。

  • データストアの作成後にドキュメント チャンキングをオンまたはオフにすることはできません。
  • ドキュメント チャンキングが有効になっているデータストアから、チャンクではなくドキュメントに対して検索リクエストを実行できます。ただし、ドキュメント チャンキングが有効になっているデータストアは、ドキュメントを返す処理用に最適化されていません。ドキュメントは、チャンクをドキュメントに集約して返されます。
  • ドキュメント チャンキングが有効になっている場合、検索のサマリーとフォローアップ付きの検索は公開プレビュー版でサポートされていますが、一般提供ではサポートされていません。

ドキュメント チャンキングのオプション

このセクションでは、ドキュメント チャンキングを有効にするために指定するオプションについて説明します。

データストアの作成時に、Vertex AI Search がドキュメントをチャンクとしてインデックス登録できるように、次のオプションを有効にします。

  • レイアウト対応のドキュメント チャンキング。このオプションを有効にするには、データストアの作成リクエストに documentProcessingConfig フィールドを含め、ChunkingConfig.LayoutBasedChunkingConfig を指定します。

    レイアウト対応のドキュメント チャンキングが有効になっている場合、Vertex AI Search はドキュメントのレイアウトを検出し、チャンク処理中に考慮します。これにより、検索と LLM 生成に使用される場合、セマンティック コヒーレンスが向上し、コンテンツのノイズが軽減されます。チャンク内のすべてのテキストは、見出し、小見出し、リストなどの同じレイアウト エンティティから取得されます。

  • レイアウトの解析。このオプションを有効にするには、データストアの作成時に ParsingConfig.LayoutParsingConfig を指定します。

    レイアウト パーサーは、PDF、HTML、DOCX ファイルのレイアウトを検出します。テキスト ブロック、表、リスト、タイトル、見出しなどの要素を特定し、それらを使用してドキュメントの構成と階層を定義します。

    レイアウトの解析について詳しくは、レイアウトの解析をご覧ください。

ドキュメント チャンキングを有効にする

ドキュメント チャンキングを有効にするには、データストアの作成リクエストに documentProcessingConfig オブジェクトを含め、レイアウト対応のドキュメント チャンキングとレイアウト解析を有効にします。

REST

ドキュメント チャンキングを有効にするには:

  1. API を使用して検索データストアを作成するときに、データストア作成リクエストに documentProcessingConfig.chunkingConfig オブジェクトを含めます。

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

    以下を置き換えます。

    • CHUNK_SIZE_LIMIT: 省略可。各チャンクのトークン サイズの上限。デフォルト値は 500 です。サポートされている値は 100 から 500 です(含まれます)。
    • HEADINGS_BOOLEAN: 省略可。各チャンクに見出しを含めるかどうかを決定します。デフォルト値は false です。ドキュメントの途中部分から作成したチャンクに、タイトルとすべてのレベルの見出しを追加すると、チャンクの取得とランキングでコンテキストが失われるのを防ぐことができます。

コンソール

コンソールで検索データストアを作成するときに、ドキュメント チャンキングを有効にできます。

独自のチャンクを持ち込む(許可リスト付きのプレビュー)

独自のドキュメントをすでにチャンク化している場合は、ドキュメント チャンキング オプションを有効にする代わりに、それらを Vertex AI Search にアップロードできます。

独自のチャンクを持ち込む機能は、許可リスト付きのプレビュー機能です。この機能を使用するには、Google アカウント チームにお問い合わせください。

ドキュメントのチャンクを一覧表示する

特定のドキュメントのすべてのチャンクを一覧表示するには、Chunks.list メソッドを呼び出します。

REST

ドキュメントのチャンクを一覧表示する手順は次のとおりです。

  1. Chunks.list メソッドを呼び出します。

    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"
    

    以下を置き換えます。

    • PROJECT_ID: プロジェクトの ID。
    • DATA_STORE_ID: データストアの ID。
    • DOCUMENT_ID: チャンクを一覧表示するドキュメントの ID。

処理済みドキュメントから JSON でチャンクを取得する

getProcessedDocument メソッドを呼び出すと、特定のドキュメントのすべてのチャンクを JSON 形式で取得できます。チャンクを JSON で取得すると、チャンクを別の場所にアップロードする必要がある場合や、独自のチャンクを持ち込む機能を使用して、チャンクを Vertex AI Search に再インポートする場合に役立ちます。

REST

ドキュメントの JSON チャンクを取得する手順は次のとおりです。

  1. getProcessedDocument メソッドを呼び出します。

    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"
    

    以下を置き換えます。

    • PROJECT_ID: プロジェクトの ID。
    • DATA_STORE_ID: データストアの ID。
    • DOCUMENT_ID: チャンクを取得するドキュメントの ID。

特定のチャンクを取得する

特定のチャンクを取得するには、Chunks.get メソッドを呼び出します。

REST

特定のチャンクを取得する手順は次のとおりです。

  1. Chunks.get メソッドを呼び出します。

    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"
    

    以下を置き換えます。

    • PROJECT_ID: プロジェクトの ID。
    • DATA_STORE_ID: データストアの ID。
    • DOCUMENT_ID: チャンクの元となるドキュメントの ID。
    • CHUNK_ID: 返すチャンクの ID。

データが正しくチャンク化されたことを確認したら、Vertex AI Search はチャンク化されたデータを検索結果として返すことができます。

レスポンスは、検索クエリに関連するチャンクを返します。また、ソースドキュメント内の関連するチャンクの前後に出現する隣接するチャンクを返すこともできます。隣接するチャンクは、コンテキストと精度を高めることができます。

REST

チャンク化されたデータを取得するには:

  1. 検索リクエストを行うときに、ContentSearchSpec.SearchResultModechunks として指定します。

    contentSearchSpec": {
      "searchResultMode": "RESULT_MODE",
      "chunkSpec": {
           "numPreviousChunks": NUMBER_OF_PREVIOUS_CHUNKS,
           "numNextChunks": NUMBER_OF_NEXT_CHUNKS
       }
    }
    
    • RESULT_MODE: 検索結果を完全なドキュメントとして返すか、チャンクで返すかを決定します。チャンクを取得するには、データストアでドキュメント チャンキングが有効になっている必要があります。指定できる値は documents および chunks です。データストアでドキュメント チャンキングが有効になっている場合、デフォルト値は chunks です。
    • NUMBER_OF_PREVIOUS_CHUNKS: 関連するチャンクの直前に返すチャンクの数。最大値は 5 です。
    • NUMBER_OF_NEXT_CHUNKS: 関連するチャンクの直後に返すチャンクの数。最大値は 5 です。

次の検索クエリ リクエストの例では、SearchResultModechunks に設定し、前のチャンクと次のチャンクを 1 つずつリクエストし、pageSize を使用して結果の数を 1 つの関連チャンクに制限しています。

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
       }
  }
}'

次の例は、サンプルクエリに対して返されるレスポンスを示しています。 レスポンスには、関連するチャンク、前後のチャンク、元のドキュメントのメタデータ、各チャンクの派生元となったドキュメント ページの範囲が含まれます。

レスポンス

{
  "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": {}
}

次のステップ