Assistente Inteligente para Conversação com Banco de Dados PostgreSQL
Chat with Postgresql Database
Converse com seu banco de dados PostgreSQL usando linguagem natural. A IA gera e executa automaticamente consultas SQL, permitindo obter insights dos dados com facilidade.
Visão Geral do Fluxo de Trabalho
Este é um fluxo de trabalho de assistente inteligente baseado em IA para interação com bancos de dados PostgreSQL por meio de conversação, permitindo que os usuários consultem o banco de dados utilizando linguagem natural. O fluxo utiliza modelos de linguagem da OpenAI para compreender a intenção do usuário, gera e executa automaticamente consultas SQL, e retorna os resultados de forma amigável.
Funcionalidades Principais
Geração Inteligente de Consultas
O fluxo interpreta solicitações em linguagem natural por meio de um Agente de IA e gera automaticamente instruções SQL compatíveis com a estrutura do banco de dados. A IA garante que os nomes das tabelas incluam o prefixo correto do schema, evitando erros nas consultas.
Consciência da Estrutura do Banco de Dados
O sistema obtém automaticamente informações sobre o schema do banco de dados, listas de tabelas e definições detalhadas das mesmas (incluindo nomes de colunas, tipos de dados, relacionamentos de chaves estrangeiras, etc.), permitindo que a IA gere consultas precisas.
Memória de Conversação
Inclui um histórico de conversas, mantendo por padrão as últimas 5 mensagens trocadas, permitindo que a IA compreenda o contexto e ofereça uma experiência de diálogo mais coerente.
Componentes do Fluxo de Trabalho
Nó de Gatilho
- When chat message received: Gatilho ativado ao receber uma mensagem de chat, capturando a solicitação do usuário.
Nós de Processamento Principal
- AI Agent: Nó de agente inteligente que coordena todo o processo de consulta, utilizando o modo Functions Agent da OpenAI.
- OpenAI Chat Model: Utiliza o modelo GPT-4o-mini para fornecer capacidades de IA.
- Chat History: Módulo de memória com janela deslizante que gerencia o histórico de conversas.
Nós de Ferramentas (ferramentas que podem ser chamadas pelo AI Agent)
- Execute SQL Query: Executa a consulta SQL gerada pela IA.
- Get DB Schema and Tables List: Obtém todos os schemas e respectivas tabelas do banco de dados.
- Get Table Definition: Obtém a definição detalhada de uma tabela específica, incluindo colunas, tipos de dados, restrições e relacionamentos de chave estrangeira.
Instruções do Sistema (System Prompt)
O assistente de IA está configurado como um assistente especializado em banco de dados, com responsabilidades que incluem:
- Executar consultas no banco de dados conforme solicitado pelo usuário.
- Gerar consultas SQL personalizadas para agregar dados.
- Garantir que todos os nomes de tabelas incluam o prefixo correto do schema.
- Obter todos os dados necessários para análise antes de responder ao usuário.
Características Técnicas
Gestão Automatizada de Schemas
O fluxo identifica e gerencia automaticamente os schemas do banco de dados, garantindo que as consultas SQL geradas tenham sintaxe correta.
Análise Inteligente de Dados
A IA não apenas executa consultas, mas também analisa os dados retornados, oferecendo explicações significativas e insights úteis ao usuário.
Escolha Flexível de Modelo
Permite substituir o modelo de chat por outros, proporcionando boa extensibilidade.
Janela de Contexto Personalizável
É possível ajustar o número de mensagens mantidas no histórico de conversa, equilibrando desempenho e compreensão contextual.
Casos de Uso
- Analistas de negócio realizando consultas rápidas em dados operacionais.
- Usuários não técnicos acessando o banco de dados por meio de linguagem natural.
- Exploração de dados e consultas ad hoc.
- Geração automatizada de relatórios.
- Aprendizado e compreensão da estrutura do banco de dados.
Requisitos de Configuração
- Credenciais de acesso ao banco de dados PostgreSQL.
- Credenciais da API da OpenAI.
- Opcional: ajustar o tamanho da janela de histórico de conversa (padrão: 5 mensagens).
- Opcional: ativar o fluxo de trabalho para tornar o chat publicamente acessível.