Gestire i costi di BigQuery per gli agenti dell'API Conversational Analytics

Questa pagina descrive come monitorare e gestire i costi di BigQuery per gli agenti dell'API Analisi conversazionale, che comportano costi per l'esecuzione di query sui dati di BigQuery. Puoi utilizzare i seguenti metodi per controllare la spesa ed evitare spese impreviste:

Prima di iniziare

Prima di implementare i controlli dei costi descritti in questa pagina, devi soddisfare i seguenti requisiti:

  • Devi avere un Google Cloud progetto con la fatturazione abilitata.
  • Devi disporre delle autorizzazioni IAM (Identity and Access Management) necessarie per gestire le quote e la fatturazione del tuo Google Cloud progetto.

Impostare le quote per progetti e utenti

Puoi impostare limiti di spesa per un Google Cloud progetto o per singoli utenti applicando le quote standard di BigQuery. Questi limiti ti aiutano a controllare i costi complessivi e a impedire ai singoli utenti di spendere troppo.

Per gli agenti che potrebbero comportare costi elevati, ad esempio un agente basato su una tabella molto grande o non partizionata, la prassi consigliata è di isolare prima l'agente nel proprio progetto dedicato. Puoi quindi applicare una quota a livello di progetto per limitare il costo giornaliero massimo del progetto, una quota a livello di utente per garantire un utilizzo equo tra gli utenti o entrambe le quote a livello di progetto e di utente.

Configurare un progetto dedicato per l'agente

Per configurare un progetto dedicato per l'agente o gli agenti dell'API Analisi conversazionale:

  1. Nella Google Cloud console, crea un nuovo Google Cloud progetto. Questo progetto sarà dedicato al tuo agente o ai tuoi agenti.
  2. Assicurati che la fatturazione sia abilitata per il nuovo progetto.
  3. Verifica che l'agente sia configurato per utilizzare questo nuovo progetto per la fatturazione. Quando configuri l'agente, devi specificare l'ID progetto di questo nuovo progetto.

Impostare una quota per il progetto

Dopo aver configurato un progetto dedicato Google Cloud , puoi applicare una quota per controllare i costi dell'intero progetto. Per impostare una quota a livello di progetto:

  1. Nel Google Cloud progetto per l'agente, vai a IAM e amministrazione > Quote.

    Vai a Quote

  2. Filtra per il servizio API BigQuery e seleziona la quota Utilizzo delle query al giorno.

  3. Modifica la quota in base al limite giornaliero scelto (ad esempio, 10 TiB). Questo limite crea un blocco rigido che impedisce al progetto di superare il costo giornaliero specificato.

Impostare una quota per gli utenti

Per impedire a un singolo utente di generare una fattura elevata, puoi impostare una quota per utente seguendo questi passaggi:

  1. Nel Google Cloud progetto per l'agente, vai a IAM e amministrazione > Quote.

    Vai a Quote

  2. Filtra per il servizio API BigQuery e seleziona la quota Utilizzo delle query al giorno per utente.

  3. Modifica la quota in base al limite giornaliero scelto (ad esempio, 1 TiB per utente al giorno). Questo limite garantisce che nessun singolo utente possa consumare una quantità eccessiva di risorse.

Limitare i costi per le singole query

Per impedire che una singola query utente generi una fattura elevata e imprevista, puoi impostare un limite di costo per query configurando il parametro big_query_max_billed_bytes su un agente.

Prima che l'agente esegua una query, esegue una prova per stimare il costo della query. Se i byte stimati da analizzare superano il valore big_query_max_billed_bytes, l'agente blocca la query e invia un messaggio di errore all'utente.

Puoi impostare il parametro big_query_max_billed_bytes all'interno del campo published_context quando crei o configuri un agente con HTTP o con l'SDK Python. L'esempio seguente, mostrato in formato textproto, illustra la struttura di una richiesta che configura un limite di 100 MB per un agente che risponde alle domande sugli alberi stradali di 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"
          }
        }
      }
    }
  }
}

In questo esempio, il parametro big_query_max_billed_bytes è impostato su 104857600 byte (100 MB). Questo valore stabilisce un limite per tutte le query eseguite dall'agente sample-agent-id nella tabella BigQuery bigquery-public-data.san_francisco.street_trees.

Per esempi interattivi su come creare e configurare gli agenti, consulta i notebook di Colaboratory. Per informazioni dettagliate sui campi API, consulta il riferimento API.

Limitazioni

Quando gestisci i costi per gli agenti dell'API Analisi conversazionale, tieni presente le seguenti limitazioni:

  • Questi strumenti di gestione dei costi si applicano solo ai progetti che utilizzano la fatturazione on demand e non ai progetti che utilizzano le prenotazioni di slot.
  • L'impostazione delle quote per i singoli agenti non è supportata. Come descritto in Impostare le quote per progetti e utenti, la prassi consigliata è di isolare l'agente nel proprio progetto e quindi applicare le quote a livello di progetto o per utente a quel progetto.
  • Il monitoraggio dei costi per i singoli agenti utilizzando le etetichette BigQuery non è supportato.