Usando orçamentos para recursos de AI (recursos compartilhados)

Um recurso compartilhado é um recurso do Snowflake usado por mais de uma unidade de negócios ou equipe. Os recursos de AI (como funções de AI, Snowflake Intelligence, Cortex Agents e Cortex Code) são exemplos de recursos compartilhados. Você pode adicioná-los a um orçamento e configurar o orçamento para que os créditos consumidos por eles sejam contados no limite de gastos do orçamento somente quando os usuários selecionados consumirem esses créditos. Isso permite rastrear e controlar o uso entre equipes ou centros de custo diferentes.

Por exemplo, suponha que várias equipes usem a mesma função de AI. É possível rastrear o consumo de cada uma das equipes em orçamentos separados com base em quais usuários chamam a função: um orçamento para usuários de engenharia e outro para usuários de finanças.

Fluxo de trabalho para rastrear o consumo por recursos compartilhados

O rastreamento do consumo por um recurso compartilhado com base no usuário que usa o recurso consiste no seguinte fluxo de trabalho:

  1. Aplicar um par tag-valor ao usuário que usa o recurso compartilhado.

  2. Adicionar ao orçamento o par tag-valor que você aplicou ao usuário.

  3. Adicionar o recurso compartilhado ao orçamento.

Aplicar uma tag ao usuário

A tag é um objeto no nível do esquema que pode ser aplicado a outro objeto. Ao aplicar uma tag a um objeto, você pode defini-la como um valor, criando assim um par tag-valor.

Você pode agrupar usuários em unidades lógicas, como centros de custo, aplicando o mesmo par tag-valor a cada um dos usuários. A primeira etapa para rastrear o consumo de recursos compartilhados é aplicar um par tag-valor a cada usuário que pertence a uma unidade. Depois disso, você pode usar um orçamento para rastrear o consumo desses usuários enquanto ignora o consumo do mesmo recurso compartilhado por outros usuários.

Use o comando ALTER USER para aplicar uma tag aos usuários. Suponha que você use a tag cost_center para identificar centros de custo em sua organização, e que o usuário joe pertença ao centro de custo finance. Para aplicar o par tag-valor correto ao usuário, execute o seguinte comando:

ALTER USER joe SET TAG cost_management.tags.cost_center = 'FINANCE';

Adicionar a tag de usuário ao orçamento

Depois de marcar todos os usuários na unidade lógica, você deverá adicionar o par tag-valor ao orçamento para que ele possa rastrear o consumo pelos usuários. Use o método SET_USER_TAGS para adicionar a tag ao orçamento.

No exemplo a seguir, quando um recurso compartilhado consome créditos, o orçamento finance_budget rastreia o consumo somente por usuários com o par tag-valor cost_center = 'FINANCE'.

CALL finance_budget!SET_USER_TAGS(
  [
    [(SELECT SYSTEM$REFERENCE('TAG', 'COST_MANAGEMENT.TAGS.COST_CENTER', 'SESSION', 'APPLYBUDGET')),
    'FINANCE']
  ],
  'UNION');

O método SET_USER_TAGS permite que você adicione todas as tags de usuário ao orçamento de uma vez. Ele também permite que você configure o orçamento para que o uso seja incluído se um usuário for marcado com qualquer uma das tags de usuário (UNION) ou configure-o para que o uso seja incluído somente se o usuário for marcado com todas as tags de usuário (INTERSECTION).

No exemplo a seguir, o orçamento my_budget rastreia o consumo quando recursos compartilhados são executados por usuários marcados com ambas as combinações de tag-valor cost_center = 'sales' e project = 'phoenix'.

CALL budget_db.budget_schema.my_budget!SET_USER_TAGS(
  [
    [(SELECT SYSTEM$REFERENCE('TAG', 'cost_mgmt_db.tags.cost_center', 'SESSION', 'APPLYBUDGET')), 'SALES'],
    [(SELECT SYSTEM$REFERENCE('TAG', 'cost_mgmt_db.tags.project', 'SESSION', 'APPLYBUDGET')), 'PHOENIX']
  ],
  'INTERSECTION');

Para verificar os resultados do método, chame o método GET_BUDGET_SCOPE.

Adicionar recursos de AI (recursos compartilhados) a um orçamento

Depois que você configurar os usuários que usam os recursos de AI, especifique quais desses recursos serão rastreados pelo orçamento. Use o método ADD_SHARED_RESOURCE para adicionar um recurso de AI ao orçamento.

Os domínios de recursos de AI compatíveis incluem:

  • AI FUNCTION: funções de inferência de modelo

  • CORTEX CODE: cargas de trabalho do Cortex Code (CLI, Snowsight)

  • CORTEX AGENT: fluxos de trabalho baseados em agente do Cortex (somente no nível do domínio)

  • SNOWFLAKE INTELLIGENCE: cargas de trabalho do Snowflake Intelligence (somente no nível do domínio)

Dica

Você pode usar a função SYSTEM$SHOW_BUDGET_SHARED_RESOURCE_CANDIDATES para retornar uma lista de recursos que podem ser adicionados como recursos compartilhados a um orçamento.

Exemplo: adicionar todas as funções de AI ao orçamento

CALL finance_budget!ADD_SHARED_RESOURCE('AI FUNCTION');

 

Exemplo: adicione a função AI_CLASSIFY ao orçamento

CALL finance_budget!ADD_SHARED_RESOURCE('AI FUNCTION', 'AI_CLASSIFY');

Criando um orçamento para cargas de trabalho de AI no Snowsight

Você pode criar e configurar orçamentos para cargas de trabalho de AI diretamente no Snowsight usando uma interface de usuário com guias.

Nota

O uso de tags para definir o escopo de um orçamento é necessário para recursos compartilhados, como cargas de trabalho de AI.

  1. Entre no Snowsight.

  2. No menu de navegação, selecione Admin » Cost management.

  3. Selecione a guia Budgets.

  4. Selecione + Budget no canto superior direito.

  5. Na página Basic Information, preencha os campos obrigatórios.

  6. Na página Budget scope, adicione os objetos que deseja incluir no orçamento.

  7. Para definir orçamentos com base em recursos de AI (recursos compartilhados), mude para a página Budgets Scope e atualize da maneira a seguir.

    Na seção Tags on users:

    • Pesquise e selecione as tags relevantes (por exemplo, centro de custo ou equipe).

    • Isso permite rastrear a atividade dos usuários marcados, o que é necessário para monitorar recursos compartilhados.

    • Selecione os recursos de AI para monitorar.

    Na seção Select resources to monitor, habilite um ou mais dos seguintes itens:

    • AI Functions

    • Cortex Code

    • Cortex Agents

    • Snowflake Intelligence

  8. Configure as funções de AI.

    • Por padrão, todas as funções de AI estão selecionadas, e as funções de AI futuras serão incluídas automaticamente.

    • Você também pode escolher seletivamente funções específicas (por exemplo, AI_CLASSIFY, AI_COMPLETE). Para obter uma lista completa, consulte Funções de AI do Snowflake Cortex (incluindo funções LLM).

  9. Configure o Cortex Code.

    • Por padrão, as interfaces do Cortex Code futuras serão incluídas automaticamente.

    • Você também pode selecionar instâncias específicas (por exemplo, CLI, Snowsight).

  10. Configure os recursos no nível do domínio.

    • Cortex Agents e Snowflake Intelligence podem ser selecionados apenas no nível do domínio.

  11. Revise suas seleções.

    Confirme que os recursos corretos estão selecionados e certifique-se de que as tags selecionadas reflitam corretamente o escopo pretendido.

  12. Complete a configuração restante e clique em Create.

Nota

  • As cargas de trabalho de AI são rastreadas como recursos compartilhados e são atribuídas com base na atividade do usuário e nas tags aplicadas.

  • Selecione All (auto) para garantir que novas instâncias do domínio sejam incluídas automaticamente à medida que ficarem disponíveis.

Limitações e considerações

  • Para funções de AI, o orçamento rastreia o tipo de serviço AI_SERVICES.