InspiraLead / app.py
DHEIVER's picture
Update app.py
b813ed6 verified
raw
history blame
4.74 kB
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)