管理 Conversational Analytics API 代理程式的 BigQuery 費用

本頁面說明如何監控及管理對話式數據分析 API 代理程式的 BigQuery 費用。這類代理程式會對 BigQuery 資料執行查詢,因此會產生費用。您可以透過下列方法控管支出,避免產生非預期的費用:

事前準備

導入本頁所述的費用控管功能前,請務必符合下列條件:

  • 您必須擁有已啟用計費功能的 Google Cloud 專案。
  • 您必須具備必要的 Identity and Access Management (IAM) 權限,才能管理 Google Cloud 專案的配額和帳單。

設定專案和使用者的配額

您可以套用標準 BigQuery 配額,為 Google Cloud 專案或個別使用者設定支出上限。這些限制有助於控管整體費用,並防止個別使用者超支。

對於可能產生高額費用的代理程式 (例如以非常大或未經分割的資料表為基礎建構的代理程式),建議先將代理程式隔離到專屬的專案中。接著,您可以套用專案層級配額,限制專案的每日最高費用;套用使用者層級配額,確保使用者公平使用;或同時套用專案層級和使用者層級配額。

為代理設定專屬專案

如要為對話式數據分析 API 代理程式設定專屬專案,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,建立新 Google Cloud 專案。這個專案會指派給你的代理人。
  2. 請確認新專案已啟用計費功能。
  3. 確認代理程式已設定為使用這個新專案計費。設定代理程式時,您需要指定這個新專案的專案 ID。

設定專案配額

設定專屬 Google Cloud 專案後,您就可以套用配額,控管整個專案的費用。如要設定專案層級配額,請按照下列步驟操作:

  1. 在代理程式的 Google Cloud 專案中,依序前往「IAM 與管理」>「配額」

    前往配額頁面

  2. 篩選 BigQuery API 服務,然後選取「每日查詢用量」配額。

  3. 將配額編輯為您選擇的每日上限 (例如 10 TiB)。這項限制會強制停止支出,避免專案超出指定的每日費用。

為使用者設定配額

如要避免個別使用者產生高額帳單,請按照下列步驟設定每位使用者的配額:

  1. 在代理程式的 Google Cloud 專案中,依序前往「IAM 與管理」>「配額」

    前往配額頁面

  2. 篩選「BigQuery API」服務,然後選取「每位使用者每日查詢用量」配額。

  3. 將配額編輯為您選擇的每日上限 (例如每位使用者每天 1 TiB)。這項限制可確保沒有任何使用者會耗用過多資源。

限制個別查詢的費用

如要避免單一使用者查詢產生高額費用,可以在代理程式的資料來源選項中設定 big_query_max_billed_bytes 欄位,為每次查詢設定費用上限。

代理程式會在執行查詢前先進行試算,估算費用。如果預估掃描的位元組數超過 big_query_max_billed_bytes 值,查詢就會失敗,不會產生費用,且代理程式會傳回錯誤訊息。

建立或設定代理程式時,您可以在 published_contextstaging_context 欄位中設定 big_query_max_billed_bytes 參數,透過 HTTP使用 Python SDK 均可。下列 JSON 程式碼範例說明如何設定代理程式的 100 MiB 限制:

{
  "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": "104857600"
        }
      },
      "datasource_references": {
        "bq": {
          "tableReferences": [
            {
              "projectId": "bigquery-public-data",
              "datasetId": "san_francisco",
              "tableId": "street_trees"
            }
          ]
        }
      }
    }
  }
}

在本範例中,big_query_max_billed_bytes 參數設為 104857600 個位元組 (100 MiB)。這個值會為 sample-agent-id 代理程式在 bigquery-public-data.san_francisco.street_trees BigQuery 資料表上執行的任何查詢設定限制。

限制

管理 Conversational Analytics API 代理程式的費用時,請留意下列限制:

  • 這些費用管理工具僅適用於採用以量計價的專案,不適用於採用預留配額的專案。
  • 系統不支援為個別服務專員設定配額。如「為專案和使用者設定配額」一文所述,建議您將代理程式隔離在自己的專案中,然後對該專案套用專案層級或每位使用者的配額。
  • 系統不支援使用 BigQuery 標籤追蹤個別代理程式的費用。