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

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

事前準備

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

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

設定專案和使用者的配額

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

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

為虛擬服務專員設定專屬專案

如要為 Conversational Analytics 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_context 欄位中設定 big_query_max_billed_bytes 參數,透過 HTTP透過 Python SDK 都可以。以下範例以 textproto 格式顯示,說明如何設定要求,為回答舊金山街道樹木相關問題的代理程式設定 100 MB 的限制:

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"
          }
        }
      }
    }
  }
}

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

如需建立及設定代理程式的互動式範例,請參閱 Colaboratory 筆記本。如要進一步瞭解 API 欄位,請參閱 API 參考資料

限制

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

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