Consultas inteligentes com IA, PostgreSQL e Redis
Rocketseat

Rocketseat

3 min de leitura
inteligencia-artificial
Já imaginou perguntar qualquer coisa ao seu banco de dados e obter a resposta em segundos, sem precisar escrever uma única linha de SQL? E se fosse possível automatizar a criação de relatórios dinâmicos e inteligentes, permitindo que até mesmo pessoas sem conhecimento técnico acessassem informações de forma simples?
A integração entre Inteligência Artificial, PostgreSQL e Redis torna isso realidade. Com a evolução dos modelos de linguagem, como o GPT-4, é possível gerar queries SQL automaticamente, otimizando a recuperação de dados e transformando a maneira como interagimos com bancos de dados.
Neste artigo, vamos explorar na prática como essa integração pode ser feita e quais benefícios ela traz. Ao final, você terá um sistema funcional capaz de interagir de forma inteligente com seus dados. Vamos nessa?

O poder da IA em consultas a bancos de dados

A Inteligência Artificial pode atuar como um intermediário entre usuários e bancos de dados, traduzindo perguntas em linguagem natural para queries SQL e otimizando sua execução.

Benefícios dessa abordagem:

  • Agilidade: respostas rápidas sem a necessidade de escrever SQL manualmente.
  • Flexibilidade: capacidade de formular perguntas complexas de maneira intuitiva.
  • Automação: redução do tempo gasto na geração de relatórios.
  • Acessibilidade: democratização do acesso a dados para não desenvolvedores.
Modelos de IA podem utilizar Tools (ferramentas auxiliares) para interagir com bancos de dados. A escolha da ferramenta certa é feita com base em um System Prompt, que orienta a IA sobre qual fonte de dados utilizar.

Como a IA escolhe a ferramenta certa?

Para que a IA saiba quando usar cada ferramenta (PostgreSQL ou Redis), fornecemos uma descrição detalhada de cada uma. Essa descrição, junto com a pergunta do usuário, forma o prompt enviado à IA. O System Prompt pode incluir instruções como: "Responda apenas com o resultado da query, sem texto adicional" ou "Use as ferramentas disponíveis para buscar as informações corretamente".
Isso permite que a IA analise a pergunta e escolha a ferramenta mais adequada para gerar a resposta.

Mãos na massa: integrando IA, PostgreSQL e Redis

1. Preparando o ambiente

Antes de começarmos, vamos configurar um ambiente para nosso projeto.

Configurando o PostgreSQL e o Redis

Utilize o Docker para subir os serviços necessários:
docker run --name postgres -e POSTGRES_PASSWORD=admin -p 5432:5432 -d postgres docker run --name redis -p 6379:6379 -d redis
Para popular o PostgreSQL com dados de teste, use o seguinte SQL:
CREATE TABLE users ( id SERIAL PRIMARY KEY, name VARCHAR(100), email VARCHAR(100) ); INSERT INTO users (name, email) VALUES ('Diego Fernandes', 'diego@rocketseat.com'), ('Mayk Brito', 'mayk@rocketseat.com');
No Redis, podemos armazenar contagens de acessos a um sistema de referências:
redis-cli SET referral:count 100

2. Criando a API para consultas

Vamos criar uma API para interagir com IA e os bancos de dados. Utilizaremos Node.js, Fastify e Knex para essa integração.

Instalando dependências

npm init -y npm install fastify knex pg redis dotenv openai @vercel/ai

🔧 Configuração do banco no Knex (knexfile.js)

module.exports = { client: 'pg', connection: { host: 'localhost', user: 'postgres', password: 'admin', database: 'postgres' } };

3. Criando as Tools para a IA

A Tool é um mecanismo que permite que a IA execute queries no banco de dados. Vamos criar uma para consultas no PostgreSQL e outra para acessar o Redis.

PostgreSQL Tool

const knex = require('knex')(require('./knexfile')); async function postgresQuery(query) { const result = await knex.raw(query); return result.rows; }

Redis Tool

const redis = require('redis'); const client = redis.createClient(); client.connect(); async function redisQuery(key) { return await client.get(key); }

4. Criando a integração com a OpenAI

const { generateText } = require('ai'); const { OpenAI } = require('@vercel/ai'); const { postgresQuery, redisQuery } = require('./tools'); const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY }); const tools = [ { name: 'postgres', description: 'Executa queries no PostgreSQL.', execute: async ({ query }) => await postgresQuery(query) }, { name: 'redis', description: 'Consulta dados armazenados no Redis.', execute: async ({ key }) => await redisQuery(key) } ]; async function answerUserMessage(question) { const response = await generateText({ model: openai, prompt: question, tools: tools, system: 'Use as ferramentas disponíveis para responder corretamente.', maxSteps: 5, }); return response.text; }

Indo além: próximos passos

  • Evitar sobrecarga no banco de produção: utilize uma réplica de leitura para que as consultas da IA não impactem o desempenho da aplicação principal.
  • Validação de queries: sempre valide a query gerada pela IA antes de executá-la para evitar problemas como SQL injection.
  • Interface para visualização: criar um chatbot ou dashboard para exibir os resultados de maneira mais intuitiva.
🚀
Se você quer se aprofundar e aprender como levar essa tecnologia para um nível profissional, a Formação IA para Devs é o próximo passo ideal.

Conclusão

A Inteligência Artificial pode transformar a maneira como interagimos com bancos de dados, tornando a recuperação de informações mais intuitiva e acessível. Neste artigo, exploramos como integrar IA, PostgreSQL e Redis para criar consultas dinâmicas e inteligentes.
📽️
Agora que você entendeu como a IA pode revolucionar a forma como interagimos com bancos de dados, que tal ver tudo isso funcionando em tempo real? Nosso CTO, Diego Fernandes, te guia em um passo a passo prático, mostrando como conectar IA, PostgreSQL e Redis para criar consultas dinâmicas e automatizar relatórios de forma inteligente!
Video preview
Diego mostra como integrar OpenAI ao banco de dados, permitindo que a IA responda perguntas e crie queries automaticamente, sem precisar escrever SQL manualmente.
Agora é sua vez! Experimente essa integração no seu projeto e compartilhe sua experiência. Quer se aprofundar? Confira a Formação IA para Devs e dê o próximo passo rumo à inovação!
Artigos_

Explore conteúdos relacionados

Descubra mais artigos que complementam seu aprendizado e expandem seu conhecimento.

Aprenda programação do zero e DE GRAÇA

No Discover você vai descomplicar a programação, aprender a criar seu primeiro site com a mão na massa e iniciar sua transição de carreira.

COMECE A ESTUDAR AGORA