Mengurai dan memotong dokumen

Halaman ini menjelaskan cara menggunakan Vertex AI Search untuk mengurai dan mengelompokkan dokumen Anda.

Anda dapat mengonfigurasi setelan penguraian atau pengelompokan untuk:

  • Menentukan cara Vertex AI Search mengurai konten. Anda dapat menentukan cara menguraikan konten tidak terstruktur saat menguploadnya ke Vertex AI Search. Vertex AI Search menyediakan parser digital, parser OCR untuk PDF, dan parser tata letak. Anda juga dapat membawa dokumen yang telah diuraikan sendiri. Parser tata letak direkomendasikan jika Anda memiliki konten yang kaya dan elemen struktural seperti bagian, paragraf, tabel, daftar yang akan diekstrak dari dokumen untuk penelusuran dan pembuatan jawaban.

    Lihat Meningkatkan deteksi konten dengan penguraian.

  • Gunakan Vertex AI Search untuk retrieval-augmented generation (RAG). Tingkatkan output LLM dengan data relevan yang telah Anda upload ke aplikasi Vertex AI Search. Untuk melakukannya, Anda akan mengaktifkan pengelompokan dokumen, yang mengindeks data Anda sebagai bagian untuk meningkatkan relevansi dan mengurangi beban komputasi untuk LLM. Anda juga akan mengaktifkan parser tata letak, yang mendeteksi elemen dokumen seperti judul dan daftar, untuk meningkatkan cara dokumen dibagi menjadi beberapa bagian.

    Untuk mengetahui informasi tentang pengelompokan untuk RAG dan cara menampilkan bagian dalam permintaan penelusuran, lihat Membuat bagian dokumen untuk RAG.

Mengurai dokumen

Anda dapat mengontrol penguraian konten dengan cara berikut:

  • Menentukan jenis parser. Anda dapat menentukan jenis penguraian yang akan diterapkan, bergantung pada jenis file:

    • Parser digital. Parser digital diaktifkan secara default untuk semua jenis file, kecuali jika jenis parser yang berbeda ditentukan. Parser digital memproses dokumen yang ditransfer jika tidak ada parser default lain yang ditentukan untuk penyimpanan data atau jika parser yang ditentukan tidak mendukung jenis file dokumen yang ditransfer.
    • Pemrosesan OCR untuk PDF. Jika berencana mengupload PDF yang dipindai atau PDF dengan teks di dalam gambar, Anda dapat mengaktifkan parser OCR untuk meningkatkan pengindeksan PDF. Lihat bagian Parser OCR untuk PDF dalam dokumen ini.
    • Parser tata letak. Aktifkan parser tata letak untuk file HTML, PDF, atau DOCX jika Anda berencana menggunakan Vertex AI Search untuk RAG. Lihat Membuat dokumen menjadi beberapa bagian untuk RAG guna mendapatkan informasi tentang parser ini dan cara mengaktifkannya.
  • Bawa dokumen yang telah diuraikan sendiri. (Pratinjau dengan daftar yang diizinkan) Jika sudah memecah dokumen tidak terstruktur, Anda dapat mengimpor konten yang telah diuraikan sebelumnya ke Vertex AI Search. Lihat Membawa dokumen yang telah diuraikan sendiri.

Perbandingan ketersediaan parser

Tabel berikut mencantumkan ketersediaan setiap parser menurut jenis file dokumen dan menunjukkan elemen yang dapat dideteksi dan diuraikan oleh setiap parser.

Jenis file Parser digital Parser OCR Parser tata letak
HTML Mendeteksi elemen paragraf T/A Mendeteksi elemen paragraf, tabel, daftar, judul, dan judul utama
PDF Mendeteksi elemen paragraf (teks digital) Mendeteksi elemen paragraf Mendeteksi elemen paragraf, tabel, judul, dan judul
DOCX (Pratinjau) Mendeteksi elemen paragraf T/A Mendeteksi elemen paragraf, tabel, daftar, judul, dan judul
PPTX (Pratinjau) Mendeteksi elemen paragraf T/A Mendeteksi elemen paragraf, tabel, daftar, judul, dan judul
TXT Mendeteksi elemen paragraf T/A Mendeteksi elemen paragraf, tabel, judul, dan judul
XLSX (Pratinjau) Mendeteksi elemen paragraf T/A Mendeteksi elemen paragraf, tabel, judul, dan judul

Parser digital

Parser digital mengekstrak teks yang dapat dibaca mesin dari dokumen. Alat ini mendeteksi blok teks, tetapi tidak mendeteksi elemen dokumen seperti tabel, daftar, dan judul.

Parser digital digunakan sebagai default jika Anda tidak menentukan parser lain sebagai default selama pembuatan penyimpanan data atau jika parser yang ditentukan tidak mendukung jenis file yang diupload.

Parser OCR untuk PDF

Jika Anda memiliki PDF yang tidak dapat ditelusuri (PDF yang dipindai atau PDF dengan teks di dalam gambar, seperti infografis), Google merekomendasikan untuk mengaktifkan pemrosesan pengenalan karakter optik (OCR) selama pembuatan penyimpanan data. Hal ini memungkinkan Vertex AI Search mengekstrak elemen paragraf.

Jika memiliki PDF yang dapat ditelusuri atau format digital lainnya yang sebagian besar terdiri dari teks yang dapat dibaca mesin, Anda biasanya tidak perlu menggunakan parser OCR. Namun, jika memiliki PDF yang berisi teks yang tidak dapat ditelusuri (seperti teks yang dipindai atau infografis) dan teks yang dapat dibaca mesin, Anda dapat menetapkan kolom useNativeText ke benar saat menentukan parser OCR. Dalam hal ini, teks yang dapat dibaca mesin digabungkan dengan output penguraian OCR untuk meningkatkan kualitas ekstraksi teks.

Fitur pemrosesan OCR tersedia untuk aplikasi penelusuran umum dengan penyimpanan data tidak terstruktur.

Prosesor OCR dapat mengurai maksimum 500 halaman per file PDF. Untuk PDF yang lebih panjang, pemroses OCR mengurai 500 halaman pertama dan parser default mengurai halaman lainnya.

Parser tata letak

Pemecahan tata letak memungkinkan Vertex AI Search mendeteksi tata letak untuk PDF dan HTML. Dukungan untuk file DOCX masih dalam Pratinjau. Vertex AI Search kemudian dapat mengidentifikasi elemen konten seperti blok teks, tabel, daftar, dan elemen struktural seperti judul dan header, serta menggunakannya untuk menentukan organisasi dan hierarki dokumen.

Anda dapat mengaktifkan penguraian tata letak untuk semua jenis file atau menentukan jenis file yang akan diaktifkan. Parser tata letak mendeteksi elemen konten seperti paragraf, tabel, daftar, dan elemen struktural seperti judul, judul, header, catatan kaki.

Parser tata letak hanya tersedia saat menggunakan pengelompokan dokumen untuk RAG. Saat pemisahan dokumen diaktifkan, Vertex AI Search akan membagi dokumen menjadi beberapa bagian pada waktu penyerapan dan dapat menampilkan dokumen sebagai bagian. Mendeteksi tata letak dokumen memungkinkan pengelompokan berbasis konten dan meningkatkan pembuatan penelusuran dan jawaban terkait elemen dokumen. Untuk informasi selengkapnya tentang pengelompokan dokumen untuk RAG, lihat Membuat kelompok dokumen untuk RAG.

Parser tata letak mendukung ukuran file PDF maksimum 40 MB.

Menentukan parser default

Dengan menyertakan objek documentProcessingConfig saat membuat penyimpanan data, Anda dapat menentukan parser default untuk penyimpanan data tersebut. Jika Anda tidak menyertakan documentProcessingConfig.defaultParsingConfig, parser digital akan digunakan. Parser digital juga digunakan jika parser yang ditentukan tidak tersedia untuk jenis file.

REST

Untuk menentukan parser default:

  1. Saat membuat penyimpanan data penelusuran menggunakan API, sertakan documentProcessingConfig.defaultParsingConfig dalam permintaan pembuatan penyimpanan data. Anda dapat menentukan parser OCR, parser tata letak, atau parser digital:

    • Untuk menentukan parser OCR untuk PDF:

      "documentProcessingConfig": {
        "defaultParsingConfig": {
          "ocrParsingConfig": {
            "useNativeText": "NATIVE_TEXT_BOOLEAN"
          }
        }
      }
      
      • NATIVE_TEXT_BOOLEAN: Opsional. Tetapkan hanya jika Anda menyerap PDF. Jika disetel ke true, tindakan ini akan mengaktifkan pemrosesan teks yang dapat dibaca mesin untuk parser OCR. Defaultnya adalah false.
    • Untuk menentukan parser tata letak:

      "documentProcessingConfig": {
        "defaultParsingConfig": {
          "layoutParsingConfig": {}
        }
      }
      
    • Untuk menentukan parser digital:

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

Contoh

Contoh berikut menentukan selama pembuatan penyimpanan data bahwa parser OCR akan menjadi parser default. Karena parser OCR hanya berlaku untuk file PDF, semua file PDF yang ditransfer akan diproses oleh parser OCR, dan jenis file lainnya akan diproses oleh parser digital.

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

Menentukan penggantian parser untuk jenis file

Anda dapat menentukan bahwa jenis file tertentu (PDF, HTML, atau DOCX) harus diuraikan oleh parser yang berbeda dengan parser default. Untuk melakukannya, sertakan kolom documentProcessingConfig dalam permintaan pembuatan penyimpanan data Anda dan tentukan parser penggantian. Jika Anda tidak menentukan parser default, parser digital akan menjadi default.

REST

Untuk menentukan penggantian parser khusus jenis file:

  1. Saat membuat penyimpanan data penelusuran menggunakan API, sertakan documentProcessingConfig.defaultParsingConfig dalam permintaan pembuatan penyimpanan data.

    Anda dapat menentukan parser untuk pdf, html, atau docx:

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

    Ganti kode berikut:

    • FILE_TYPE: Nilai yang diterima adalah pdf, html, dan docx.
    • PARSING_CONFIG: Tentukan konfigurasi untuk parser yang ingin Anda terapkan ke jenis file. Anda dapat menentukan parser OCR, parser tata letak, atau parser digital:

      • Untuk menentukan parser OCR untuk PDF:

        "ocrParsingConfig": {
          "useNativeText": "NATIVE_TEXT_BOOLEAN"
        }
        
        • NATIVE_TEXT_BOOLEAN: Opsional. Tetapkan hanya jika Anda melakukan transfer PDF. Jika disetel ke true, setelan ini akan mengaktifkan pemrosesan teks yang dapat dibaca mesin untuk parser OCR. Defaultnya adalah false.
      • Untuk menentukan parser tata letak:

        "layoutParsingConfig": {}
        
      • Untuk menentukan parser digital:

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

Contoh

Contoh berikut menentukan selama pembuatan penyimpanan data bahwa file PDF harus diproses oleh parser OCR dan file HTML harus diproses oleh parser tata letak. Dalam hal ini, file apa pun selain file PDF dan HTML akan diproses oleh parser digital.

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

Mendapatkan dokumen yang diuraikan dalam JSON

Anda bisa mendapatkan dokumen yang diuraikan dalam format JSON dengan memanggil metode getProcessedDocument dan menentukan PARSED_DOCUMENT sebagai jenis dokumen yang diproses. Mendapatkan dokumen yang diuraikan dalam JSON dapat membantu jika Anda perlu mengupload dokumen yang diuraikan di tempat lain atau jika Anda memutuskan untuk mengimpor ulang dokumen yang diuraikan ke Vertex AI Agent Builder menggunakan fitur bawa dokumen yang diuraikan Anda sendiri.

REST

Untuk mendapatkan dokumen yang diuraikan dalam JSON, ikuti langkah ini:

  1. Panggil metode 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"
    

    Ganti kode berikut:

    • PROJECT_ID: ID project Anda.
    • DATA_STORE_ID: ID penyimpanan data Anda.
    • DOCUMENT_ID: ID dokumen yang akan diambil.

Menggunakan dokumen Anda sendiri yang telah diuraikan

Anda dapat mengimpor dokumen tidak terstruktur yang telah diuraikan sebelumnya ke dalam penyimpanan data Vertex AI Search. Misalnya, alih-alih mengimpor dokumen PDF mentah, Anda dapat mengurai PDF sendiri dan mengimpor hasil penguraian sebagai gantinya. Hal ini memungkinkan Anda mengimpor dokumen dengan cara terstruktur, sehingga memastikan bahwa penelusuran dan pembuatan jawaban memiliki informasi tentang tata letak dan elemen dokumen.

Dokumen tidak terstruktur yang diuraikan direpresentasikan oleh JSON yang mendeskripsikan dokumen tidak terstruktur menggunakan urutan blok teks, tabel, dan daftar. Anda mengimpor file JSON dengan data dokumen tidak terstruktur yang diuraikan dengan cara yang sama seperti mengimpor jenis dokumen tidak terstruktur lainnya, seperti PDF. Jika fitur ini diaktifkan, setiap kali file JSON diupload dan diidentifikasi oleh jenis MIME application/json atau ekstensi .JSON, file tersebut akan diperlakukan sebagai dokumen yang diuraikan.

Untuk mengaktifkan fitur ini dan mengetahui informasi tentang cara menggunakannya, hubungi tim Akun Google Anda.

Memotong dokumen untuk RAG

Secara default, Vertex AI Search dioptimalkan untuk pengambilan dokumen, dengan aplikasi penelusuran Anda menampilkan dokumen seperti PDF atau halaman web dengan setiap hasil penelusuran.

Fitur pengelompokan dokumen tersedia untuk aplikasi penelusuran umum dengan penyimpanan data tidak terstruktur.

Sebagai gantinya, Vertex AI Search dapat dioptimalkan untuk RAG, dengan aplikasi penelusuran Anda secara khusus digunakan untuk meningkatkan output LLM dengan data kustom Anda. Saat pengelompokan dokumen diaktifkan, Vertex AI Search akan membagi dokumen Anda menjadi beberapa bagian. Dalam hasil penelusuran, aplikasi penelusuran Anda dapat menampilkan potongan data yang relevan, bukan dokumen lengkap. Menggunakan data yang dikelompokkan untuk RAG akan meningkatkan relevansi untuk jawaban LLM dan mengurangi beban komputasi untuk LLM.

Untuk menggunakan Vertex AI Search untuk RAG:

  1. Aktifkan pengelompokan dokumen saat Anda membuat penyimpanan data.

    Atau, upload bagian Anda sendiri (Pratinjau dengan daftar yang diizinkan) jika Anda telah mengelompokkan dokumen Anda sendiri.

  2. Ambil dan lihat potongan dengan cara berikut:

  3. Menampilkan potongan dalam permintaan penelusuran.

Batasan

Batasan berikut berlaku untuk pengelompokan:

  • Pembagian dokumen tidak dapat diaktifkan atau dinonaktifkan setelah pembuatan penyimpanan data.
  • Anda dapat membuat permintaan penelusuran untuk dokumen, bukan bagian dari penyimpanan data dengan pengelompokan dokumen diaktifkan. Namun, penyimpanan data dengan pengelompokan dokumen yang diaktifkan tidak dioptimalkan untuk menampilkan dokumen. Dokumen ditampilkan dengan menggabungkan potongan ke dalam dokumen.
  • Jika pengelompokan dokumen diaktifkan, ringkasan penelusuran dan penelusuran dengan tindak lanjut didukung di Pratinjau publik, tetapi tidak didukung sebagai GA.

Opsi pengelompokan dokumen

Bagian ini menjelaskan opsi yang Anda tentukan untuk mengaktifkan pemisahan dokumen.

Selama pembuatan penyimpanan data, aktifkan opsi berikut agar Vertex AI Search dapat mengindeks dokumen Anda sebagai bagian.

  • Pembagian dokumen yang mempertimbangkan tata letak. Untuk mengaktifkan opsi ini, sertakan kolom documentProcessingConfig dalam permintaan pembuatan penyimpanan data dan tentukan ChunkingConfig.LayoutBasedChunkingConfig.

    Jika pengelompokan dokumen berbasis tata letak diaktifkan, Vertex AI Search akan mendeteksi tata letak dokumen dan memperhitungkannya selama pengelompokan. Hal ini meningkatkan koherensi semantik dan mengurangi derau dalam konten saat digunakan untuk pengambilan dan pembuatan LLM. Semua teks dalam bagian akan berasal dari entity tata letak yang sama, seperti judul, subjudul, dan daftar.

  • Pemrosesan tata letak. Untuk mengaktifkan opsi ini, tentukan ParsingConfig.LayoutParsingConfig selama pembuatan penyimpanan data.

    Parser tata letak mendeteksi tata letak untuk file PDF, HTML, dan DOCX. Model ini mengidentifikasi elemen seperti blok teks, tabel, daftar, judul, dan header, serta menggunakannya untuk menentukan organisasi dan hierarki dokumen.

    Untuk mengetahui selengkapnya tentang penguraian tata letak, lihat Penguraian tata letak.

Mengaktifkan pengelompokan dokumen

Anda dapat mengaktifkan pengelompokan dokumen dengan menyertakan objek documentProcessingConfig dalam permintaan pembuatan penyimpanan data dan mengaktifkan pengelompokan dokumen berbasis tata letak dan penguraian tata letak.

REST

Untuk mengaktifkan pengelompokan dokumen:

  1. Saat membuat penyimpanan data penelusuran menggunakan API, sertakan objek documentProcessingConfig.chunkingConfig dalam permintaan pembuatan penyimpanan data.

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

    Ganti kode berikut:

    • CHUNK_SIZE_LIMIT: Opsional. Batas ukuran token untuk setiap bagian. Nilai defaultnya adalah 500. Nilai yang didukung adalah 100-500 (inklusif).
    • HEADINGS_BOOLEAN: Opsional. Menentukan apakah judul disertakan dalam setiap bagian. Nilai defaultnya adalah false. Menambahkan judul dan judul di semua tingkat ke bagian dari bagian tengah dokumen dapat membantu mencegah hilangnya konteks dalam pengambilan dan peringkat bagian.

Bring your own chunks (Pratinjau dengan daftar yang diizinkan)

Jika sudah mengelompokkan dokumen Anda sendiri, Anda dapat menguploadnya ke Vertex AI Search, bukan mengaktifkan opsi pengelompokan dokumen.

Membawa bagian Anda sendiri adalah Pratinjau dengan fitur daftar yang diizinkan. Untuk menggunakan fitur ini, hubungi tim akun Google Anda.

Mencantumkan bagian dokumen

Untuk mencantumkan semua bagian untuk dokumen tertentu, panggil metode Chunks.list.

REST

Untuk membuat daftar potongan untuk dokumen, ikuti langkah ini:

  1. Panggil metode 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"
    

    Ganti kode berikut:

    • PROJECT_ID: ID project Anda.
    • DATA_STORE_ID: ID penyimpanan data Anda.
    • DOCUMENT_ID: ID dokumen yang akan mencantumkan bagian.

Mendapatkan potongan dalam JSON dari dokumen yang diproses

Anda bisa mendapatkan semua bagian dari dokumen tertentu dalam format JSON dengan memanggil metode getProcessedDocument. Mendapatkan potongan dalam JSON dapat membantu jika Anda perlu mengupload potongan di tempat lain atau jika Anda memutuskan untuk mengimpor ulang potongan ke Vertex AI Agent Builder menggunakan fitur bring your own chunks.

REST

Untuk mendapatkan potongan JSON untuk dokumen, ikuti langkah ini:

  1. Panggil metode 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/chunks:getProcessedDocument?processed_document_type=CHUNKED_DOCUMENT"
    

    Ganti kode berikut:

    • PROJECT_ID: ID project Anda.
    • DATA_STORE_ID: ID penyimpanan data Anda.
    • DOCUMENT_ID: ID dokumen tempat mendapatkan bagian.

Mendapatkan potongan tertentu

Untuk mendapatkan bagian tertentu, panggil metode Chunks.get.

REST

Untuk mendapatkan bagian tertentu, ikuti langkah ini:

  1. Panggil metode 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"
    

    Ganti kode berikut:

    • PROJECT_ID: ID project Anda.
    • DATA_STORE_ID: ID penyimpanan data Anda.
    • DOCUMENT_ID: ID dokumen asal potongan.
    • CHUNK_ID: ID bagian yang akan ditampilkan.

Setelah mengonfirmasi bahwa data telah dikelompokkan dengan benar, Vertex AI Search dapat menampilkan data yang dikelompokkan dalam hasil penelusurannya.

Respons menampilkan bagian yang relevan dengan kueri penelusuran. Selain itu, Anda dapat memilih untuk menampilkan potongan yang berdekatan yang muncul sebelum dan setelah potongan yang relevan dalam dokumen sumber. Potongan yang berdekatan dapat menambahkan konteks dan akurasi.

REST

Untuk mendapatkan data yang dikelompokkan:

  1. Saat membuat permintaan penelusuran, tentukan ContentSearchSpec.SearchResultMode sebagai chunks.

    contentSearchSpec": {
      "searchResultMode": "RESULT_MODE",
      "chunkSpec": {
           "numPreviousChunks": NUMBER_OF_PREVIOUS_CHUNKS,
           "numNextChunks": NUMBER_OF_NEXT_CHUNKS
       }
    }
    
    • RESULT_MODE: Menentukan apakah hasil penelusuran ditampilkan sebagai dokumen lengkap atau dalam beberapa bagian. Untuk mendapatkan bagian, penyimpanan data harus mengaktifkan pengelompokan dokumen. Nilai yang diterima adalah documents dan chunks. Jika pengelompokan dokumen diaktifkan untuk penyimpanan data Anda, nilai defaultnya adalah chunks.
    • NUMBER_OF_PREVIOUS_CHUNKS: Jumlah bagian yang akan ditampilkan yang langsung mendahului bagian yang relevan. Nilai maksimum yang diizinkan adalah 5.
    • NUMBER_OF_NEXT_CHUNKS: Jumlah bagian yang akan ditampilkan yang langsung mengikuti bagian yang relevan. Nilai maksimum yang diizinkan adalah 5.

Contoh

Contoh permintaan kueri penelusuran berikut menetapkan SearchResultMode ke chunks, meminta satu bagian sebelumnya dan satu bagian berikutnya, serta membatasi jumlah hasil ke satu bagian yang relevan menggunakan pageSize.

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

Contoh berikut menunjukkan respons yang ditampilkan untuk contoh kueri. Respons berisi potongan yang relevan, potongan sebelumnya dan berikutnya, metadata dokumen asli, dan rentang halaman dokumen yang menjadi sumber setiap potongan.

Respons

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

Langkah selanjutnya