Menyinkronkan 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 dalam penyimpanan data. Data di penyimpanan data tidak berubah kecuali jika Anda memuat ulang 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 yang dapat Anda gunakan untuk mengimpor data Cloud Storage ke penyimpanan data Gemini Enterprise.

Penyerapan satu kali Penyerapan berkala
Tersedia secara umum (GA). Pratinjau publik.
Data harus diperbarui secara manual. Data diperbarui secara otomatis setiap satu, tiga, atau lima hari. Data tidak dapat dimuat ulang 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 (yang disebut penyimpanan data entitas) dengannya untuk file atau folder yang ditentukan. Setiap konektor data Cloud Storage dapat memiliki satu penyimpanan data entity.
Data dari beberapa file, folder, dan bucket dapat digabungkan dalam satu penyimpanan data dengan terlebih dahulu menyerap data dari satu lokasi Cloud Storage, lalu menyerap lebih banyak data dari lokasi lain. Karena impor data manual tidak didukung, data di penyimpanan data entitas 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 konsolGoogle Cloud atau API. Anda harus menggunakan konsol untuk membuat konektor data dan penyimpanan data entitasnya.
Kompatibel dengan CMEK. Kompatibel dengan CMEK.

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 artikel Menyiapkan data untuk penyerapan.

Konsol

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

  1. Di konsol Google Cloud , 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 Pilih folder atau file yang ingin Anda impor, pilih Folder atau File.

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

  7. Pilih jenis data yang Anda impor.

  8. Klik Lanjutkan.

  9. Jika Anda melakukan impor data terstruktur satu kali:

    1. Petakan kolom ke properti utama.

    2. Jika ada kolom penting yang tidak ada dalam skema, gunakan Tambahkan kolom baru untuk menambahkannya.

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

    3. Klik Lanjutkan.

  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 parser, lihat Mem-parsing dokumen. Untuk mengetahui informasi tentang chunking, lihat Mengelompokkan dokumen untuk RAG.

    Parser OCR dan parser tata letak dapat menimbulkan biaya tambahan.

    Untuk memilih parser, luaskan Opsi pemrosesan dokumen dan tentukan opsi parser yang ingin Anda gunakan.

  13. Klik Buat.

  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 Aktivitas berubah dari Sedang berlangsung menjadi Impor selesai, 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 boleh berisi huruf kecil, angka, garis bawah, dan tanda hubung.
    • DATA_STORE_DISPLAY_NAME: nama tampilan penyimpanan data yang ingin Anda buat.

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

  2. Mengimpor 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 data tidak terstruktur dengan metadata, contoh pola file input adalah gs://<your-gcs-bucket>/directory/object.jsondan contoh pencocokan pola 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 akan menjadi dokumen.

      Jika <your-gcs-bucket> tidak berada di bawah PROJECT_ID, Anda harus memberikan izin "Storage Object Viewer" kepada 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 izin service-456@gcp-sa-discoveryengine.iam.gserviceaccount.com pada bucket Cloud Storage di project "123".

    • DATA_SCHEMA: optional. Nilainya adalah document, custom, csv, dan content. Defaultnya adalah document.

      • document: Upload data tidak terstruktur dengan metadata untuk dokumen tidak terstruktur. Setiap baris file harus mengikuti salah satu 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 dibuat secara otomatis 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: optional. Direktori Cloud Storage untuk informasi error tentang impor—misalnya, gs://<your-gcs-bucket>/directory/import_errors. Google merekomendasikan agar Anda mengosongkan kolom ini agar Gemini Enterprise dapat membuat direktori sementara secara otomatis.

    • RECONCILIATION_MODE: optional. Nilainya adalah FULL dan INCREMENTAL. Default-nya adalah INCREMENTAL. Menentukan INCREMENTAL akan menyebabkan refresh data inkremental dari Cloud Storage ke penyimpanan data Anda. Operasi ini melakukan operasi upsert, yang menambahkan dokumen baru dan menggantikan 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 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: optional. Menentukan apakah ID dokumen akan dibuat secara otomatis. Jika disetel ke true, ID dokumen dibuat berdasarkan hash payload. Perhatikan bahwa ID dokumen yang dibuat mungkin tidak tetap konsisten selama beberapa kali impor. Jika Anda membuat ID secara otomatis di beberapa impor, Google sangat merekomendasikan agar Anda 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 menyetelnya ke false, Anda harus menentukan idField. Jika tidak, dokumen akan gagal diimpor.

    • ID_FIELD: optional. 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". 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 berupa jenis string, harus terdiri dari 1 hingga 63 karakter, dan harus sesuai dengan RFC-1034. Jika tidak, dokumen akan gagal diimpor.

Menghubungkan ke Cloud Storage dengan sinkronisasi berkala

Sebelum mengimpor data, tinjau artikel 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 konsol Google Cloud , 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 Berkala.

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

  8. Di bagian Pilih folder atau file yang ingin Anda impor, pilih Folder atau File.

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

  10. Klik Lanjutkan.

  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 parser, lihat Mem-parsing dokumen. Untuk mengetahui informasi tentang chunking, lihat Mengelompokkan dokumen untuk RAG.

    Parser OCR dan parser tata letak dapat menimbulkan biaya tambahan.

    Untuk memilih parser, luaskan Opsi pemrosesan dokumen dan tentukan opsi parser yang ingin Anda gunakan.

  14. Klik Buat.

    Anda kini telah membuat konektor data, yang akan menyinkronkan 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 Aktivitas penyerapan data. Saat kolom status pada tab Aktivitas penyerapan data berubah dari Sedang berlangsung menjadi berhasil, penyerapan pertama selesai.

    Bergantung pada ukuran data Anda, penyerapan data 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