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".
- Cadastra-se uma ferramenta no backend chamada
buscarFaturamentoCliente(clienteId). - 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". - O servidor Node/Edge roda a query SQL de forma hiper segura, pega o valor "R$ 50.000" e devolve o JSON pra IA.
- 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.
- 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.
- A Busca: Quando o usuário pergunta "Qual é a nossa política de devolução?", a pergunta também vira um vetor numérico.
- O Casamento: O Postgres cruza os números e devolve exatamente os parágrafos que falam de devolução.
- 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:
- O backend fornece à IA um Schema detalhado de como as tabelas do PostgreSQL foram desenhadas (quais colunas existem, relacionamentos, chaves estrangeiras).
- O usuário solicita: "Crie um gráfico de vendas dos últimos 3 meses agrupado por região".
- A IA entende a estrutura do banco e escreve uma Query SQL crua (ex:
SELECT sum(valor), regiao FROM vendas GROUP BY regiao). - 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).