Spaces:
Sleeping
Sleeping
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?" | |
] | |
class LeadershipMentor: | |
def __init__(self): | |
print("Inicializando modelo de reflexão...") | |
# Modelo para análise e reflexão sobre respostas | |
self.reflection_model = pipeline( | |
"text-generation", | |
model="pierreguillou/gpt2-small-portuguese", | |
max_length=200 | |
) | |
self.current_question = 0 | |
def generate_reflection(self, question, answer): | |
"""Gera uma reflexão sobre a resposta do usuário""" | |
reflection_prompt = f""" | |
Analise esta resposta sobre liderança e forneça feedback construtivo: | |
Pergunta: {question} | |
Resposta: {answer} | |
Considere: | |
1. Pontos fortes demonstrados | |
2. Oportunidades de desenvolvimento | |
3. Sugestões práticas específicas | |
Reflexão:""" | |
reflection = self.reflection_model( | |
reflection_prompt, | |
max_length=200, | |
num_return_sequences=1, | |
temperature=0.7 | |
)[0]['generated_text'] | |
return reflection.split("Reflexão:")[-1].strip() | |
def process_interaction(self, answer, history): | |
"""Processa a resposta do usuário e avança para próxima pergunta""" | |
if not answer: | |
return "", history | |
current_question = LEADERSHIP_QUESTIONS[self.current_question] | |
# Gerar reflexão sobre a resposta | |
reflection = self.generate_reflection(current_question, answer) | |
# Atualizar histórico | |
new_history = history + [ | |
(current_question, answer), | |
("🤔 Reflexão:", reflection) | |
] | |
# Avançar para próxima pergunta | |
self.current_question += 1 | |
# Verificar se ainda há perguntas | |
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 todas as perguntas! | |
Suas respostas demonstram reflexão sobre diferentes aspectos da liderança. | |
Continue desenvolvendo suas habilidades com base nas reflexões fornecidas. | |
""")) | |
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 | |
Sistema interativo para desenvolvimento de habilidades de liderança: | |
- Responda a perguntas sequenciais sobre diferentes aspectos da liderança | |
- Receba reflexões personalizadas sobre suas respostas | |
- Desenvolva seu estilo de liderança através do autoconhecimento | |
""") | |
chatbot = gr.Chatbot( | |
height=600, | |
label="Sessão de Mentoria" | |
) | |
msg = gr.Textbox( | |
label="Sua Resposta", | |
placeholder="Digite sua resposta detalhada aqui...", | |
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) |