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 Conversational Analytics, che comportano costi eseguendo query sui dati BigQuery. Puoi utilizzare i seguenti metodi per controllare la spesa ed evitare costi imprevisti:

Prima di iniziare

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

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

Impostare quote per progetti e utenti

Puoi impostare limiti di spesa per un progetto Google Cloud o per singoli utenti applicando le quote BigQuery standard. 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 è innanzitutto isolare 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.

Configurare un progetto dedicato per l'agente

Per configurare un progetto dedicato per l'agente o gli agenti dell'API Conversational Analytics, segui questi passaggi:

  1. Nella console Google Cloud , crea un nuovo progetto Google Cloud . Questo progetto sarà dedicato al tuo agente o ai tuoi agenti.
  2. Assicurati che la fatturazione sia attivata 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.

Imposta una quota per il progetto

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

  1. Nel progetto Google Cloud del tuo 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 che hai scelto (ad esempio, 10 TiB). Questo limite crea un arresto forzato 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 progetto Google Cloud del tuo 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 che hai 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 evitare 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 di eseguire qualsiasi query, l'agente 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. Il seguente esempio, mostrato in formato textproto, illustra la struttura di una richiesta che configura un limite di 100 MB per un agente che risponde a domande sugli alberi di strada 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 Colaboratory. Per informazioni dettagliate sui campi API, consulta il Riferimento API.

Limitazioni

Quando gestisci i costi per gli agenti dell'API Conversational Analytics, 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 di quote per singoli agenti non è supportata. Come descritto in Impostare le quote per progetti e utenti, la prassi consigliata è isolare l'agente nel proprio progetto e poi applicare a questo progetto quote a livello di progetto o per utente.
  • Il monitoraggio dei costi per i singoli agenti utilizzando le etichette BigQuery non è supportato.