Orçamentos de recursos para Cortex Agents¶
Um orçamento de recursos permite que você monitore os gastos dos Cortex Agents em sua conta e tome medidas quando excederem os limites. Isso permite controlar os custos dos Cortex Agents e executar ações automatizadas, como revogar o acesso quando os gastos excedem os limites configurados. Os orçamentos de recursos dão a você controle sobre os créditos consumidos em um nível agregado para um determinado agente.
Como funcionam os orçamentos de recursos¶
Os orçamentos de recursos usam o modelo de atribuição de custos com base em tags do Snowflake. Você cria e aplica uma tag a um objeto do Cortex Agent e, depois disso, associa essa tag a um orçamento. O Snowflake rastreia o consumo de crédito do objeto marcado e avalia os gastos em relação ao limite de orçamento periodicamente. O orçamento de recursos é útil para limitar os gastos do objeto do Cortex Agent.
O Snowflake aplica os orçamentos de recursos com o seguinte fluxo:
Você cria uma tag.
Você aplica a tag ao objeto do Cortex Agent.
Você cria um orçamento e especifica a tag para rastrear os gastos. Como parte da criação do orçamento, você também define um limite de gastos mensal em créditos.
Você adiciona um procedimento armazenado a ser executado quando os gastos atingem um limite configurado do orçamento. Por exemplo, você pode invocar um procedimento armazenado para enviar um alerta ao atingir 80% e outro procedimento armazenado para revogar o acesso ao atingir 100%.
O Snowflake rastreia o consumo de crédito do objeto marcado.
Quando os gastos atingem um limite configurado do orçamento, como 80% ou 100%, o Snowflake executa o procedimento armazenado definido para esse limite.
O Snowflake calcula o uso, avalia os limites e aciona periodicamente as ações configuradas. Depois que o orçamento é excedido, pode levar até oito horas com o orçamento padrão (ou duas horas com a opção de latência otimizada) para que o orçamento seja aplicado.
Crie uma tag¶
Crie uma tag para identificar o centro de custo associado ao objeto do Cortex Agent:
Aplique a tag ao objeto do Cortex Agent para associá-lo a um centro de custo:
Configurar um orçamento de recursos¶
Você pode usar o Snowsight ou o SQL para criar um orçamento e associá-lo a um objeto do Cortex Agent.
Faça login no Snowsight.
No menu de navegação, selecione Admin » Cost management.
Selecione Budgets.
Selecione + Budget.
Em Location to store, selecione o nome do banco de dados e do esquema em que você deseja criar o orçamento.
Para Name, use
my_budget:Em Budget (credits per month), insira um valor, como 10000, para o limite de gastos do orçamento.
Para diminuir o intervalo de atualização do orçamento para que você possa monitorar os gastos em mais detalhes, selecione Enable low latency budget.
Em Threshold, insira um valor, como 80, para o limite de notificação.
Em Notify, insira os endereços de e-mail para receber as mensagens de notificação.
Selecione Next.
Em Budget scope, adicione a tag no objeto do Cortex Agent ao orçamento de recursos.
Selecione Create.
Crie uma instância de orçamento no esquema em que você gerencia os orçamentos:
Defina o limite mensal de gastos de crédito para o orçamento:
Adicione a tag ao orçamento para que o Snowflake rastreie os gastos do objeto marcado em relação a esse orçamento:
Agora o Snowflake rastreia o consumo de crédito de my_agent em relação ao orçamento my_budget com um limite mensal de 10.000 créditos.
Configurar ações de limite¶
Você pode anexar procedimentos armazenados que são executados quando os gastos atingem limites específicos, que são expressos como uma porcentagem do limite de gastos e aplicados ao período de orçamento mensal. Para obter mais informações, consulte Ações personalizadas para orçamentos.
Enviar notificações¶
Você pode enviar notificações quando os gastos atingirem um limite. Para obter mais informações, consulte Notificações sobre orçamentos.
Defina o e-mail para o qual enviar as notificações:
Defina o limite de notificação:
Revogar acesso¶
Crie um procedimento armazenado que revogue o acesso aos Cortex Agents. No procedimento armazenado, você pode limitar o acesso a uma função específica para revogar USAGE para essa função.
Importante
Assegure que
role_namee o usuário não tenham acesso aos Cortex Agents por meio de outras funções. Para obter orientação sobre como configurar corretamente as funções e os privilégios, consulte Privilégios de usuário e controle de acesso.Defina uma ação personalizada que bloqueie o acesso quando 100% do orçamento tiver sido gasto. Você também pode usar ações personalizadas para notificações.
Nota
Você também pode usar ações personalizadas para executar uma ação quando há previsão de que os gastos vão exceder o limite de orçamento. Para obter mais informações, consulte Ações personalizadas para orçamentos.
Tratando as exceções aos limites de gastos¶
Em alguns casos, talvez seja necessário restabelecer o acesso após o limite de orçamento ter sido atingido, por exemplo, durante o período de balanço financeiro ou outras temporadas de pico. Você pode configurar limites acima de 100%, até 500%, para abordar esses cenários de exceção.
O fluxo de trabalho pressupõe que o acesso seja revogado usando o procedimento armazenado configurado quando os gastos atingirem um limite de orçamento. O administrador restabelece um subconjunto de usuários e concede o acesso novamente. Quando os gastos atingem 200%, o procedimento de revogação é executado novamente como uma parada obrigatória.
Crie um procedimento armazenado para restabelecer o acesso à função:
Configure um limite acima de 100% com um procedimento armazenado que restabeleça o acesso. Isso permite aumentar o orçamento efetivo nos períodos de exceção. O acesso é revogado novamente quando os gastos atingem 200% do orçamento:
Restabelecer o acesso¶
Para garantir que os usuários possam acessar os Cortex Agents novamente no início do próximo período de orçamento, defina o seguinte procedimento armazenado para ser chamado quando o ciclo orçamentário for reiniciado.
Crie um procedimento armazenado para restabelecer o acesso à função:
Defina a ação de início do ciclo para o orçamento:
Configurando alertas com base em gastos projetados¶
Para receber um alerta ou executar uma ação com base nos gastos previstos em vez dos gastos reais, você pode definir o tipo de acionador como PROJECTED. Por exemplo, para chamar um procedimento armazenado chamado alert_team quando o consumo projetado atingir 75% do limite de orçamento, execute o seguinte comando:
Listar ações personalizadas¶
Para listar todas as ações personalizadas configuradas em um orçamento, use o método GET_CUSTOM_ACTIONS:
Para obter mais informações, consulte Ações personalizadas para orçamentos.
Monitorar o uso¶
Para visualizar o consumo de crédito por objeto do Cortex Agent, use o método de relatório de uso do orçamento:
A saída inclui as seguintes colunas:
Coluna
Descrição
Tipo de serviço
A categoria de serviço (AI)
Tipo de entidade
O tipo de objeto (CORTEX_AGENT)
ID da entidade
O identificador exclusivo do objeto do Cortex Agent
Nome
O nome de exibição do objeto do Cortex Agent
Créditos utilizados
O total de créditos consumidos durante o período especificado
Nuvem de créditos
Número de créditos de serviço de nuvem usados
Latência da aplicação do orçamento¶
Os cálculos de orçamento e a aplicação de limites são realizados periodicamente:
O Snowflake calcula o consumo de crédito do objeto do Cortex Agent marcado.
O sistema avalia os gastos em relação a todos os limites configurados.
Se um limite for atingido, o procedimento armazenado associado será executado.
Os painéis de uso são atualizados com os números mais recentes.
Se você habilitou o orçamento de baixa latência, seus orçamentos são aplicados em duas horas depois que o orçamento é excedido. Caso contrário, a aplicação poderá levar até oito horas depois que o orçamento for excedido. Você pode acionar a execução do orçamento com mais frequência, como a cada 60 minutos, para reduzir o intervalo de atualização.
Aviso
Há um atraso inerente entre o momento em que os créditos são consumidos e o momento em que o sistema de orçamento detecta a violação de limite. Durante o intervalo de aplicação, os gastos podem exceder o limite configurado antes que a ação seja executada. Planeje seus limites de acordo com isso. Por exemplo, defina um alerta quando atingir 80% para que você tenha tempo de responder antes que a ação de 100% seja executada.
Limitações¶
As seguintes limitações se aplicam aos orçamentos de recursos dos Cortex Agents:
Somente recursos de equipe única: os orçamentos de recursos se aplicam ao objeto inteiro do Cortex Agent.
Latência de aplicação: a aplicação do orçamento é executada em um ciclo periódico e pode levar até oito horas depois que o orçamento é excedido para aplicar o orçamento. Os gastos podem exceder um limite durante o intervalo antes que a ação seja acionada.
Revogação de acesso baseada em função: para revogar o acesso a um limite, é necessário criar uma função dedicada para o objeto do Cortex Agent.
Período mensal: os orçamentos operam em um ciclo mensal. Não é possível configurar períodos de orçamento de recursos.
Latência de tag: quando você altera uma tag em um objeto, pode levar até oito horas para que a alteração seja refletida nos orçamentos que usam a tag. Para obter mais informações, consulte Orçamentos personalizados.
O ponto de entrada determina a atribuição: se uma solicitação começar no Snowflake Intelligence e invocar um Cortex Agent, esse uso será atribuído ao Snowflake Intelligence. Como resultado, um orçamento com um escopo que inclui apenas recursos marcados pelo Cortex Agent (por exemplo, tags aplicadas apenas a agentes) não captura créditos de solicitações iniciadas no Snowflake Intelligence, mesmo quando essas solicitações invocam um Cortex Agent. Para cobrir esse uso, inclua recursos do Snowflake Intelligence no escopo do orçamento ou configure um orçamento de recursos do Snowflake Intelligence separado (consulte Orçamentos de recursos para o Snowflake Intelligence). Entretanto, observe que os orçamentos com escopo do Snowflake Intelligence se aplicam a todos os usos atribuídos aos objetos do Snowflake Intelligence no escopo, não apenas às solicitações que invocam um Cortex Agent específico.