Analisando propostas

Integração de Chatbot com Ia

Publicado em 30 de Julho de 2024 dias na TI e Programação

Sobre este projeto

Aberto

Integrar um chatbot na plataforma "AmberChat" com um assistente da OpenAI que, conectado ao banco de dados, permitirá aos usuários consultar informações de faturamento de forma interativa e eficiente. O assistente será capaz de gerar consultas sql, enviar essas consultas a uma api (acionar functions), processar a resposta em formato json, e formatar a resposta de forma amigável para o usuário.

Contexto Geral do Projeto

### Objetivo do Projeto Integrar um chatbot na plataforma "AmberChat" com um assistente da OpenAI que, conectado ao banco de dados, permitirá aos usuários consultar informações de faturamento de forma interativa e eficiente. O assistente será capaz de gerar consultas sql, enviar essas consultas a uma api (acionar functions), processar a resposta em formato json, e formatar a resposta de forma amigável para o usuário. ### Estrutura do Projeto #### 1. Base de Dados A base de dados contém uma tabela chamada `faturamento` com vários campos necessários para as consultas. O campo principal para as buscas é `cp_busca`, um JSONB usado para realizar buscas por similaridade. #### 2. Funcionalidades do Assistente - **Montar Consultas SQL**: O assistente deve ser capaz de interpretar as perguntas dos usuários, montar consultas sql complexas e enviar essas consultas para a api. - **Receber e Processar Respostas JSON**: O assistente recebe a resposta da api em formato json e transforma essa resposta em um formato amigável para o usuário. - **Respostas Automáticas**: O assistente deve ter a capacidade de responder automaticamente a perguntas simples, sem necessidade de consultar o banco de dados. ### Fluxo de Trabalho 1. **Recepção de Mensagens**: - O usuário envia uma mensagem (pode ser por texto ou áudio). - Se for uma nova mensagem, cria-se um novo contexto de conversa. 2. **Interpretação e Montagem da Consulta SQL**: - O assistente interpreta a mensagem. - Monta a consulta SQL com base na tabela `faturamento` e no campo `cp_busca` para buscas por similaridade. 3. **Execução da Consulta e Processamento da Resposta**: - O assistente envia a consulta sql para a api. (Aciona a function) - A api executa a consulta no banco de dados e retorna um json com os resultados. - O assistente formata o JSON em uma resposta amigável. 4. **Interação com o Usuário**: - O assistente apresenta os resultados ao usuário. - Se necessário, faz perguntas adicionais para refinar a consulta (ex.: Período específico, cliente específico). ### Exemplos de Consultas SQL #### Busca de Clientes com Similaridade no Nome ```sql Select fat.codcli, fat.nomcli from faturamento fat where jsonb_extract_path_text(fat.Cp_busca, 'nomcli') like '%|xyz|%' group by fat.codcli, fat.nomcli LIMIT 10 ``` #### Vendas Totais de um Cliente Específico ```sql SELECT fat.codcli, fat.nomcli, sum(fat.valor_fat_total) AS "Valor Total" from faturamento fat where fat.Codcli = 12345 group by fat.codcli, fat.nomcli ``` #### Vendas de um Cliente em um Período Específico ```sql SELECT fat.codcli, fat.nomcli, sum(fat.valor_fat_total) AS "Valor Total" from faturamento fat where fat.codcli = 12345 And fat.datemi between '2024-01-01' and '2024-12-31' group by fat.codcli, fat.nomcli ``` ### Formatação da Resposta #### Modelo de Formatação ``` *Obter o total de compras do cliente com código 12345 no ano de 2024* ------------------------ 04/2024: R$ 100.000,00 05/2024: R$ 200.000,00 ------------------------ Total de Vendas: R$ 300.000,00 ``` ### Considerações Finais - **Treinamento do Assistente**: Ensinar o assistente sobre os campos da tabela, o formato das consultas e a formatação das respostas. - **Tratamento de Erros**: O assistente deve ser capaz de lidar com situações em que a informação não é encontrada, informando ao usuário de maneira clara. - **Melhoria Contínua**: Monitorar as interações e ajustar o comportamento do assistente para melhorar a precisão e a relevância das respostas. ### Próximos Passos 1. **Importar e Analisar a Tabela**: Carregar os dados da tabela `faturamento` do arquivo CSV anexo. 2. **Configurar o Assistente**: Implementar as funcionalidades descritas no fluxo de trabalho. 3. **Testar o Sistema**: Realizar testes com diferentes cenários para garantir que o assistente funcione corretamente. Vamos começar carregando e analisando os dados da tabela `faturamento` do arquivo CSV fornecido. ### Organização das Ideias do Projeto Com base nos dados fornecidos e nos requisitos do projeto, aqui está uma estrutura detalhada para implementar a solução.

Categoria TI e Programação
Subcategoria Inteligência Artificial
Tamanho do projeto Médio
Isso é um projeto ou uma posição de trabalho? Um projeto
Disponibilidade requerida Conforme necessário

Prazo de Entrega: Não estabelecido

Habilidades necessárias