Contents

O futuro da interação com bancos de dados SQL?

/images/database-SQL-query-Vanna-AI.jpg -Negócios -Como -IA

Os SQL JOIN são operadores que permitem combinar linhas de duas ou mais tabelas com base em uma condição específica. As tabelas dos bancos de dados SQL são conectadas com base nos valores das colunas definidas na condição JOIN. A operação permite obter resultados mais complexos e completos do que uma única consulta sobre o conteúdo de uma tabela específica contida no banco de dados.

Um INNER JOIN , por exemplo, retorna apenas linhas que possuem correspondências em ambas as tabelas. O LEFT (OUTER) JOIN fornece todas as linhas da primeira tabela especificada (a da esquerda) e as linhas correspondentes da tabela da direita (a segunda tabela especificada). Ao contrário, RIGHT (OUTER) JOIN fornece todas as linhas da tabela à direita e as linhas correspondentes da tabela à esquerda. Finalmente, o FULL (OUTER) JOIN retorna todas as linhas quando há uma correspondência em uma das tabelas.

Dominar o uso de JOINs não é fácil, especialmente quando as tabelas são diferenciadas por uma estrutura complexa e não são facilmente sobreponíveis.

O que é e como funciona a biblioteca Vanna que usa inteligência artificial

Vanna.ai é uma biblioteca Python de código aberto que permite usar Large Language Models (LLM) como OpenAI GPT ou Mistral para banco de dados de consulta usando linguagem natural. Em vez de usar a sintaxe SQL, você pode fazer perguntas como “quais produtos tecnológicos geraram o maior número de vendas por país nos últimos dois anos?” Tudo isso sem precisar mais lidar com consultas SQL tradicionais.

A tarefa de gerar a consulta SQL correta e executá-la no banco de dados cabe a Vanna. O modelo coloca cada consulta correta em um banco de dados vetorial para melhorar constantemente o comportamento do LLM.

/images/vanna-ai-eseguire-query-SQL-database.png

A documentação oficial explica como instalar o Vanna em seu ambiente e usar a função apropriada para gerar uma chave de API. A chave pode ser memorizada para que você não precise fazer login todas as vezes.

Os criadores do Vanna também explicam como especificar o uso do seu LLM favorito, mas sugerem começar com um modelo público gerado a partir de um banco de dados de amostra (Chinook).

O banco de dados de amostra Chinook

O banco de dados de amostra Chinook é um banco de dados relacional amplamente utilizado para fins educacionais, de demonstração e práticos na área de gerenciamento de banco de dados e na linguagem SQL. Ele foi projetado para simular um sistema de gerenciamento de biblioteca de música digital e inclui diversas tabelas relacionadas, representando conceitos como artistas, álbuns, faixas, clientes, pedidos e muito mais. As tabelas são projetadas para refletir os relacionamentos típicos que existem em um aplicativo típico de gerenciamento de negócios biblioteca de música.

A seção Train contém informações úteis para treinar o modelo a partir de seu próprio banco de dados. Vanna suporta fontes de dados em vários formatos e é capaz de se conectar aos bancos de dados Snowflake, BigQuery, PostgreSQL, bem como outras fontes populares. Além do PostgreSQL, os outros dois são sistemas de gerenciamento de banco de dados e serviços de armazenamento de dados baseados em nuvem. Confirmando como Vanna é uma solução projetada para interagir com volumes de dados desafiadores.

Um exemplo que nos faz entender o potencial da Vanna

Tomemos como exemplo o seguinte código Python , retirado literalmente da documentação do projeto. Primeiramente importamos diversas bibliotecas, como pandas para manipulação de dados, numpy para operações matemáticas, Vanna que ativa a interação com o sistema pergunta-resposta baseado em linguagem natural, e plotly para visualização de dados.

No início, é imperativo estabelecer e utilizar as chaves API para acessar e empregar os recursos do Vanna. Consequentemente, deve-se contar com um modelo construído a partir das informações contidas na base de dados Chinook, discutida anteriormente.

importar pandas como pd importar numpy como np importar vanna como vn importar plotadamente como px

api_key=vn.get_api_key(‘nomedeusuá[email protected]’) vn.set_api_key(api_key) vn.set_model(‘chinook’)

vn.connect_to_sqlite('https://github.com/lerocha/chinook-database/raw/master/ChinookDatabase/DataSources/Chinook_Sqlite.sqlite' ) vn.ask(“Quais são os 5 melhores artistas em vendas?”)

As duas últimas linhas estabelecem uma conexão com os bancos de dados SQLite Chinook hospedados no GitHub e finalmente transmitem à inteligência artificial de Vanna uma pergunta de alto nível: “Quem são os 5 artistas que mais venderam?”

A saída gerada pelo Vanna é uma consulta SQL sofisticada e robusta, formatada de maneira complexa para desempenho ideal.

SELECT a.name, sum(il.quantity) as totalsalesFROM artist aINNER JOIN album alON a.artistid = al.artistidINNER JOIN track tON al.albumid = t.albumidINNER JOIN invoiceline ilON t.trackid = il.trackidGROUP BY a.nameORDER BY totalsales desc limit 5;

/images/vanna-ai-database-query.png

Quando a fase de treinamento é concluída corretamente, Vanna e o LLM subjacente tornam-se capazes de gerar consultas SQL relevantes. Para grandes conjuntos de dados No entanto, o analista é chamado a fornecer pistas úteis a Vanna. No entanto, o potencial é enorme e estamos apenas a arranhar a superfície: por exemplo, sugerimos tentar consultas muito complexas, que no papel requerem a utilização de junções entre tabelas diferentes.

Economizando muito tempo graças à inteligência artificial

Para que as consultas SQL mais complexas e detalhadas funcionem e retornem resultados confiáveis, o conselho é tentar-como costuma acontecer com modelos generativos – mais estratégias do que prompt. O Vanna, assim como outras ferramentas capazes de gerar textos, imagens ou músicas, também garante melhores resultados se o usuário descrever de forma precisa e oportuna o que deseja obter através de uma consulta.

As soluções baseadas em inteligência artificial estão cada vez mais “na moda” em todos os setores e em particular para melhorar os negócios. Dia após dia, são criadas novas ferramentas que oferecem funcionalidade de alto nível explorando o LLM. capaz de garantir uma grande economia de tempo.

Vanna reduz efetivamente o tempo necessário para a transição do brainstorming de bancos de dados para a realização de tarefas de análise.

Crédito da imagem de abertura: iStock.com – islander11

barra lateral inferior relacionada 300

*️⃣ Link da fonte:

a documentação oficial explica , seção Train , documentação do projeto , islander11 ,