Mengimpor dari Cloud Storage

Anda dapat membuat penyimpanan data dari tabel Cloud Storage dengan dua cara:

  • Penyerapan satu kali: Anda mengimpor data dari folder atau file Cloud Storage ke penyimpanan data. Data dalam penyimpanan data tidak berubah kecuali jika Anda memperbarui data secara manual.

  • Penyerapan berkala: Anda mengimpor data dari folder atau file Cloud Storage, dan menetapkan frekuensi sinkronisasi yang menentukan seberapa sering penyimpanan data diperbarui dengan data terbaru dari lokasi Cloud Storage tersebut.

Tabel berikut membandingkan dua cara Anda dapat mengimpor data Cloud Storage ke penyimpanan data Gemini Enterprise.

Penyerapan satu kali Penyerapan berkala
Umumnya tersedia (GA). Pratinjau publik.
Data harus diperbarui secara manual. Data diperbarui secara otomatis setiap satu, tiga, atau lima hari. Data tidak dapat diperbarui secara manual.
Gemini Enterprise membuat satu penyimpanan data dari satu folder atau file di Cloud Storage. Gemini Enterprise membuat konektor data, dan mengaitkan penyimpanan data (disebut penyimpanan data entitas) dengannya untuk file atau folder yang ditentukan. Setiap konektor data Cloud Storage dapat memiliki satu penyimpanan data entitas.
Data dari beberapa file, folder, dan bucket dapat digabungkan dalam satu penyimpanan data dengan terlebih dahulu menyerap data dari satu lokasi Cloud Storage, lalu lebih banyak data dari lokasi lain. Karena impor data manual tidak didukung, data dalam penyimpanan data entitas data hanya dapat bersumber dari satu file atau folder Cloud Storage.
Kontrol akses sumber data didukung. Untuk mengetahui informasi selengkapnya, lihat Kontrol akses sumber data. Kontrol akses sumber data tidak didukung. Data yang diimpor dapat berisi kontrol akses, tetapi kontrol ini tidak akan dipatuhi.
Anda dapat membuat penyimpanan data menggunakan konsol atau API.Google Cloud Anda harus menggunakan konsol untuk membuat konektor data dan penyimpanan data entitasnya.
Mematuhi CMEK. Mematuhi CMEK.

Sebelum memulai

Untuk mengimpor data dari source Google Cloud project yang berbeda dengan Google Cloud project yang memiliki penyimpanan data Gemini Enterprise, berikan peran Identity and Access Management (IAM) berikut ke service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com akun layanan di project yang berisi penyimpanan data Gemini Enterprise:

Mengimpor sekali dari Cloud Storage

Untuk menyerap data dari Cloud Storage, gunakan langkah-langkah berikut untuk membuat penyimpanan data dan menyerap data menggunakan konsol atau API. Google Cloud

Sebelum mengimpor data, tinjau Menyiapkan data untuk penyerapan.

Konsol

Untuk menggunakan konsol guna menyerap data dari bucket Cloud Storage, ikuti langkah-langkah berikut:

  1. Di Google Cloud konsol, buka halaman Gemini Enterprise.

    Gemini Enterprise

  2. Buka halaman Data Stores.

  3. Klik Create Data Store.

  4. Di halaman Select a data source, pilih Cloud Storage.

  5. Di bagian Select a folder or file you want to import, pilih Folder atau File.

  6. Klik Browse dan pilih data yang telah Anda siapkan untuk penyerapan, lalu klik Select. Atau, masukkan lokasi langsung di kolom gs://.

  7. Pilih jenis data yang Anda impor.

  8. Klik Continue.

  9. Jika Anda melakukan impor satu kali data terstruktur:

    1. Petakan kolom ke properti kunci.

    2. Jika ada kolom penting yang tidak ada dalam skema, gunakan Add new field untuk menambahkannya.

      Untuk mengetahui informasi selengkapnya, lihat Tentang deteksi otomatis dan pengeditan.

    3. Klik Continue.

  10. Pilih region untuk penyimpanan data Anda.

  11. Masukkan nama untuk penyimpanan data Anda.

  12. Opsional: Jika Anda memilih dokumen tidak terstruktur, Anda dapat memilih opsi penguraian dan pengelompokan untuk dokumen Anda. Untuk membandingkan pengurai, lihat Mengurai dokumen. Untuk mengetahui informasi tentang pengelompokan, lihat Mengelompokkan dokumen untuk RAG.

    Pengurai OCR dan tata letak dapat dikenai biaya tambahan. Lihat Harga fitur Document AI.

    Untuk memilih pengurai, luaskan Document processing options dan tentukan opsi pengurai yang ingin Anda gunakan.

  13. Klik Create.

  14. Untuk memeriksa status penyerapan, buka halaman Data Stores dan klik nama penyimpanan data Anda untuk melihat detailnya di halaman Data. Saat kolom status di tab Activity berubah dari In progress menjadi Import completed, penyerapan selesai.

    Bergantung pada ukuran data Anda, penyerapan dapat memerlukan waktu beberapa menit atau beberapa jam.

REST

Untuk menggunakan command line guna membuat penyimpanan data dan menyerap data dari Cloud Storage, ikuti langkah-langkah berikut.

  1. Buat penyimpanan data.

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

    Ganti kode berikut:

    • PROJECT_ID: ID project Anda.
    • DATA_STORE_ID: ID penyimpanan data yang ingin Anda buat. ID ini hanya dapat berisi huruf kecil, digit, garis bawah, dan tanda hubung.
    • DATA_STORE_DISPLAY_NAME: nama tampilan penyimpanan data yang ingin Anda buat.

    Opsional: Untuk mengonfigurasi penguraian dokumen atau mengaktifkan pengelompokan dokumen untuk RAG, tentukan documentProcessingConfig objek dan sertakan dalam permintaan pembuatan penyimpanan data Anda. Sebaiknya konfigurasikan pengurai OCR untuk PDF jika Anda menyerap PDF yang dipindai. Untuk mengetahui cara mengonfigurasi opsi penguraian atau pengelompokan, lihat Mengurai dan mengelompokkan dokumen.

  2. Impor data dari Cloud Storage.

      curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \
      -d '{
        "gcsSource": {
          "inputUris": ["INPUT_FILE_PATTERN_1", "INPUT_FILE_PATTERN_2"],
          "dataSchema": "DATA_SCHEMA",
        },
        "reconciliationMode": "RECONCILIATION_MODE",
        "autoGenerateIds": "AUTO_GENERATE_IDS",
        "idField": "ID_FIELD",
        "errorConfig": {
          "gcsPrefix": "ERROR_DIRECTORY"
        }
      }'
    

    Ganti kode berikut:

    • PROJECT_ID: ID project Anda.
    • DATA_STORE_ID: ID penyimpanan data.
    • INPUT_FILE_PATTERN: pola file di Cloud Storage yang berisi dokumen Anda.

      Untuk data terstruktur atau untuk data tidak terstruktur dengan metadata, contoh pola file input adalah gs://<your-gcs-bucket>/directory/object.json dan contoh pola yang cocok dengan satu atau beberapa file adalah gs://<your-gcs-bucket>/directory/*.json.

      Untuk dokumen tidak terstruktur, contohnya adalah gs://<your-gcs-bucket>/directory/*.pdf. Setiap file yang cocok dengan pola tersebut akan menjadi dokumen.

      Jika <your-gcs-bucket> tidak berada di bawah PROJECT_ID, Anda harus memberikan izin "Storage Object Viewer" akun layanan service-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.com untuk bucket Cloud Storage. Misalnya, jika Anda mengimpor bucket Cloud Storage dari project sumber "123" ke project tujuan "456", berikan service-456@gcp-sa-discoveryengine.iam.gserviceaccount.com izin pada bucket Cloud Storage di project "123".

    • DATA_SCHEMA: opsional. Nilainya adalah document, custom, csv, dan content. Default-nya adalah document.

      • document: Upload data tidak terstruktur dengan metadata untuk dokumen tidak terstruktur. Setiap baris file harus mengikuti salah satu dari format berikut. Anda dapat menentukan ID setiap dokumen:

        • { "id": "<your-id>", "jsonData": "<JSON string>", "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }
        • { "id": "<your-id>", "structData": <JSON object>, "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }
      • custom: Upload JSON untuk dokumen terstruktur. Data diatur sesuai dengan skema. Anda dapat menentukan skema; jika tidak, skema akan terdeteksi secara otomatis. Anda dapat menempatkan string JSON dokumen dalam format yang konsisten langsung di setiap baris, dan Gemini Enterprise akan otomatis membuat ID untuk setiap dokumen yang diimpor.

      • content: Upload dokumen tidak terstruktur (PDF, HTML, DOC, TXT, PPTX). ID setiap dokumen akan otomatis dibuat sebagai 128 bit pertama SHA256(GCS_URI) yang dienkode sebagai string hex. Anda dapat menentukan beberapa pola file input selama file yang cocok tidak melebihi batas 100 ribu file.

      • csv: Sertakan baris header dalam file CSV Anda, dengan setiap header dipetakan ke kolom dokumen. Tentukan jalur ke file CSV menggunakan kolom inputUris.

    • ERROR_DIRECTORY: opsional. Direktori Cloud Storage untuk informasi error tentang impor—misalnya, gs://<your-gcs-bucket>/directory/import_errors. Google merekomendasikan untuk mengosongkan kolom ini agar Gemini Enterprise dapat otomatis membuat direktori sementara.

    • RECONCILIATION_MODE: opsional. Nilainya adalah FULL dan INCREMENTAL. Default-nya adalah INCREMENTAL. Menentukan INCREMENTAL akan menyebabkan pembaruan data inkremental dari Cloud Storage ke penyimpanan data Anda. Tindakan ini melakukan operasi upsert, yang menambahkan dokumen baru dan mengganti dokumen yang ada dengan dokumen yang diperbarui dengan ID yang sama. Menentukan FULL akan menyebabkan rebase penuh dokumen di penyimpanan data Anda. Dengan kata lain, dokumen baru dan yang diperbarui akan ditambahkan ke penyimpanan data Anda, dan dokumen yang tidak ada di Cloud Storage akan dihapus dari penyimpanan data Anda. Mode FULL berguna jika Anda ingin menghapus dokumen yang tidak lagi diperlukan secara otomatis.

    • AUTO_GENERATE_IDS: opsional. Menentukan apakah akan otomatis membuat ID dokumen. Jika ditetapkan ke true, ID dokumen akan dibuat berdasarkan hash payload. Perhatikan bahwa ID dokumen yang dibuat mungkin tidak tetap konsisten di beberapa impor. Jika Anda membuat ID secara otomatis di beberapa impor, Google sangat merekomendasikan untuk menyetel reconciliationMode ke FULL untuk mempertahankan ID dokumen yang konsisten.

      Tentukan autoGenerateIds hanya jika gcsSource.dataSchema ditetapkan ke custom atau csv. Jika tidak, error INVALID_ARGUMENT akan ditampilkan. Jika Anda tidak menentukan autoGenerateIds atau menetapkannya ke false, Anda harus menentukan idField. Jika tidak, dokumen akan gagal diimpor.

    • ID_FIELD: opsional. Menentukan kolom mana yang merupakan ID dokumen. Untuk dokumen sumber Cloud Storage, idField menentukan nama di kolom JSON yang merupakan ID dokumen. Misalnya, jika {"my_id":"some_uuid"} adalah kolom ID dokumen di salah satu dokumen Anda, tentukan "idField":"my_id". Tindakan ini mengidentifikasi semua kolom JSON dengan nama "my_id" sebagai ID dokumen.

      Tentukan kolom ini hanya jika: (1) gcsSource.dataSchema ditetapkan ke custom atau csv, dan (2) auto_generate_ids ditetapkan ke false atau tidak ditentukan. Jika tidak, error INVALID_ARGUMENT akan ditampilkan.

      Perhatikan bahwa nama kolom JSON yang ditentukan oleh id_field harus berjenis string, harus antara 1 dan 63 karakter, serta harus sesuai dengan RFC-1034. Jika tidak, dokumen akan gagal diimpor.

Menghubungkan ke Cloud Storage dengan sinkronisasi berkala

Sebelum mengimpor data, tinjau Menyiapkan data untuk penyerapan.

Prosedur berikut menjelaskan cara membuat konektor data yang mengaitkan lokasi Cloud Storage dengan konektor data Gemini Enterprise dan cara menentukan folder atau file di lokasi tersebut untuk penyimpanan data yang ingin Anda buat. Penyimpanan data yang merupakan turunan dari konektor data disebut penyimpanan data entitas.

Data disinkronkan secara berkala ke penyimpanan data entitas. Anda dapat menentukan sinkronisasi harian, setiap tiga hari, atau setiap lima hari.

Konsol

  1. Di Google Cloud konsol, buka halaman Gemini Enterprise.

    Gemini Enterprise

  2. Buka halaman Data Stores.

  3. Klik Create Data Store.

  4. Di halaman Source, pilih Cloud Storage.

  5. Pilih jenis data yang Anda impor.

  6. Klik Periodic.

  7. Pilih Synchronization frequency, seberapa sering Anda ingin konektor Gemini Enterprise melakukan sinkronisasi dengan lokasi Cloud Storage. Anda dapat mengubah frekuensi nanti.

  8. Di bagian Select a folder or file you want to import, pilih Folder atau File.

  9. Klik Browse dan pilih data yang telah Anda siapkan untuk penyerapan, lalu klik Select. Atau, masukkan lokasi langsung di kolom gs://.

  10. Klik Continue.

  11. Pilih region untuk konektor data Anda.

  12. Masukkan nama untuk konektor data Anda.

  13. Opsional: Jika Anda memilih dokumen tidak terstruktur, Anda dapat memilih opsi penguraian dan pengelompokan untuk dokumen Anda. Untuk membandingkan pengurai, lihat Mengurai dokumen. Untuk mengetahui informasi tentang pengelompokan, lihat Mengelompokkan dokumen untuk RAG.

    Pengurai OCR dan pengurai tata letak dapat dikenai biaya tambahan.

    Untuk memilih pengurai, luaskan Document processing options dan tentukan opsi pengurai yang ingin Anda gunakan.

  14. Klik Create.

    Anda kini telah membuat konektor data, yang akan melakukan sinkronisasi data secara berkala dengan lokasi Cloud Storage. Anda juga telah membuat penyimpanan data entitas, yang diberi nama gcs_store.

  15. Untuk memeriksa status penyerapan, buka halaman Data Stores dan klik nama konektor data Anda untuk melihat detailnya di halaman Data.

    Tab Data ingestion activity. Saat kolom status di tab Data ingestion activity berubah dari In progress menjadi succeeded, penyerapan pertama selesai.

    Bergantung pada ukuran data Anda, penyerapan dapat memerlukan waktu beberapa menit hingga beberapa jam.

Setelah Anda menyiapkan sumber data dan mengimpor data untuk pertama kalinya, data akan disinkronkan dari sumber tersebut dengan frekuensi yang Anda pilih selama penyiapan. Sekitar satu jam setelah konektor data dibuat, sinkronisasi pertama akan terjadi. Sinkronisasi berikutnya akan terjadi sekitar 24 jam, 72 jam, atau 120 jam kemudian.

Langkah berikutnya