Uso de SQL para gerar automaticamente descrições de objetos¶
O recurso Descrições de objetos baseadas no Cortex permite que você use a função COMPLETE do Snowflake Cortex para gerar automaticamente descrições para tabelas, exibições e colunas. Este recurso utiliza modelos de linguagem grande (LLMs) hospedados pelo Snowflake para avaliar metadados de objetos e, se desejado, dados de amostra para gerar uma descrição.
Este tópico descreve como usar um procedimento armazenado para gerar descrições programaticamente. Para obter informações sobre como usar Snowsight para gerar as descrições, consulte Gerar descrições com o Snowflake Cortex.
Geração de uma descrição¶
O procedimento armazenado AI_GENERATE_TABLE_DESC gera automaticamente uma descrição para uma tabela e exibição. Ele também pode gerar descrições para as colunas dessa tabela ou exibição.
O procedimento armazenado AI_GENERATE_TABLE_DESC aceita dois argumentos:
O nome da tabela ou exibição para a qual você deseja gerar uma descrição.
Um objeto de configuração opcional que permite fazer o seguinte:
Gerar descrições para as colunas da tabela ou exibição especificada.
Usar dados de amostra da tabela ou exibição para potencialmente melhorar a precisão das descrições das colunas.
- Exemplo: Gerar uma descrição de tabela
- Exemplo: Gerar descrições de tabela e coluna sem usar dados de amostra
- Exemplo: Gerar descrições de exibição e coluna usando dados de amostra para melhorar a precisão
Para obter a sintaxe completa do procedimento armazenado, consulte AI_GENERATE_TABLE_DESC.
Como trabalhar com a resposta¶
O procedimento armazenado AI_GENERATE_TABLE_DESC retorna um objeto JSON que contém as descrições geradas, juntamente com informações gerais sobre a tabela e as colunas. Dentro desse objeto, o campo description contém a descrição gerada.
Suponha que você tenha criado a seguinte tabela:
Dada essa tabela, veja a seguir um exemplo do objeto JSON retornado por AI_GENERATE_TABLE_DESC:
Para obter mais informações sobre cada campo JSON, consulte Retornos.
Definir descrições geradas como comentários¶
Para definir uma descrição gerada como um comentário em uma tabela, exibição ou coluna, você deve executar manualmente uma instrução SQL que inclua o parâmetro SET COMMENT. Por exemplo, para salvar uma descrição gerada para uma tabela t1, execute ALTER TABLE t1 SET COMMENT = 'ai generated description';.
Você pode escrever um código personalizado para gerar e salvar descrições automaticamente. Para obter exemplos de procedimentos armazenados que fazem isso, consulte Exemplos.
Requisitos de controle de acesso¶
Os usuários devem ter os seguintes privilégios e funções para chamar o procedimento armazenado AI_GENERATE_TABLE_DESC:
Privilégio SELECT na tabela ou exibição.
Função de banco de dados SNOWFLAKE.CORTEX_USER.
Disponibilidade do recurso¶
Sua região deve oferecer suporte ao LLM usado pelo Snowflake Cortex (como o Mistral-7b e o Llama 3.1-8b) para gerar as descrições. Verifique a disponibilidade da função COMPLETE. Se a função COMPLETE não for aceita em sua região, você deverá ativar a inferência entre regiões para usar o recurso.
Uso de dados de amostra¶
Ao gerar uma descrição para uma coluna, é possível se basear apenas em metadados ou optar por usar dados de amostra para melhorar a descrição alimentada pelo Snowflake Cortex. Os dados de amostra referem-se aos dados de uma coluna específica que é avaliada quando você usa o Snowflake Cortex para gerar descrições. Se optar por usar dados de amostra, o Snowflake usará uma parte dos dados de amostra para gerar a descrição, o que resulta em descrições mais precisas. Os dados de amostra não são armazenados pelo Snowflake como Dados de Uso.
Considerações sobre custo¶
A geração de descrições incorre nos seguintes custos:
Créditos consumidos pelo warehouse em uso.
Créditos cobrados pelo uso do Snowflake Cortex com LLMs menores, como Mistral-7b e Llama 3.1-8b. Essas cobranças aparecem em uma fatura como AI-Services, incluindo todos os usos do Snowflake Cortex.
Limitações¶
Não é possível gerar descrições de colunas para objetos com mais de cinco mil colunas.
Avisos legais¶
Esse recurso depende da função COMPLETE para gerar uma descrição de objeto recomendada. Quando o usuário inicia a geração da descrição, os dados de uso podem ser coletados por meio da função COMPLETE.
A descrição gerada não é retida pelo Snowflake até que seja salva pelo usuário.
Para obter mais informações sobre o uso de AI, consulte AI e ML Snowflake.
Exemplos¶
Os exemplos a seguir criam e chamam um procedimento armazenado para gerar descrições de objetos:
Exemplo: Gerar descrições e defini-las como comentários¶
Etapa 1: Criar um procedimento armazenado
O procedimento armazenado a seguir faz o seguinte:
Gera automaticamente descrições para todas as tabelas (e as colunas delas) em um esquema.
Define essas descrições como comentários nas tabelas e colunas.
Etapa 2: Chamar o procedimento armazenado
Supondo que seu esquema seja denominado my_db.sch1, chame o procedimento armazenado da seguinte maneira para gerar descrições para tabelas e colunas:
Você pode executar um comando DESC TABLE para verificar se as descrições geradas foram definidas como comentários em uma tabela.
Exemplo: Gerar descrições e salvá-las em uma tabela de catálogo¶
Etapa 1: Criar um procedimento armazenado
O procedimento armazenado a seguir faz o seguinte:
Gera automaticamente descrições para todas as tabelas (e as colunas delas) em um esquema.
Preenche uma tabela de catálogo, em que cada linha representa uma tabela ou coluna com uma descrição gerada.
Etapa 2: Criar a tabela de catálogo a ser preenchida
Use o código a seguir para criar a tabela de catálogo em que as descrições das tabelas e colunas são armazenadas.
Etapa 3: Chamar os procedimentos armazenados
Supondo que seu esquema seja denominado my_db.sch1, chame o procedimento armazenado da seguinte forma: