Faça a gestão dos custos do BigQuery para agentes da API Conversational Analytics

Esta página descreve como monitorizar e gerir os custos do BigQuery para os seus agentes da API Conversational Analytics, que incorrem em custos através da execução de consultas nos seus dados do BigQuery. Pode usar os seguintes métodos para controlar os gastos e evitar despesas inesperadas:

Antes de começar

Antes de implementar os controlos de custos descritos nesta página, tem de cumprir os seguintes requisitos:

  • Tem de ter um Google Cloud projeto com a faturação ativada.
  • Tem de ter as autorizações de gestão de identidade e de acesso (IAM) necessárias para gerir as quotas e a faturação do seu Google Cloud projeto.

Defina quotas para projetos e utilizadores

Pode definir limites de gastos para um Google Cloud projeto ou para utilizadores individuais aplicando quotas do BigQuery padrão. Estes limites ajudam a controlar os custos gerais e impedem que os utilizadores individuais gastem demasiado.

Para agentes que possam incorrer em custos elevados, como um agente criado numa tabela muito grande ou não particionada, a prática recomendada é isolar primeiro o agente no seu próprio projeto dedicado. Em seguida, pode aplicar uma quota ao nível do projeto para limitar o custo diário máximo do projeto, uma quota ao nível do utilizador para garantir uma utilização justa entre os utilizadores ou quotas ao nível do projeto e do utilizador.

Configure um projeto dedicado para o seu agente

Para configurar um projeto dedicado para o seu agente ou agentes da API Conversational Analytics, siga estes passos:

  1. Na Google Cloud consola, crie um novo Google Cloud projeto. Este projeto vai ser dedicado ao seu agente ou agentes.
  2. Certifique-se de que a faturação está ativada para o novo projeto.
  3. Confirme que o agente está configurado para usar este novo projeto para faturação. Quando configurar o agente, tem de especificar o ID do projeto deste novo projeto.

Defina uma quota para o projeto

Depois de configurar um Google Cloud projeto dedicado, pode aplicar uma quota para controlar os custos de todo o projeto. Para definir uma quota ao nível do projeto, siga estes passos:

  1. No Google Cloud projeto do seu agente, navegue para IAM e administrador > Quotas.

    Aceder a Quotas

  2. Filtre o serviço da API BigQuery e selecione a quota Utilização de consultas por dia.

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

Defina uma quota para os utilizadores

Para impedir que um utilizador individual gere uma fatura elevada, pode definir uma quota por utilizador seguindo estes passos:

  1. No Google Cloud projeto do seu agente, navegue para IAM e administrador > Quotas.

    Aceder a Quotas

  2. Filtre o serviço API BigQuery e selecione a quota Utilização de consultas por dia por utilizador.

  3. Edite a quota para o limite diário escolhido (por exemplo, 1 TiB por utilizador por dia). Este limite garante que nenhum utilizador individual pode consumir uma quantidade excessiva de recursos.

Limite os custos de consultas individuais

Para impedir que uma consulta de um utilizador individual gere uma fatura grande e inesperada, pode definir um limite de custo por consulta configurando o parâmetro big_query_max_billed_bytes num agente.

Antes de o agente executar qualquer consulta, este faz uma execução de teste para estimar o custo da consulta. Se os bytes estimados a serem analisados excederem o valor big_query_max_billed_bytes, o agente bloqueia a consulta e envia uma mensagem de erro ao utilizador.

Pode definir o parâmetro big_query_max_billed_bytes no campo published_context quando cria ou configura um agente com HTTP ou com o SDK Python. O exemplo seguinte, apresentado no formato textproto, ilustra a estrutura de um pedido que configura um limite de 100 MB para um agente que responde a perguntas sobre as á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). Este valor estabelece um limite para todas as consultas executadas pelo agente sample-agent-id na tabela do BigQuery bigquery-public-data.san_francisco.street_trees.

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

Limitações

Tenha em atenção as seguintes limitações quando estiver a gerir os custos dos seus agentes da API Conversational Analytics:

  • Estas ferramentas de gestão de custos aplicam-se apenas a projetos que usam a faturação a pedido e não a projetos que usam reservas de slots.
  • A definição de quotas para agentes individuais não é suportada. Conforme descrito no artigo Defina quotas para projetos e utilizadores, a prática recomendada é isolar o agente no seu próprio projeto e, em seguida, aplicar quotas ao nível do projeto ou por utilizador a esse projeto.
  • O acompanhamento dos custos de agentes individuais através de etiquetas do BigQuery não é suportado.