Uso de Snowflake Copilot¶
Este tópico apresenta o que é o Snowflake Copilot e como usá-lo em seu fluxo de trabalho de análise de dados. Os exemplos neste tópico usam planilhas, mas as mesmas etapas se aplicam ao uso do Snowflake Copilot nos Snowflake Notebooks.
Nota
Um suporte para esse recurso está disponível para contas nas seguintes regiões:
AWS us-east-1
AWS us-west-2
AWS eu-central-1
Azure eastus2
Introdução¶
Snowflake Copilot é um assistente baseado em LLM com tecnologia que simplifica a análise de dados, mantendo uma governança de dados robusta, e se integra perfeitamente ao seu fluxo de trabalho Snowflake existente.
O Snowflake Copilot é alimentado por um modelo com ajuste fino da Snowflake que executa com segurança no Snowflake Cortex, o serviço de AI inteligente e totalmente gerenciado pela Snowflake. Essa abordagem significa que seus dados e metadados corporativos sempre permanecerão seguros no Snowflake. O Snowflake Copilot também respeita totalmente o RBAC e fornece sugestões baseadas apenas nos conjuntos de dados que você pode acessar.
O Snowflake Copilot usa solicitações em linguagem natural para permitir a análise de dados do início ao fim. Para começar, o Copilot pode ajudar a responder perguntas sobre como seus dados estão estruturados e orientar você na exploração de um novo conjunto de dados. Você pode então pedir ao Copilot para gerar e refinar consultas SQL para extrair informações úteis de seus dados. O Snowflake Copilot pode até ajudar a melhorar sua consulta SQL recomendando otimizações ou sugerindo correções para possíveis problemas.
O Snowflake Copilot também pode ajudar a melhorar sua fluência de SQL ou compreensão dos recursos do Snowflake. Faça perguntas sobre como executar uma tarefa no Snowflake e o Copilot retornará respostas com base na documentação do Snowflake.
Você pode interagir com o Copilot em planilhas SQL e com Snowflake Notebooks no Snowsight. Usando o painel Copilot, você pode inserir uma pergunta para ser respondida pelo Snowflake Copilot. Você pode executar as consultas SQL sugeridas em sua planilha ou em seu notebook.
Requisitos de controle de acesso¶
A função do banco de dados COPILOT_USER no banco de dados SNOWFLAKE inclui os privilégios que permitem aos usuários usar recursos Snowflake Copilot. Por padrão, a função COPILOT_USER é concedida à função PUBLIC. A função PUBLIC é concedida automaticamente a todos os usuários e funções, permitindo que todos os usuários da sua conta usem os recursos Snowflake Copilot.
Usuários com esse privilégio verão Ask Copilot no canto inferior direito da sua planilha ou notebook e poderão usar o painel para interagir com Snowflake Copilot.
Limitar acesso ao Copilot¶
Se não quiser que todos os usuários tenham esse privilégio, você pode revogar o acesso à função PUBLIC e conceder acesso a funções específicas.
Para revogar a função de banco de dados COPILOT_USER da função PUBLIC, execute o seguinte comando usando a função ACCOUNTADMIN:
USE ROLE ACCOUNTADMIN;
REVOKE DATABASE ROLE SNOWFLAKE.COPILOT_USER
FROM ROLE PUBLIC;
Um usuário sem essa função não verá Ask Copilot no canto inferior direito de sua planilha ou notebook. Você pode alternar sua função ativa no menu de navegação à esquerda para mudar para uma função que tenha acesso ao Copilot e ver o menu Ask Copilot novamente. Para obter mais detalhes, consulte Mudança de sua função ativa.
Você poderá então fornecer acesso seletivamente a funções específicas. A função de banco de dados SNOWFLAKE.COPILOT_USER não pode ser concedida diretamente a um usuário. Para obter mais informações, consulte Como usar as funções de banco de dados SNOWFLAKE. Um usuário com a função ACCOUNTADMIN pode conceder essa função a uma função personalizada para permitir que os usuários acessem os recursos do Snowflake Copilot. No exemplo a seguir, use a função ACCOUNTADMIN e conceda ao usuário some_user
a função de banco de dados COPILOT_USER por meio da função de conta copilot_access_role
, que você cria para essa finalidade.
USE ROLE ACCOUNTADMIN;
CREATE ROLE copilot_access_role;
GRANT DATABASE ROLE SNOWFLAKE.COPILOT_USER TO ROLE copilot_access_role;
GRANT ROLE copilot_access_role TO USER some_user;
Você também pode conceder acesso ao Snowflake Copilot por meio de funções existentes comumente usadas por grupos específicos de usuários. (Consulte Funções do usuário.) Por exemplo, se você criou uma função analyst
usada como função padrão pelos analistas da sua organização, poderá conceder facilmente a esses usuários acesso ao Snowflake Copilot com uma única instrução GRANT.
GRANT DATABASE ROLE SNOWFLAKE.COPILOT_USER TO ROLE analyst;
Casos de uso compatíveis¶
Explore seus dados fazendo perguntas abertas para aprender sobre a estrutura e as nuances de um novo conjunto de dados.
Gere consultas SQL com perguntas em inglês simples.
Experimente a consulta SQL sugerida pelo Snowflake Copilot com apenas um clique. Você também pode editar a consulta antes de executá-la.
Crie consultas complexas por meio de uma conversa com o Snowflake Copilot fazendo perguntas de acompanhamento para refinar a consulta SQL sugerida e aprofundar-se na análise.
Aprenda sobre o Snowflake fazendo perguntas sobre os conceitos, recursos e funcionalidades do Snowflake.
Melhore suas consultas pedindo ao Snowflake Copilot para ajudar você a avaliar a eficiência da consulta, encontrar otimizações ou explicar o que a consulta faz.
Forneça feedback (polegar para cima ou para baixo) para cada resposta do Snowflake Copilot, e ele será usado para melhorar o produto.
Adicione instruções personalizadas, como um conjunto de preferências ou conhecimento comercial específico, para que o Snowflake Copilot considere-as ao gerar respostas.
Limitações¶
Suporte de idioma limitado: Hoje, apenas inglês e SQL são compatíveis.
Sem acesso aos seus dados: O Snowflake Copilot não tem acesso aos dados de suas tabelas. Se quiser filtrar um valor específico de uma coluna, você deverá fornecer esse valor. Por exemplo, se você pedir ao Snowflake Copilot para retornar todas as linhas com um valor de coluna A igual a “X”, você deve fornecer o valor “X” em sua solicitação. Consulte o exemplo Como criar e executar uma instrução SQL.
Consultas entre bancos de dados ou esquemas não são compatíveis: Você pode contornar isso criando e usando visualizações que unam dados de diferentes esquemas e bancos de dados.
Resposta atrasada: O Snowflake Copilot pode levar um segundo para concluir uma resposta, dependendo do tamanho da resposta fornecida.
Sugestões de SQL podem nem sempre funcionar: O Snowflake Copilot pode às vezes sugerir consultas com sintaxe SQL inválida ou tabelas ou colunas inexistentes. Forneça feedback usando os botões de polegar para cima ou para baixo para a resposta específica. Esse feedback nos ajuda a melhorar esse recurso.
Atraso na detecção de novos bancos de dados, esquemas e tabelas: Pode levar até 3 a 4 horas para que o Snowflake Copilot reconheça bancos de dados, esquemas e tabelas recém-criados.
Número limitado de tabelas e colunas consideradas: Para gerar uma resposta, o Snowflake Copilot primeiro pesquisa as tabelas e colunas mais relevantes para sua solicitação. Os resultados da pesquisa são então classificados por relevância e apenas as 10 principais tabelas e as 10 principais colunas de cada uma dessas tabelas nos resultados são consideradas ao gerar uma resposta.
Como usar o Snowflake Copilot¶
O Snowflake Copilot está pronto para uso sem configuração adicional. Lembre-se dos seguintes pontos ao usar o Snowflake Copilot:
Cada sessão de bate-papo com o Snowflake Copilot está associada a uma planilha ou notebook específico. Abrir uma nova planilha ou notebook abre uma nova sessão de bate-papo.
Você deve ter um banco de dados e um esquema em uso durante sua sessão para usar o Snowflake Copilot. O Copilot os utiliza para gerar respostas relevantes.
O Snowflake Copilot usa os nomes de seus bancos de dados, esquemas, tabelas e colunas, além dos tipos de dados de suas colunas, para determinar quais dados estão disponíveis para consulta.
Se o Snowflake Copilot não puder responder à sua pergunta com base no banco de dados e esquema selecionados, ele pode tentar usar outras maneiras de responder, como a documentação do Snowflake ou conhecimento geral de SQL. Se você receber uma resposta inesperada, pode deixar um feedback usando os botões de polegar para cima e para baixo.
Se você precisar se referir a um nome de tabela ou a um nome de coluna em sua pergunta, prefixe o nome com
@
. Referir-se a tabelas e colunas específicas pode ajudar o Snowflake Copilot a fornecer respostas mais precisas.Para um desempenho ideal, use nomes significativos para bancos de dados, esquemas, tabelas e colunas e garanta que as colunas tenham o tipo de dados apropriado atribuído.
Siga estas etapas para começar a usar o Snowflake Copilot:
Crie uma nova planilha ou abra uma planilha existente.
Selecione Ask Copilot no canto inferior direito da planilha. O painel Snowflake Copilot abre no lado direito da planilha.
Certifique-se de que um banco de dados e um esquema estejam selecionados para a planilha atual. Caso contrário, você pode selecioná-los usando o seletor na parte superior da planilha ou o seletor abaixo da caixa de mensagem do Snowflake Copilot.
Na caixa de mensagem, insira sua pergunta e selecione o ícone de envio ou pressione Enter para enviá-lo. O Snowflake Copilot fornece uma resposta no painel.
Se a resposta do Snowflake Copilot incluir instruções SQL:
Selecione Run para executar a consulta. Isso adiciona a consulta à sua planilha e a executa.
Selecione Add para editar a consulta antes de executá-la. Isso adiciona a consulta à sua planilha.
Como adicionar instruções personalizadas¶
O Snowflake Copilot aceita instruções personalizadas que permitem que você personalize como ele responde. Quando ativadas, essas instruções são usadas para aprimorar o prompt enviado ao modelo por trás do Snowflake Copilot e são consideradas pelo Copilot quando ele está gerando novas respostas. As instruções personalizadas podem incluir orientações para usar um tom específico ou responder de uma determinada maneira, preferências sobre como escrever SQL ou informações adicionais sobre os dados a serem considerados.
Lembre-se do seguinte ao adicionar as instruções personalizadas:
Há um limite de 2.000 caracteres para instruções personalizadas.
A Snowflake recomenda especificar instruções personalizadas em inglês simples.
As instruções são específicas para o usuário que as inseriu e as utilizou em todas as suas conversas com o Snowflake Copilot.
Siga estas etapas para adicionar instruções personalizadas ao Snowflake Copilot:
Crie uma nova planilha ou abra uma planilha existente.
Selecione Ask Copilot no canto inferior direito da planilha. O painel Snowflake Copilot abre no lado direito da planilha.
Selecione o menu Copilot na parte superior do painel Snowflake Copilot.
Selecione Custom instructions no menu suspenso.
Para habilitar a caixa de texto de instruções personalizadas, selecione o seletor Enable for new chats no canto inferior esquerdo da janela de instruções personalizadas.
Insira suas instruções em texto simples em inglês.
Selecione Save quando terminar.
Continue sua conversa no painel do Snowflake Copilot.
Exemplos¶
As seções a seguir fornecem exemplos que demonstram como:
Esses exemplos usam um conjunto de dados de amostra do Snowflake Marketplace.
Pré-requisitos¶
Os exemplos nesta seção usam o conjunto de dados do Cybersyn Github Archive do Snowflake Marketplace:
Instale o conjunto de dados do Cybersyn Github Archive em sua conta.
Crie uma nova planilha ou abra uma planilha existente.
Selecione Ask Copilot no canto inferior direito da planilha.
Selecione o banco de dados e o esquema do Cybersyn Github Archive.
Explorar seus dados¶
O exemplo a seguir demonstra como usar o Snowflake Copilot para explorar um conjunto de dados.
Insira uma pergunta aberta, como “Que tipos de perguntas posso fazer sobre este conjunto de dados?”
Pressione Enter e o Snowflake Copilot irá gerar uma resposta com base no banco de dados e no esquema selecionados.
Faça perguntas mais esclarecedoras sobre os dados, como “Por quais tipos de eventos posso filtrar?” ou “Alguma dessas tabelas pode ser unida?”
Se a resposta do Snowflake Copilot incluir uma instrução SQL, você pode selecionar Add para adicionar a consulta ao fim da planilha e editá-la antes de executar ou selecionar Run para adicionar a consulta e executá-la automaticamente.
Como criar e executar uma instrução SQL¶
Os exemplos a seguir demonstram como utilizar o Snowflake Copilot para gerar consultas SQL.
Insira a pergunta “Quantas estrelas foram dadas no ano passado?” na caixa de mensagem do Snowflake Copilot e pressione Enter. O Snowflake Copilot responde com uma consulta SQL que responde à sua pergunta.
Selecione Add para adicionar a consulta ao fim de sua planilha.
Insira a pergunta “Mostre-me isso para cada mês” e pressione Enter. O Snowflake Copilot responde com uma consulta SQL que responda à sua pergunta.
Selecione Run para adicionar a consulta à sua planilha e executá-la.
O Snowflake Copilot não tem acesso aos dados dentro de suas tabelas. Se você quiser que o Snowflake Copilot crie uma instrução SQL que filtre com base em um valor específico de uma coluna, você deve fornecer o valor a ser filtrado.
Insira a pergunta “quais são todos os nomes de repositórios que começam com ‘snowflake’?” na caixa de mensagem e pressione Enter. O Snowflake Copilot responde com uma consulta SQL que usa o valor do filtro que você forneceu.
Selecione Add para editar a consulta antes de executar ou selecione Run para adicionar a consulta à sua planilha e executá-la.
Como explicar uma instrução SQL¶
O exemplo a seguir demonstra como usar Snowflake Copilot para explicar uma instrução SQL na qual você esteja trabalhando.
Na caixa de mensagem do Snowflake Copilot, insira a seguinte pergunta e consulta SQL:
Can you explain this query to me step-by-step?
SELECT github_repos.repo_name, COUNT(github_stars.repo_id) AS total_stars FROM github_repos JOIN github_stars ON github_repos.repo_id = github_stars.repo_id GROUP BY github_repos.repo_name ORDER BY total_stars DESC;
O Snowflake Copilot responde com uma explicação passo a passo da consulta fornecida.
Faça perguntas sobre SQL e Snowflake¶
O Snowflake Copilot tem acesso à documentação do Snowflake e pode responder a perguntas gerais sobre o Snowflake ou SQL. Aqui estão alguns exemplos de perguntas que você pode experimentar:
Como eu escrevo uma junção em SQL?
O que é o Snowpark Cortex?
Como faço para ingerir dados no Snowflake?
Dicas para usar o Snowflake Copilot¶
A criação de exibições curadas pode melhorar significativamente o desempenho do Snowflake Copilot.
Siga estas diretrizes ao criar as exibições:
Diretriz
Exemplo
Use nomes descritivos e fáceis de entender para as exibições e suas colunas.
Ao escolher os nomes, use a taxonomia de negócios e dados que você provavelmente usará ao usar o Snowflake Copilot.
Se uma coluna contiver a data de uma venda específica, nomeie a coluna como
sale_date
.Certifique-se de que todas as colunas tenham o tipo de dados apropriado.
Se uma coluna contiver a data de uma venda específica, certifique-se de que ela tenha o tipo DATE.
Defina métricas/expressões comumente usadas como novas colunas.
Se o lucro for definido como
revenue - cost
, crie uma coluna(revenue - cost) AS profit
em sua exibição.Se possível, capture junções comuns e complexas.
Se duas tabelas,
products
esales
, forem frequentemente unidas, certifique-se de que sua exibição una essas tabelas.Se houver vários caminhos de junção entre tabelas comumente unidas, use o caminho de junção preferido em sua exibição.
Seja o mais específico possível ao fazer uma pergunta. Imagine que você está fazendo uma pergunta a um humano que pode ter conhecimento limitado de seus dados.
Se quiser filtrar valores específicos dentro de colunas, talvez seja necessário orientar ativamente o Snowflake Copilot. Você pode pedir ao Snowflake Copilot uma consulta que retorne todos os valores distintos em uma coluna.
Custos¶
O Snowflake Copilot atualmente é gratuito para uso. Detalhes sobre preço e faturamento estão planejados, mas você será notificado antes que quaisquer cobranças sejam aplicadas a esse recurso.
Avisos legais¶
O Snowflake Copilot é alimentado por tecnologia de aprendizado de máquina, incluindo Code Llama e Llama Guard da Meta. Os modelos base Code LLama e Llama Guard são licenciados sob a licença comunitária LLaMA 2 e os direitos autorais (c) Meta Platforms, Inc. Todos os direitos reservados. O uso deste recurso está sujeito à política de uso aceitável da Meta.
Para obter informações adicionais, consulte AI e ML Snowflake.
A classificação dos dados de entradas e saídas é definido na tabela a seguir.
Classificação de dados de entrada |
Classificação de dados de saída |
Designação |
---|---|---|
Usage Data |
Usage Data |
Covered AI Features [1] |
Para obter informações adicionais, consulte AI e ML Snowflake.