Gerenciar os custos do BigQuery para agentes da API Conversational Analytics

Nesta página, descrevemos como monitorar e gerenciar os custos do BigQuery para seus agentes da API Conversational Analytics, que geram custos ao executar consultas nos seus dados do BigQuery. Use os métodos a seguir para controlar os gastos e evitar despesas inesperadas:

Antes de começar

Antes de implementar os controles de custos descritos nesta página, você precisa atender aos seguintes requisitos:

  • Você precisa ter um projeto Google Cloud com o faturamento ativado.
  • Você precisa ter as permissões necessárias do Identity and Access Management (IAM) para gerenciar cotas e faturamento do seu projeto Google Cloud .

Definir cotas para projetos e usuários

É possível definir limites de gastos para um Google Cloud projeto ou para usuários individuais aplicando cotas padrão do BigQuery. Esses limites ajudam você a controlar os custos gerais e evitar gastos excessivos de usuários individuais.

Para agentes que podem gerar custos altos, como um agente criado em uma tabela muito grande ou não particionada, a prática recomendada é isolar o agente em um projeto dedicado. Em seguida, é possível aplicar uma cota no nível do projeto para limitar o custo diário máximo do projeto, uma cota no nível do usuário para garantir o uso justo entre os usuários ou as duas cotas.

Configurar um projeto dedicado para seu agente

Para configurar um projeto dedicado para seu agente ou agentes da API Conversational Analytics, siga estas etapas:

  1. No console Google Cloud , crie um novo projeto Google Cloud . Esse projeto será dedicado ao seu agente ou agentes.
  2. Verifique se o faturamento está ativado para o novo projeto.
  3. Confirme se o agente está configurado para usar esse novo projeto para faturamento. Ao configurar o agente, você precisará especificar o ID do projeto.

Definir uma cota para o projeto

Depois de configurar um projeto Google Cloud dedicado, você pode aplicar uma cota para controlar os custos de todo o projeto. Para definir uma cota no nível do projeto, siga estas etapas:

  1. No projeto Google Cloud do seu agente, acesse IAM e administrador > Cotas.

    Acessar "Cotas"

  2. Filtre o serviço da API BigQuery e selecione a cota Uso de consultas por dia.

  3. Edite a cota para o limite diário escolhido (por exemplo, 10 TiB). Esse limite cria uma parada forçada que impede que o projeto exceda o custo diário especificado.

Definir uma cota para usuários

Para evitar que um usuário gere uma fatura alta, defina uma cota por usuário seguindo estas etapas:

  1. No projeto Google Cloud do seu agente, acesse IAM e administrador > Cotas.

    Acessar "Cotas"

  2. Filtre o serviço API BigQuery e selecione a cota Uso de consultas por dia por usuário.

  3. Edite a cota para o limite diário escolhido (por exemplo, 1 TiB por usuário por dia). Esse limite garante que nenhum usuário consuma uma quantidade excessiva de recursos.

Limitar os custos de consultas individuais

Para evitar que uma consulta de usuário individual gere uma fatura grande e inesperada, defina um limite de custo por consulta configurando o parâmetro big_query_max_billed_bytes em um agente.

Antes de executar qualquer consulta, o agente faz um teste para estimar o custo dela. Se os bytes estimados a serem verificados excederem o valor big_query_max_billed_bytes, o agente vai bloquear a consulta e enviar uma mensagem de erro ao usuário.

É possível definir o parâmetro big_query_max_billed_bytes no campo published_context ao criar ou configurar um agente com HTTP ou com o SDK do Python. O exemplo a seguir, mostrado no formato textproto, ilustra a estrutura de uma solicitação que configura um limite de 100 MB para um agente que responde a perguntas sobre árvores de rua de São 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"
          }
        }
      }
    }
  }
}

Neste exemplo, o parâmetro big_query_max_billed_bytes está definido como 104857600 bytes (100 MB). Esse valor estabelece um limite para todas as consultas executadas pelo agente sample-agent-id na tabela bigquery-public-data.san_francisco.street_trees do BigQuery.

Para exemplos interativos de como criar e configurar agentes, consulte os notebooks do Colaboratory. Para informações detalhadas sobre os campos da API, consulte a referência da API.

Limitações

Considere as seguintes limitações ao gerenciar os custos dos seus agentes da API Conversational Analytics: