Spaces:
Build error
Build error
| 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) |