Menambahkan dan mengelola sumber data di notebook (API)

Setelah membuat notebook, Anda dapat menambahkan berbagai jenis konten ke dalamnya sebagai sumber data. Anda dapat melakukannya dalam batch atau sebagai file tunggal. Beberapa sumbernya mencakup Google Dokumen, Google Slide, teks mentah, konten web, dan video YouTube.

Halaman ini menjelaskan cara melakukan tugas-tugas berikut:

Sebelum memulai

Jika Anda berencana menambahkan Google Dokumen atau Google Slide sebagai sumber data, Anda harus mengizinkan akses ke Google Drive menggunakan kredensial pengguna Google. Untuk melakukannya, jalankan perintah gcloud auth login berikut dan ikuti petunjuk di CLI.

gcloud auth login --enable-gdrive-access

Menggunakan endpoint multi-regional AS

Jika langganan Gemini Notebook Enterprise Anda berada di multi-region AS, Anda dapat mengirim permintaan di halaman ini ke endpoint multi-regional AS, discoveryengine.us.rep.googleapis.com. Endpoint multi-regional memproses permintaan Anda dan menghentikan TLS dalam multi-region, sehingga data permintaan Anda tetap berada di AS saat dalam pengiriman. Penggunaan endpoint ini tidak mengubah tempat penyimpanan notebook Anda. Untuk informasi selengkapnya, lihat Ringkasan endpoint API regional dan multi-regional dalam panduan keamanan Google Cloud.

Untuk menggunakan endpoint multi-regional AS, buat perubahan berikut pada setiap URL permintaan di halaman ini:

  1. Ganti host ENDPOINT_LOCATION-discoveryengine.googleapis.com dengan discoveryengine.us.rep.googleapis.com.

  2. Tetapkan LOCATION ke us.

Bagian lain dari setiap permintaan tetap sama. Untuk mempelajari cara memilih multi-region langganan Anda, lihat Mendapatkan langganan. Untuk mengetahui daftar endpoint layanan regional dan multi-regional, lihat Endpoint layanan regional dan multi-regional dalam panduan Virtual Private Cloud.

Menambahkan sumber data dalam batch

Untuk menambahkan sumber ke notebook, panggil metode notebooks.sources.batchCreate.

REST

curl -X POST \
  -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
     "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/sources:batchCreate" \
  -d '{
  "userContents": [
    {
    USER_CONTENT
    }
   ]
  }'

Ganti kode berikut:

  • ENDPOINT_LOCATION: multi-region untuk permintaan API Anda. Tentukan salah satu nilai berikut:
    • us untuk multi-region AS
    • eu untuk multi-region Uni Eropa
    • global untuk lokasi Global
    Untuk mengetahui informasi selengkapnya, lihat Menentukan multi-region untuk penyimpanan data Anda.
  • PROJECT_NUMBER: nomor project Google Cloud Anda.
  • LOCATION: lokasi geografis penyimpanan data Anda, seperti global. Untuk mengetahui informasi selengkapnya, lihat Lokasi.
  • NOTEBOOK_ID: ID unik notebook.
  • USER_CONTENT: Konten sumber data.

Anda hanya dapat menambahkan salah satu sumber data berikut sebagai konten:

  • Untuk konten Google Drive yang terdiri dari Google Dokumen atau Google Slide, tambahkan:

     "googleDriveContent": {
       "documentId": "DOCUMENT_ID_GOOGLE",
       "mimeType": "MIME_TYPE",
       "sourceName": "DISPLAY_NAME_GOOGLE"
     }
    

    Ganti kode berikut:

    • DOCUMENT_ID_GOOGLE: ID file yang ada di Google Drive. ID ini muncul di URL file. Untuk mendapatkan ID dokumen file, buka file tersebut. URL-nya memiliki pola: https://docs.google.com/FILE_TYPE/d/DOCUMENT_ID_GOOGLE/edit?resourcekey=RESOURCE_KEY.
    • MIME_TYPE: jenis MIME dokumen yang dipilih. Gunakan application/vnd.google-apps.document untuk Google Dokumen atau application/vnd.google-apps.presentation untuk Google Slide.
    • DISPLAY_NAME_GOOGLE: nama tampilan sumber data.
  • Untuk input teks mentah, tambahkan:

      "textContent": {
        "sourceName": "DISPLAY_NAME_TEXT",
        "content": "TEXT_CONTENT"
      }
    

    Ganti kode berikut:

    • DISPLAY_NAME_TEXT: nama tampilan sumber data.
    • TEXT_CONTENT: konten teks mentah yang ingin Anda upload sebagai sumber data.
  • Untuk konten web, tambahkan:

     "webContent": {
       "url": "URL_WEBCONTENT",
       "sourceName": "DISPLAY_NAME_WEB"
     }
    

    Ganti kode berikut:

    • URL_WEBCONTENT: URL konten yang ingin Anda upload sebagai sumber data.
    • DISPLAY_NAME_WEB: nama tampilan sumber data.
  • Untuk konten video, tambahkan:

     "videoContent": {
       "youtubeUrl": "URL_YOUTUBE"
     }
    

    Ganti URL_YOUTUBE dengan URL video YouTube yang ingin Anda upload sebagai sumber data.

Jika permintaan berhasil, Anda akan mendapatkan instance objek source sebagai respons, yang mirip dengan JSON berikut. Perhatikan SOURCE_ID dan SOURCE_RESOURCE_NAME, yang diperlukan untuk melakukan tugas lain, seperti mengambil atau menghapus sumber data.

{
  "sources": [
    {
      "sourceId": {
        "id": "SOURCE_ID"
      },
      "title": "DISPLAY_NAME",
      "metadata": {
        "xyz": "abc"
      },
      "settings": {
        "status": "SOURCE_STATUS_COMPLETE"
      },
      "name": "SOURCE_RESOURCE_NAME"
    }
  ]
}

Mengupload file sebagai sumber

Selain menambahkan sumber data dalam batch, Anda dapat mengupload satu file yang dapat digunakan sebagai sumber data di notebook Anda. Untuk mengupload satu file, panggil metode notebooks.sources.uploadFile.

REST

curl -X POST --data-binary "@PATH/TO/FILE" \
  -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  -H "X-Goog-Upload-File-Name: FILE_DISPLAY_NAME" \
  -H "X-Goog-Upload-Protocol: raw" \
  -H "Content-Type: CONTENT_TYPE" \
  "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/upload/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/sources:uploadFile" \

Ganti kode berikut:

  • PATH/TO/FILE: jalur ke file yang ingin Anda upload.
  • FILE_DISPLAY_NAME: string yang menunjukkan nama tampilan file di notebook.
  • CONTENT_TYPE: jenis konten yang ingin Anda upload. Untuk mengetahui daftar jenis konten yang didukung, lihat Jenis konten yang didukung.
  • ENDPOINT_LOCATION: multi-region untuk permintaan API Anda. Tentukan salah satu nilai berikut:
    • us untuk multi-region AS
    • eu untuk multi-region Uni Eropa
    • global untuk lokasi Global
    Untuk mengetahui informasi selengkapnya, lihat Menentukan multi-region untuk penyimpanan data Anda.
  • PROJECT_NUMBER: nomor project Google Cloud Anda.
  • LOCATION: lokasi geografis penyimpanan data Anda, seperti global. Untuk mengetahui informasi selengkapnya, lihat Lokasi.
  • NOTEBOOK_ID: ID unik notebook.

Jika permintaan berhasil, Anda akan mendapatkan respons JSON yang mirip dengan berikut ini.

{
  "sourceId": {
    "id": "SOURCE_ID"
  }
}

Jenis konten yang didukung

File yang Anda upload sebagai sumber harus didukung.

Jenis konten dokumen berikut didukung:

Ekstensi file Jenis konten
.pdf application/pdf
.txt text/plain
.md text/markdown
.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document
.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation
.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

Jenis konten audio berikut didukung:

Ekstensi file Jenis konten
.3g2 audio/3gpp2
.3gp audio/3gpp
.aac audio/aac
.aif audio/aiff
.aifc audio/aiff
.aiff audio/aiff
.amr audio/amr
.au audio/basic
.avi video/x-msvideo
.cda application/x-cdf
.m4a audio/m4a
.mid audio/midi
.midi audio/midi
.mp3 audio/mpeg
.mp4 video/mp4
.mpeg audio/mpeg
.ogg audio/ogg
.opus audio/ogg
.ra audio/vnd.rn-realaudio
.ram audio/vnd.rn-realaudio
.snd audio/basic
.wav audio/wav
.weba audio/webm
.wma audio/x-ms-wma

Jenis konten gambar berikut didukung:

Ekstensi file Jenis konten
.png image/png
.jpg image/jpg
.jpeg image/jpeg

Mengambil sumber

Untuk mengambil sumber tertentu yang ditambahkan ke notebook, gunakan metode notebooks.sources.get.

REST

curl -X GET \
  -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/sources/SOURCE_ID"

Ganti kode berikut:

  • ENDPOINT_LOCATION: multi-region untuk permintaan API Anda. Tentukan salah satu nilai berikut:
    • us untuk multi-region AS
    • eu untuk multi-region Uni Eropa
    • global untuk lokasi Global
    Untuk mengetahui informasi selengkapnya, lihat Menentukan multi-region untuk penyimpanan data Anda.
  • PROJECT_NUMBER: nomor project Google Cloud Anda.
  • LOCATION: lokasi geografis penyimpanan data Anda, seperti global. Untuk mengetahui informasi selengkapnya, lihat Lokasi.
  • NOTEBOOK_ID: ID unik yang Anda terima saat membuat notebook. Untuk mengetahui informasi selengkapnya, lihat Membuat notebook.
  • SOURCE_ID: ID sumber yang Anda terima saat menambahkan sumber ke notebook.

Jika permintaan berhasil, Anda akan mendapatkan respons JSON yang mirip dengan yang berikut ini.

{
  "sources": [
    {
      "sourceId": {
        "id": "SOURCE_ID"
      },
      "title": "DISPLAY_NAME",
      "metadata": {
        "wordCount": 148,
        "tokenCount": 160
      },
      "settings": {
        "status": "SOURCE_STATUS_COMPLETE"
      },
     "name": "SOURCE_RESOURCE_NAME"

    }
  ]
}

Menghapus sumber data dari notebook

Untuk menghapus sumber data secara massal dari notebook, gunakan metode notebooks.sources.batchDelete.

REST

  curl -X POST \
    -H "Authorization:Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/sources:batchDelete" \
    -d '{
      "names": [
        "SOURCE_RESOURCE_NAME_1",
        "SOURCE_RESOURCE_NAME_2"
      ]
    }'

Ganti kode berikut:

  • ENDPOINT_LOCATION: multi-region untuk permintaan API Anda. Tentukan salah satu nilai berikut:
    • us untuk multi-region AS
    • eu untuk multi-region Uni Eropa
    • global untuk lokasi Global
    Untuk mengetahui informasi selengkapnya, lihat Menentukan multi-region untuk penyimpanan data Anda.
  • PROJECT_NUMBER: nomor project Google Cloud Anda.
  • LOCATION: lokasi geografis penyimpanan data Anda, seperti global. Untuk mengetahui informasi selengkapnya, lihat Lokasi.
  • NOTEBOOK_ID: ID unik notebook.
  • SOURCE_RESOURCE_NAME: nama resource lengkap sumber data yang akan dihapus. Kolom ini memiliki pola: projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/source/SOURCE_ID.

Jika permintaan berhasil, Anda akan menerima objek JSON kosong.

Langkah berikutnya