Mengelola biaya BigQuery untuk agen Conversational Analytics API

Halaman ini menjelaskan cara memantau dan mengelola biaya BigQuery untuk agen Conversational Analytics API Anda, yang menimbulkan biaya dengan menjalankan kueri terhadap data BigQuery Anda. Anda dapat menggunakan metode berikut untuk mengontrol pengeluaran dan mencegah pengeluaran yang tidak terduga:

Sebelum memulai

Sebelum menerapkan kontrol biaya yang dijelaskan di halaman ini, Anda harus memenuhi persyaratan berikut:

  • Anda harus memiliki Google Cloud project yang mengaktifkan penagihan.
  • Anda harus memiliki izin Identity and Access Management (IAM) yang diperlukan untuk mengelola kuota dan penagihan untukproject Google Cloud Anda.

Menetapkan kuota untuk project dan pengguna

Anda dapat menetapkan batas pengeluaran untuk Google Cloud project atau untuk setiap pengguna dengan menerapkan kuota BigQuery standar. Batas ini membantu Anda mengontrol biaya keseluruhan dan mencegah setiap pengguna melakukan pengeluaran berlebihan.

Untuk agen yang mungkin menimbulkan biaya tinggi, seperti agen yang dibuat di tabel yang sangat besar atau tidak dipartisi, praktik yang direkomendasikan adalah mengisolasi agen terlebih dahulu di project khusus miliknya. Kemudian, Anda dapat menerapkan kuota tingkat project untuk membatasi biaya harian maksimum project, kuota tingkat pengguna untuk memastikan penggunaan yang adil di antara pengguna, atau kuota tingkat project dan tingkat pengguna.

Menyiapkan project khusus untuk agen Anda

Untuk menyiapkan project khusus untuk agen Conversational Analytics API Anda, ikuti langkah-langkah berikut:

  1. Di Google Cloud konsol, buatproject baru. Google Cloud Project ini akan dikhususkan untuk agen Anda.
  2. Pastikan penagihan diaktifkan untuk project baru tersebut.
  3. Konfirmasi bahwa agen dikonfigurasi untuk menggunakan project baru ini untuk penagihan. Saat mengonfigurasi agen, Anda harus menentukan project ID project baru ini.

Menetapkan kuota untuk project

Setelah menyiapkan Google Cloud project khusus, Anda dapat menerapkan kuota untuk mengontrol biaya seluruh project. Untuk menetapkan kuota tingkat project, ikuti langkah-langkah berikut:

  1. Di Google Cloud project untuk agen Anda, buka IAM & Admin > Quotas.

    Buka Kuota

  2. Filter layanan BigQuery API, lalu pilih kuota Query usage per day.

  3. Edit kuota ke batas harian yang Anda pilih (misalnya, 10 TiB). Batas ini akan menghentikan project secara paksa agar tidak melebihi biaya harian yang ditentukan.

Menetapkan kuota untuk pengguna

Untuk mencegah setiap pengguna menghasilkan tagihan besar, Anda dapat menetapkan kuota per pengguna dengan mengikuti langkah-langkah berikut:

  1. Di Google Cloud project untuk agen Anda, buka IAM & Admin > Quotas.

    Buka Kuota

  2. Filter layanan BigQuery API dan pilih kuota Query usage per day per user.

  3. Edit kuota ke batas harian yang Anda pilih (misalnya, 1 TiB per pengguna per hari). Batas ini memastikan tidak ada satu pengguna pun yang dapat menggunakan resource secara berlebihan.

Membatasi biaya untuk setiap kueri

Untuk mencegah setiap kueri pengguna menghasilkan tagihan besar yang tidak terduga, Anda dapat menetapkan batas biaya per kueri dengan mengonfigurasi parameter big_query_max_billed_bytes pada agen.

Sebelum menjalankan kueri apa pun, agen akan melakukan uji coba untuk memperkirakan biaya kueri. Jika perkiraan byte yang akan dipindai melebihi nilai big_query_max_billed_bytes, agen akan memblokir kueri dan mengirimkan pesan error kepada pengguna.

Anda dapat menetapkan parameter big_query_max_billed_bytes dalam kolom published_context saat membuat atau mengonfigurasi agen dengan HTTP atau dengan Python SDK. Contoh berikut, yang ditampilkan dalam format textproto, mengilustrasikan struktur permintaan yang mengonfigurasi batas 100 MB untuk agen yang menjawab pertanyaan tentang pohon jalanan San Francisco:

parent: "projects/sample-project-name/locations/global"
data_agent_id: "sample-agent-id"
data_agent {
  name: "projects/sample-project-name/locations/global/dataAgents/sample-agent-id"
  data_analytics_agent {
    published_context {
      system_instruction: "This agent provides information about street trees in San Francisco, including their species, location, and planting date."
      options {
        datasource {
          big_query_max_billed_bytes {
            value: 104857600 #100MB
          }
        }
      }
      datasource_references {
        bq {
          table_references {
            project_id: "bigquery-public-data"
            dataset_id: "san_francisco"
            table_id: "street_trees"
          }
        }
      }
    }
  }
}

Dalam contoh ini, parameter big_query_max_billed_bytes ditetapkan ke 104857600 byte (100 MB). Nilai ini menetapkan batas untuk kueri apa pun yang dijalankan oleh agen sample-agent-id di tabel BigQuery bigquery-public-data.san_francisco.street_trees.

Untuk contoh interaktif tentang cara membuat dan mengonfigurasi agen, lihat notebook Colaboratory. Untuk informasi mendetail tentang kolom API, lihat referensi API.

Batasan

Perhatikan batasan berikut saat Anda mengelola biaya untuk agen Conversational Analytics API Anda:

  • Alat pengelolaan biaya ini hanya berlaku untuk project yang menggunakan penagihan sesuai permintaan, bukan untuk project yang menggunakan reservasi slot.
  • Menetapkan kuota untuk setiap agen tidak didukung. Seperti yang dijelaskan di Menetapkan kuota untuk project dan pengguna, praktik yang direkomendasikan adalah mengisolasi agen di project miliknya sendiri, lalu menerapkan kuota tingkat project atau per pengguna ke project tersebut.
  • Melacak biaya untuk setiap agen menggunakan label BigQuery tidak didukung.