import gradio as gr from transformers import pipeline # Perguntas sequenciais sobre liderança LEADERSHIP_QUESTIONS = [ "Como você lida com conflitos entre membros da sua equipe?", "Qual foi a decisão mais difícil que você já tomou como líder e o que aprendeu com ela?", "Como você mantém sua equipe motivada durante períodos desafiadores?", "De que forma você promove o desenvolvimento profissional da sua equipe?", "Como você equilibra as necessidades individuais com os objetivos organizacionais?", "Como você lida com resistência a mudanças na sua equipe?", "Qual é sua abordagem para dar feedback construtivo?", "Como você desenvolve a autonomia dos membros da sua equipe?" ] # Temas e aspectos específicos para cada pergunta QUESTION_THEMES = { 0: { "tema": "gestão de conflitos", "aspectos_chave": ["mediação", "comunicação", "imparcialidade", "resolução"], "competencias": ["escuta ativa", "negociação", "empatia"] }, 1: { "tema": "tomada de decisão", "aspectos_chave": ["análise", "impacto", "consequências", "aprendizado"], "competencias": ["pensamento crítico", "responsabilidade", "coragem"] }, 2: { "tema": "motivação de equipe", "aspectos_chave": ["engajamento", "reconhecimento", "desafios", "resiliência"], "competencias": ["inspiração", "comunicação", "empatia"] }, 3: { "tema": "desenvolvimento profissional", "aspectos_chave": ["crescimento", "mentoria", "feedback", "aprendizado"], "competencias": ["coaching", "visão estratégica", "desenvolvimento"] }, 4: { "tema": "equilíbrio organizacional", "aspectos_chave": ["priorização", "bem-estar", "resultados", "alinhamento"], "competencias": ["gestão", "estratégia", "empatia"] }, 5: { "tema": "gestão de mudanças", "aspectos_chave": ["adaptação", "comunicação", "resistência", "transformação"], "competencias": ["influência", "resiliência", "visão"] }, 6: { "tema": "feedback construtivo", "aspectos_chave": ["desenvolvimento", "comunicação", "melhoria", "orientação"], "competencias": ["comunicação assertiva", "empatia", "clareza"] }, 7: { "tema": "empoderamento", "aspectos_chave": ["delegação", "confiança", "desenvolvimento", "autonomia"], "competencias": ["mentoria", "confiança", "desenvolvimento"] } } class LeadershipMentor: def __init__(self): print("Inicializando modelo de reflexão...") self.reflection_model = pipeline( "text-generation", model="pierreguillou/gpt2-small-portuguese", max_length=300 ) self.current_question = 0 def analyze_response(self, answer, theme_data): """Analisa a resposta com base nos aspectos chave do tema""" aspects_mentioned = [] competencies_shown = [] # Verificar aspectos mencionados for aspect in theme_data["aspectos_chave"]: if aspect.lower() in answer.lower(): aspects_mentioned.append(aspect) # Verificar competências demonstradas for comp in theme_data["competencias"]: if comp.lower() in answer.lower(): competencies_shown.append(comp) return aspects_mentioned, competencies_shown def generate_contextual_reflection(self, question, answer, theme_data): """Gera uma reflexão contextualizada baseada na análise da resposta""" aspects_mentioned, competencies_shown = self.analyze_response(answer, theme_data) reflection_prompt = f""" Análise de resposta sobre {theme_data['tema']} na liderança. Pergunta: {question} Resposta do líder: {answer} Aspectos identificados: {', '.join(aspects_mentioned) if aspects_mentioned else 'nenhum específico'} Competências demonstradas: {', '.join(competencies_shown) if competencies_shown else 'nenhuma específica'} Gere uma reflexão personalizada considerando: 1. Pontos fortes específicos da resposta 2. Como as competências identificadas se aplicam na prática 3. Sugestões concretas para desenvolvimento 4. Conexão com outros aspectos da liderança Reflexão:""" reflection = self.reflection_model( reflection_prompt, max_length=300, num_return_sequences=1, temperature=0.8, top_p=0.9 )[0]['generated_text'] # Formatar reflexão final formatted_reflection = f"""📊 Análise de Liderança - {theme_data['tema'].title()} 🔍 Aspectos Abordados: {', '.join(aspects_mentioned) if aspects_mentioned else '- Oportunidade para abordar aspectos específicos'} 💡 Competências Demonstradas: {', '.join(competencies_shown) if competencies_shown else '- Oportunidade para desenvolver competências específicas'} 🤔 Reflexão: {reflection.split('Reflexão:')[-1].strip()} """ return formatted_reflection def process_interaction(self, answer, history): if not answer: return "", history current_question = LEADERSHIP_QUESTIONS[self.current_question] theme_data = QUESTION_THEMES[self.current_question] # Gerar reflexão contextualizada reflection = self.generate_contextual_reflection( current_question, answer, theme_data ) # Atualizar histórico new_history = history + [ (current_question, answer), ("Reflexão:", reflection) ] # Avançar para próxima pergunta self.current_question += 1 if self.current_question < len(LEADERSHIP_QUESTIONS): next_question = LEADERSHIP_QUESTIONS[self.current_question] new_history.append(("📝 Próxima pergunta:", next_question)) else: new_history.append(("✨ Sessão concluída!", """ Parabéns por completar sua sessão de desenvolvimento de liderança! Revise as reflexões fornecidas para continuar seu desenvolvimento. """)) return "", new_history def create_interface(): mentor = LeadershipMentor() with gr.Blocks(title="Mentor de Liderança AI") as demo: gr.Markdown(""" # 🎯 Mentor de Liderança AI Desenvolvimento personalizado de liderança com: - Perguntas focadas em aspectos críticos - Análise contextualizada de respostas - Reflexões específicas e acionáveis """) chatbot = gr.Chatbot(height=600, label="Sessão de Mentoria") msg = gr.Textbox( label="Sua Resposta", placeholder="Compartilhe sua experiência e abordagem detalhada...", lines=3 ) with gr.Row(): submit = gr.Button("Enviar Resposta") clear = gr.Button("Reiniciar Sessão") # Iniciar com primeira pergunta chatbot.value = [("📝 Primeira pergunta:", LEADERSHIP_QUESTIONS[0])] submit.click( mentor.process_interaction, inputs=[msg, chatbot], outputs=[msg, chatbot] ) def reset_session(): mentor.current_question = 0 return "", [(f"📝 Primeira pergunta:", LEADERSHIP_QUESTIONS[0])] clear.click( reset_session, outputs=[msg, chatbot] ) return demo if __name__ == "__main__": print("Iniciando sistema de mentoria...") demo = create_interface() demo.launch(share=True)