Skip to content

AluMind fornece aplicativo focado em bem-estar e saúde mental. Os Feedbacks vindo dos usuários em diferentes plataformas são analisados com LLM, classificados por sentimento e são extraídas possíveis sugestões, resultando em uma resposta personalizada ao feedback do cliente.

Notifications You must be signed in to change notification settings

crisleymarques/alumind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧘 AluMind | Feedbacks ✅

👍 Análise de Feedbacks com LLM 🤖

DescriçãoTecnologiasComo rodarDecisões TécnicasSobre

Descrição 📋

A AluMind é uma startup que oferece um aplicativo focado em bem-estar e saúde mental, proporcionando aos usuários acesso a meditações guiadas, sessões de terapia, e conteúdos educativos sobre saúde mental. Os Feedbacks vindo dos usuários em diferentes plataformas (canais de atendimento ao cliente; comunidades no Discord; redes sociais) são analisados, classificados por sentimentos e extraídas as possíveis melhorias contidas neles.

Tecnologias 🛠

Java Spring Flyway Llama 3 Groq

Como rodar 💻

Pré-requisitos

Você precisa ter instalado na sua máquina Git, Java 17 e o MySQL 8.1 ou mais recente.

Clone o repositório

git clone https://github.com/crisleymarques/alumind.git

Adicionando a Key da Groq API ao seu ambiente 🔑

  1. Crie uma conta gratuita no Groq.
  2. Crie uma API Key e copie.
  3. No arquivo src/resources/application.properties, procure a linha que declara a API Key do GROQ e insira a sua que foi gerada:
spring.ai.openai.api-key=your_api_key

Adicionando sua senha do MySQL 🤫

No arquivo src/resources/application.properties, procure a linha que declara a senha do database e insira a sua:

spring.datasource.password=your-password-here
  • Não é necessário executar scripts SQL, pois o Flyway faz isso ao executar o projeto.

Executando ▶️

  • Execute o projeto na IDE de sua preferência

Acesse os endpoints no Swagger: http://localhost:8080/swagger-ui/index.html

Aproveite! 🎉

Decisões Técnicas 📑

1. Classificação de Feedbacks

Modelagem do Banco de Dados 🎲

  • Os feedbacks são armazenados em uma tabela junto com seu ID e a sua classificação de sentimento.
  • As Requested Features são armazenadas em uma tabela com seu ID, Code e Reason.
  • Uma tabela auxiliar conecta Feedback e Requested Features através de suas PKs.
  • O relacionamento escolhido foi N:N pois foi considerado que:
    • Um feedback pode ter 0 ou mais requested_features associadas
    • Uma requested_feature pode estar em 1 ou mais feedbacks
Modelagem do BD

Implementação

Foi utilizado o modelo para analisar o sentimento do feedback e estrturar a informação em formato JSON para ser posteriormente salva no banco.

Técnicas de Engenharia de Prompt foram aplicadas para conseguir o resultado esperado.

  • Uma das técnicas utilizadas foi o Few-Shot Prompting, que consiste em passar exemplos para o modelo no prompt para que ele consiga raciocinar com base neles e fazer analogias.

2. Marcação de SPAM ❌

A implementação foi análoga a de classificação dos feedbacks.

A análise de SPAM é feita antes da classificação de sentimentos.

A classificação só é executada quando o sistema identifica que o feedback não é SPAM.

  • Note que os LLMs não são determinísticos, então é possível que haja erros na identificação do SPAM.

3. Nova Feature: Diário Emocional Inteligente 📝

Minha sugestão de funcionalidade para a AluMind é a criação de um Diário Emocional Inteligente usando LLMs. Tem como objetivo ajudar os usuários a monitorar seu bem-estar emocional ao longo do tempo, proporcionando uma plataforma para que eles possam registrar suas emoções, reflexões e experiências diárias.

A funcionalidade seria útil porque incentiva os usuários a refletirem sobre suas emoções, promovendo o autoconhecimento e ajudando-os a compreender melhor seus sentimentos. Com a identificação dos padrões de sentimentos e comportamentos, pode atuar como uma ferramenta preventiva ao sugerir ações quando detectar sinais de alerta. Além disso, o sistema ofereceria recomendações personalizadas, como meditações ou conteúdos educativos, aumentando a relevância do aplicativo e proporcionando suporte emocional imediato.

A implementação consistiria em uma interface em que os usuários podem registrar suas reflexões diárias, com o LLM processando esses textos em segundo plano. O sistema usaria o modelo de análise de sentimentos para categorizar as emoções e fornecer respostas e recomendações personalizadas. Além disso, seriam gerados relatórios de bem-estar com gráficos baseados nas emoções registradas, oferecendo uma visão geral do estado emocional ao longo do tempo.

4. Geração de respostas personalizadas (BÔNUS) 📨

Foi utilizado o mesmo endpoint para retornar as respostas personalizadas, pois acredito que faz sentido ter a resposta assim que o feedback é inserido e no mesmo lugar.

Também foi levado em consideração que retornar as informações que foram extraídas no feedback não fosse interessante, dado que podem ser acessadas através do banco de dados.

Para a implementação da funcionalidade foi feita uma abordagem similar às demais, fazendo requisições ao modelo e usando técnicas de Engenharia de Prompt.

Sobre... 👩🏻‍💻


Crisley Marques ✨

Desenvolvido por mim 👩🏻‍💻 Entre em contato!

Linkedin Badge Gmail Badge

About

AluMind fornece aplicativo focado em bem-estar e saúde mental. Os Feedbacks vindo dos usuários em diferentes plataformas são analisados com LLM, classificados por sentimento e são extraídas possíveis sugestões, resultando em uma resposta personalizada ao feedback do cliente.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages