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:
- Defina cotas para projetos e usuários e aplique limites de gastos gerais a um projeto inteiro ou a usuários individuais.
- Limite os custos de consultas individuais definindo um valor
big_query_max_billed_bytes
na configuração do agente.
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:
- No console Google Cloud , crie um novo projeto Google Cloud . Esse projeto será dedicado ao seu agente ou agentes.
- Verifique se o faturamento está ativado para o novo projeto.
- 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:
No projeto Google Cloud do seu agente, acesse IAM e administrador > Cotas.
Filtre o serviço da API BigQuery e selecione a cota Uso de consultas por dia.
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:
No projeto Google Cloud do seu agente, acesse IAM e administrador > Cotas.
Filtre o serviço API BigQuery e selecione a cota Uso de consultas por dia por usuário.
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:
- Essas ferramentas de gerenciamento de custos se aplicam apenas a projetos que usam o faturamento sob demanda, e não a projetos que usam reservas de slots.
- Não é possível definir cotas para agentes individuais. Conforme descrito em Definir cotas para projetos e usuários, a prática recomendada é isolar o agente em um projeto próprio e aplicar cotas no nível do projeto ou por usuário a ele.
- Não é possível rastrear os custos de agentes individuais usando rótulos do BigQuery.