Capítulo 30 de 35

Integração IA e Banco de Dados: Acessando o PostgreSQL com Segurança

Índice do Manual

O "Santo Graal" do desenvolvimento de softwares B2B corporativos não é colocar um chatbot genérico na tela, mas sim transformar a Inteligência Artificial em uma ponte inteligente capaz de ler, interpretar e conversar sobre os dados privados do cliente.

Para que a IA saiba "quanto o cliente faturou neste mês", ela precisa se conectar ao banco de dados PostgreSQL. Para que isso ocorra com latência zero e segurança militar, adotam-se três arquiteturas exclusivas:


1. Function Calling (O Padrão Ouro B2B)

A regra máxima de segurança é: A IA nunca acessa o banco de dados diretamente. Utiliza-se uma arquitetura chamada Function Calling (ou Tools no Vercel AI SDK).

Como funciona:

Ao invés de fornecer a senha do banco para o ChatGPT, disponibiliza-se a ele um canivete suíço de "Ferramentas".

  1. Cadastra-se uma ferramenta no backend chamada buscarFaturamentoCliente(clienteId).
  2. Quando o usuário digita: "Quanto a Empresa Alpha faturou mês passado?", a IA percebe que não tem a resposta e paralisa sua geração. Ela avisa o servidor: "Por favor, execute a ferramenta buscarFaturamentoCliente(Alpha) para mim".
  3. O servidor Node/Edge roda a query SQL de forma hiper segura, pega o valor "R$ 50.000" e devolve o JSON pra IA.
  4. A IA lê aquele JSON invisível e escreve na tela para o usuário: "A Empresa Alpha teve um faturamento excelente de R$ 50.000 no mês passado!"

No pacote oficial @ai-sdk, isso é estruturado na propriedade tools da função de streaming, mantendo o controle 100% nas mãos do desenvolvedor.


2. RAG (Busca Vetorial com pgvector)

A Busca Vetorial é a arquitetura escolhida quando o banco de dados não armazena números e tabelas engessadas, mas sim texto livre (Documentações, Histórico de Tickets, PDFs, Notas de Reunião).

Como funciona:

O Supabase possui suporte nativo à extensão pgvector.

  1. A Ingestão: Toda vez que um documento é salvo, ele é convertido em um Array gigante de números (Embedding) que representa o "significado" do texto e salvo no Postgres.
  2. A Busca: Quando o usuário pergunta "Qual é a nossa política de devolução?", a pergunta também vira um vetor numérico.
  3. O Casamento: O Postgres cruza os números e devolve exatamente os parágrafos que falam de devolução.
  4. A Geração (RAG): O servidor anexa os parágrafos encontrados no prompt da IA, instruindo-a a responder baseada exclusivamente naqueles textos extraídos do Supabase.

(Nota: É exatamente esta tecnologia que alimenta este manual).


3. Text-to-SQL (O Analista de Dados Automático)

Esta arquitetura é reservada para cenários analíticos complexos, onde o cliente final deseja um "PowerBI guiado por Inteligência Artificial".

Como funciona:

  1. O backend fornece à IA um Schema detalhado de como as tabelas do PostgreSQL foram desenhadas (quais colunas existem, relacionamentos, chaves estrangeiras).
  2. O usuário solicita: "Crie um gráfico de vendas dos últimos 3 meses agrupado por região".
  3. A IA entende a estrutura do banco e escreve uma Query SQL crua (ex: SELECT sum(valor), regiao FROM vendas GROUP BY regiao).
  4. O servidor recebe essa Query.

⚠️ Regra Crítica de Segurança

Jamais execute a Query SQL gerada pela IA diretamente no banco de dados principal com privilégios de escrita, pois há risco de manipulação maliciosa (Prompt Injection que gera um DROP TABLE). A Query gerada deve ser interceptada e executada exclusivamente por uma Role do PostgreSQL configurada como Read-Only (Somente Leitura) e fortemente controlada por RLS (Row Level Security).