Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -64,7 +64,7 @@ def pesquisar_videos_youtube(consulta, num_resultados=5):
|
|
| 64 |
|
| 65 |
######### YOUTUBE FIM #########
|
| 66 |
|
| 67 |
-
#########
|
| 68 |
|
| 69 |
deepseek_api_key = os.getenv("DEEPSEEK_API_KEY")
|
| 70 |
|
|
@@ -82,14 +82,9 @@ def processar_topicos(topicos_str):
|
|
| 82 |
def executar_equipe_interface(disciplina, assunto, topicos_str, horas, dias):
|
| 83 |
|
| 84 |
topicos = processar_topicos(topicos_str)
|
| 85 |
-
|
| 86 |
solicitacao = f"Disciplina: {disciplina}\nAssunto: {assunto}\nTópicos: {topicos}\n"
|
| 87 |
-
|
| 88 |
-
yield "Buscando vídeos no YouTube...", gr.update(value=10)
|
| 89 |
entradaYoutube = pesquisar_videos_youtube(solicitacao)
|
| 90 |
-
|
| 91 |
-
# Motivação
|
| 92 |
-
yield "Criando mensagem motivacional...", gr.update(value=30)
|
| 93 |
agentMotivador = Agent(
|
| 94 |
role='Motivador',
|
| 95 |
goal='Escrever uma mensagem motivacional para o estudante.',
|
|
@@ -97,6 +92,7 @@ def executar_equipe_interface(disciplina, assunto, topicos_str, horas, dias):
|
|
| 97 |
llm=modelo,
|
| 98 |
verbose=False
|
| 99 |
)
|
|
|
|
| 100 |
taskMotivador = Task(
|
| 101 |
description = (
|
| 102 |
"Escreva uma mensagem motivacional para o estudante, formatada em Markdown.\n\n"
|
|
@@ -110,10 +106,9 @@ def executar_equipe_interface(disciplina, assunto, topicos_str, horas, dias):
|
|
| 110 |
agent=agentMotivador,
|
| 111 |
expected_output='Mensagem motivacional em markdown.'
|
| 112 |
)
|
|
|
|
| 113 |
saidaMotivador = agentMotivador.execute_task(taskMotivador)
|
| 114 |
|
| 115 |
-
# Guia de Estudos
|
| 116 |
-
yield "Gerando guia de estudos...", gr.update(value=50)
|
| 117 |
agentGuia = Agent(
|
| 118 |
role="Especialista em Guia de Estudos",
|
| 119 |
goal="Criar um guia de estudos estruturado, explicativo e didático sobre um determinado assunto.",
|
|
@@ -121,6 +116,7 @@ def executar_equipe_interface(disciplina, assunto, topicos_str, horas, dias):
|
|
| 121 |
llm=modelo,
|
| 122 |
verbose=False
|
| 123 |
)
|
|
|
|
| 124 |
taskGuia = Task(
|
| 125 |
description = (
|
| 126 |
f"Crie um Guia de Estudos para {disciplina}, abordando {assunto} e os tópicos {topicos}. "
|
|
@@ -145,10 +141,9 @@ def executar_equipe_interface(disciplina, assunto, topicos_str, horas, dias):
|
|
| 145 |
agent=agentGuia,
|
| 146 |
expected_output='Guia de estudos em markdown'
|
| 147 |
)
|
|
|
|
| 148 |
saidaGuia = agentGuia.execute_task(taskGuia)
|
| 149 |
|
| 150 |
-
# Plano de Estudos
|
| 151 |
-
yield "Criando plano de estudos...", gr.update(value=70)
|
| 152 |
agentPlano = Agent(
|
| 153 |
role="Especialista em Plano de Estudos",
|
| 154 |
goal="Criar um plano de estudos eficiente para que o aluno aprenda de maneira organizada.",
|
|
@@ -189,10 +184,9 @@ def executar_equipe_interface(disciplina, assunto, topicos_str, horas, dias):
|
|
| 189 |
agent=agentPlano,
|
| 190 |
expected_output='Plano de estudos estruturado em markdown'
|
| 191 |
)
|
|
|
|
| 192 |
saidaPlano = agentPlano.execute_task(taskPlano)
|
| 193 |
|
| 194 |
-
# Curadoria de Vídeos
|
| 195 |
-
yield "Organizando vídeos do YouTube...", gr.update(value=90)
|
| 196 |
agentYoutube = Agent(
|
| 197 |
role='Especialista em Curadoria de Vídeos Educacionais',
|
| 198 |
goal='Organizar e formatar vídeos educacionais encontrados no YouTube para aprendizado eficiente.',
|
|
@@ -200,6 +194,7 @@ def executar_equipe_interface(disciplina, assunto, topicos_str, horas, dias):
|
|
| 200 |
llm=modelo,
|
| 201 |
verbose=False
|
| 202 |
)
|
|
|
|
| 203 |
taskYoutube = Task(
|
| 204 |
description = (
|
| 205 |
f"Lista do Youtube: {entradaYoutube} "
|
|
@@ -219,37 +214,42 @@ def executar_equipe_interface(disciplina, assunto, topicos_str, horas, dias):
|
|
| 219 |
agent=agentYoutube,
|
| 220 |
expected_output="Lista de vídeos organizados em Markdown."
|
| 221 |
)
|
|
|
|
| 222 |
saidaYoutube = agentYoutube.execute_task(taskYoutube)
|
| 223 |
|
| 224 |
-
|
|
|
|
|
|
|
|
|
|
| 225 |
|
| 226 |
-
|
| 227 |
-
# 🎯 Motivação
|
| 228 |
-
{saidaMotivador}
|
| 229 |
|
| 230 |
---
|
| 231 |
|
| 232 |
-
# 📖 Guia de Estudos
|
| 233 |
-
|
|
|
|
| 234 |
|
| 235 |
---
|
| 236 |
|
| 237 |
-
# 📅 Plano de Estudos
|
| 238 |
-
|
|
|
|
| 239 |
|
| 240 |
---
|
| 241 |
|
| 242 |
-
# 🎥 Vídeos Educacionais
|
| 243 |
-
|
| 244 |
-
|
|
|
|
| 245 |
|
| 246 |
-
|
| 247 |
|
| 248 |
-
#########
|
| 249 |
|
| 250 |
with gr.Blocks() as demo:
|
| 251 |
gr.Markdown("# 📚 Gerador de Material de Estudos")
|
| 252 |
-
gr.Markdown("##
|
| 253 |
with gr.Row():
|
| 254 |
with gr.Column():
|
| 255 |
disciplina = gr.Textbox(label="Disciplina", value="Matemática")
|
|
@@ -258,12 +258,11 @@ with gr.Blocks() as demo:
|
|
| 258 |
horas = gr.Textbox(label="Tempo diário", value="2 horas")
|
| 259 |
dias = gr.Textbox(label="Quantos dias", value="5 dias")
|
| 260 |
gerar_button = gr.Button("Gerar Material")
|
| 261 |
-
progress = gr.Slider(minimum=0, maximum=100, step=1, value=0, label="Progresso", interactive=False)
|
| 262 |
with gr.Column():
|
| 263 |
resultado = gr.Markdown(label="Material Completo (Markdown)")
|
| 264 |
|
| 265 |
gerar_button.click(fn=executar_equipe_interface,
|
| 266 |
inputs=[disciplina, assunto, topicos_str, horas, dias],
|
| 267 |
-
outputs=[resultado
|
| 268 |
|
| 269 |
demo.launch()
|
|
|
|
| 64 |
|
| 65 |
######### YOUTUBE FIM #########
|
| 66 |
|
| 67 |
+
######### CREWAAI INICIO #########
|
| 68 |
|
| 69 |
deepseek_api_key = os.getenv("DEEPSEEK_API_KEY")
|
| 70 |
|
|
|
|
| 82 |
def executar_equipe_interface(disciplina, assunto, topicos_str, horas, dias):
|
| 83 |
|
| 84 |
topicos = processar_topicos(topicos_str)
|
|
|
|
| 85 |
solicitacao = f"Disciplina: {disciplina}\nAssunto: {assunto}\nTópicos: {topicos}\n"
|
|
|
|
|
|
|
| 86 |
entradaYoutube = pesquisar_videos_youtube(solicitacao)
|
| 87 |
+
|
|
|
|
|
|
|
| 88 |
agentMotivador = Agent(
|
| 89 |
role='Motivador',
|
| 90 |
goal='Escrever uma mensagem motivacional para o estudante.',
|
|
|
|
| 92 |
llm=modelo,
|
| 93 |
verbose=False
|
| 94 |
)
|
| 95 |
+
|
| 96 |
taskMotivador = Task(
|
| 97 |
description = (
|
| 98 |
"Escreva uma mensagem motivacional para o estudante, formatada em Markdown.\n\n"
|
|
|
|
| 106 |
agent=agentMotivador,
|
| 107 |
expected_output='Mensagem motivacional em markdown.'
|
| 108 |
)
|
| 109 |
+
|
| 110 |
saidaMotivador = agentMotivador.execute_task(taskMotivador)
|
| 111 |
|
|
|
|
|
|
|
| 112 |
agentGuia = Agent(
|
| 113 |
role="Especialista em Guia de Estudos",
|
| 114 |
goal="Criar um guia de estudos estruturado, explicativo e didático sobre um determinado assunto.",
|
|
|
|
| 116 |
llm=modelo,
|
| 117 |
verbose=False
|
| 118 |
)
|
| 119 |
+
|
| 120 |
taskGuia = Task(
|
| 121 |
description = (
|
| 122 |
f"Crie um Guia de Estudos para {disciplina}, abordando {assunto} e os tópicos {topicos}. "
|
|
|
|
| 141 |
agent=agentGuia,
|
| 142 |
expected_output='Guia de estudos em markdown'
|
| 143 |
)
|
| 144 |
+
|
| 145 |
saidaGuia = agentGuia.execute_task(taskGuia)
|
| 146 |
|
|
|
|
|
|
|
| 147 |
agentPlano = Agent(
|
| 148 |
role="Especialista em Plano de Estudos",
|
| 149 |
goal="Criar um plano de estudos eficiente para que o aluno aprenda de maneira organizada.",
|
|
|
|
| 184 |
agent=agentPlano,
|
| 185 |
expected_output='Plano de estudos estruturado em markdown'
|
| 186 |
)
|
| 187 |
+
|
| 188 |
saidaPlano = agentPlano.execute_task(taskPlano)
|
| 189 |
|
|
|
|
|
|
|
| 190 |
agentYoutube = Agent(
|
| 191 |
role='Especialista em Curadoria de Vídeos Educacionais',
|
| 192 |
goal='Organizar e formatar vídeos educacionais encontrados no YouTube para aprendizado eficiente.',
|
|
|
|
| 194 |
llm=modelo,
|
| 195 |
verbose=False
|
| 196 |
)
|
| 197 |
+
|
| 198 |
taskYoutube = Task(
|
| 199 |
description = (
|
| 200 |
f"Lista do Youtube: {entradaYoutube} "
|
|
|
|
| 214 |
agent=agentYoutube,
|
| 215 |
expected_output="Lista de vídeos organizados em Markdown."
|
| 216 |
)
|
| 217 |
+
|
| 218 |
saidaYoutube = agentYoutube.execute_task(taskYoutube)
|
| 219 |
|
| 220 |
+
saidaCompleta = """
|
| 221 |
+
# Material de estudo
|
| 222 |
+
|
| 223 |
+
## 🎯 Motivação
|
| 224 |
|
| 225 |
+
{}
|
|
|
|
|
|
|
| 226 |
|
| 227 |
---
|
| 228 |
|
| 229 |
+
## 📖 Guia de Estudos
|
| 230 |
+
|
| 231 |
+
{}
|
| 232 |
|
| 233 |
---
|
| 234 |
|
| 235 |
+
## 📅 Plano de Estudos
|
| 236 |
+
|
| 237 |
+
{}
|
| 238 |
|
| 239 |
---
|
| 240 |
|
| 241 |
+
## 🎥 Vídeos Educacionais
|
| 242 |
+
|
| 243 |
+
{}
|
| 244 |
+
""".format(saidaMotivador, saidaGuia, saidaPlano, saidaYoutube)
|
| 245 |
|
| 246 |
+
return saidaCompleta
|
| 247 |
|
| 248 |
+
######### CREWAAI FIM #########
|
| 249 |
|
| 250 |
with gr.Blocks() as demo:
|
| 251 |
gr.Markdown("# 📚 Gerador de Material de Estudos")
|
| 252 |
+
gr.Markdown("## Pequeno ajuste no original do [Kleber Galvão](https://huggingface.co/spaces/GalvaoFilho/KMData) ")
|
| 253 |
with gr.Row():
|
| 254 |
with gr.Column():
|
| 255 |
disciplina = gr.Textbox(label="Disciplina", value="Matemática")
|
|
|
|
| 258 |
horas = gr.Textbox(label="Tempo diário", value="2 horas")
|
| 259 |
dias = gr.Textbox(label="Quantos dias", value="5 dias")
|
| 260 |
gerar_button = gr.Button("Gerar Material")
|
|
|
|
| 261 |
with gr.Column():
|
| 262 |
resultado = gr.Markdown(label="Material Completo (Markdown)")
|
| 263 |
|
| 264 |
gerar_button.click(fn=executar_equipe_interface,
|
| 265 |
inputs=[disciplina, assunto, topicos_str, horas, dias],
|
| 266 |
+
outputs=[resultado])
|
| 267 |
|
| 268 |
demo.launch()
|