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 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 gloud auth login berikut dan ikuti petunjuk di CLI.

gcloud auth login --enable-gdrive-access

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. Tetapkan salah satu nilai berikut:
    • us- untuk multi-region Amerika Serikat
    • eu- untuk multi-region Uni Eropa
    • global- untuk lokasi Global
    Untuk mengetahui informasi selengkapnya, lihat Menentukan multi-region untuk penyimpanan data Anda.
  • PROJECT_NUMBER: jumlah 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. 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": {
       "url": "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 file tunggal 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. Tetapkan salah satu nilai berikut:
    • us- untuk multi-region Amerika Serikat
    • eu- untuk multi-region Uni Eropa
    • global- untuk lokasi Global
    Untuk mengetahui informasi selengkapnya, lihat Menentukan multi-region untuk penyimpanan data Anda.
  • PROJECT_NUMBER: jumlah 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.

{
  "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. Tetapkan salah satu nilai berikut:
    • us- untuk multi-region Amerika Serikat
    • eu- untuk multi-region Uni Eropa
    • global- untuk lokasi Global
    Untuk mengetahui informasi selengkapnya, lihat Menentukan multi-region untuk penyimpanan data Anda.
  • PROJECT_NUMBER: jumlah 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. Tetapkan salah satu nilai berikut:
    • us- untuk multi-region Amerika Serikat
    • eu- untuk multi-region Uni Eropa
    • global- untuk lokasi Global
    Untuk mengetahui informasi selengkapnya, lihat Menentukan multi-region untuk penyimpanan data Anda.
  • PROJECT_NUMBER: jumlah 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 lengkap resource 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