Update app.py
Browse files
app.py
CHANGED
|
@@ -16,7 +16,7 @@ from datetime import datetime
|
|
| 16 |
from ratelimiter import RateLimiter
|
| 17 |
import difflib
|
| 18 |
from html import escape
|
| 19 |
-
import random
|
| 20 |
|
| 21 |
load_dotenv()
|
| 22 |
|
|
@@ -304,7 +304,7 @@ def chamar_api(prompt):
|
|
| 304 |
def corrigir_peticao(caso, peticao_texto=None, peticao_arquivo=None, modo_treinamento=False):
|
| 305 |
if not caso.strip():
|
| 306 |
return "⚠️ Forneça o caso da banca."
|
| 307 |
-
|
| 308 |
# Verifica se há tentativa de pedir para a IA escrever a petição
|
| 309 |
troll_triggers = [
|
| 310 |
"escreva a petição", "faça a petição", "redija a petição",
|
|
@@ -320,7 +320,7 @@ def corrigir_peticao(caso, peticao_texto=None, peticao_arquivo=None, modo_treina
|
|
| 320 |
return peticao_conteudo
|
| 321 |
else:
|
| 322 |
peticao_conteudo = peticao_texto or ""
|
| 323 |
-
|
| 324 |
# Verifica se o conteúdo contém um trigger de trollagem
|
| 325 |
if peticao_conteudo.strip():
|
| 326 |
for trigger in troll_triggers:
|
|
@@ -357,10 +357,10 @@ def corrigir_peticao(caso, peticao_texto=None, peticao_arquivo=None, modo_treina
|
|
| 357 |
"🎬 **Trailer de Filme**: 'Em breve nos cinemas: A Petição Impossível. Escrita e dirigida por você!'",
|
| 358 |
"🎮 **Nível Bônus**: 'Desbloqueie o nível bônus: escreva a petição sem ajuda e ganhe experiência!'",
|
| 359 |
"🎧 **Música de Elevador**: 'Enquanto você escreve, eu toco uma música relaxante. Boa sorte!'"
|
| 360 |
-
|
| 361 |
]
|
| 362 |
return random.choice(respostas_troll)
|
| 363 |
-
|
| 364 |
if not peticao_conteudo.strip():
|
| 365 |
return "⚠️ Forneça uma petição."
|
| 366 |
|
|
@@ -386,7 +386,7 @@ def corrigir_peticao(caso, peticao_texto=None, peticao_arquivo=None, modo_treina
|
|
| 386 |
|
| 387 |
correcao_completa = analise + "\n\n" + peticao_corrigida
|
| 388 |
HISTORICO.append({
|
| 389 |
-
"data": datetime.now().strftime("%Y-%m-%d %H:%
|
| 390 |
"caso": caso,
|
| 391 |
"peticao": peticao_conteudo,
|
| 392 |
"correcao_completa": correcao_completa
|
|
@@ -584,6 +584,9 @@ def interface_gradio():
|
|
| 584 |
with gr.Row():
|
| 585 |
clear_btn = gr.Button("🗑️ Limpar Todos os Campos")
|
| 586 |
comparar_btn = gr.Button("⚖️ Comparar com Correção")
|
|
|
|
|
|
|
|
|
|
| 587 |
|
| 588 |
resultado_output = gr.Markdown(label="📊 Correção Oficial e Nota", show_copy_button=True)
|
| 589 |
|
|
@@ -646,6 +649,16 @@ def interface_gradio():
|
|
| 646 |
outputs=[peticao_aluno_output, peticao_corrigida_output, resumo_alteracoes_output, criticas_output,
|
| 647 |
visualizacao_detalhada_output]
|
| 648 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 649 |
|
| 650 |
with gr.Accordion("📘 Critérios Detalhados", open=False):
|
| 651 |
gr.Markdown("""
|
|
@@ -713,4 +726,4 @@ def validar_peticao_basica(peticao):
|
|
| 713 |
return problemas
|
| 714 |
|
| 715 |
app = interface_gradio()
|
| 716 |
-
app.launch()
|
|
|
|
| 16 |
from ratelimiter import RateLimiter
|
| 17 |
import difflib
|
| 18 |
from html import escape
|
| 19 |
+
import random
|
| 20 |
|
| 21 |
load_dotenv()
|
| 22 |
|
|
|
|
| 304 |
def corrigir_peticao(caso, peticao_texto=None, peticao_arquivo=None, modo_treinamento=False):
|
| 305 |
if not caso.strip():
|
| 306 |
return "⚠️ Forneça o caso da banca."
|
| 307 |
+
|
| 308 |
# Verifica se há tentativa de pedir para a IA escrever a petição
|
| 309 |
troll_triggers = [
|
| 310 |
"escreva a petição", "faça a petição", "redija a petição",
|
|
|
|
| 320 |
return peticao_conteudo
|
| 321 |
else:
|
| 322 |
peticao_conteudo = peticao_texto or ""
|
| 323 |
+
|
| 324 |
# Verifica se o conteúdo contém um trigger de trollagem
|
| 325 |
if peticao_conteudo.strip():
|
| 326 |
for trigger in troll_triggers:
|
|
|
|
| 357 |
"🎬 **Trailer de Filme**: 'Em breve nos cinemas: A Petição Impossível. Escrita e dirigida por você!'",
|
| 358 |
"🎮 **Nível Bônus**: 'Desbloqueie o nível bônus: escreva a petição sem ajuda e ganhe experiência!'",
|
| 359 |
"🎧 **Música de Elevador**: 'Enquanto você escreve, eu toco uma música relaxante. Boa sorte!'"
|
| 360 |
+
|
| 361 |
]
|
| 362 |
return random.choice(respostas_troll)
|
| 363 |
+
|
| 364 |
if not peticao_conteudo.strip():
|
| 365 |
return "⚠️ Forneça uma petição."
|
| 366 |
|
|
|
|
| 386 |
|
| 387 |
correcao_completa = analise + "\n\n" + peticao_corrigida
|
| 388 |
HISTORICO.append({
|
| 389 |
+
"data": datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
|
| 390 |
"caso": caso,
|
| 391 |
"peticao": peticao_conteudo,
|
| 392 |
"correcao_completa": correcao_completa
|
|
|
|
| 584 |
with gr.Row():
|
| 585 |
clear_btn = gr.Button("🗑️ Limpar Todos os Campos")
|
| 586 |
comparar_btn = gr.Button("⚖️ Comparar com Correção")
|
| 587 |
+
salvar_btn = gr.Button("💾 Salvar Progresso")
|
| 588 |
+
carregar_btn = gr.Button("📂 Carregar Progresso")
|
| 589 |
+
arquivo_progresso = gr.File(label="Arquivo de Progresso", file_types=[".json"])
|
| 590 |
|
| 591 |
resultado_output = gr.Markdown(label="📊 Correção Oficial e Nota", show_copy_button=True)
|
| 592 |
|
|
|
|
| 649 |
outputs=[peticao_aluno_output, peticao_corrigida_output, resumo_alteracoes_output, criticas_output,
|
| 650 |
visualizacao_detalhada_output]
|
| 651 |
)
|
| 652 |
+
salvar_btn.click(
|
| 653 |
+
fn=lambda: salvar_progresso(HISTORICO, "progresso.json"),
|
| 654 |
+
inputs=None,
|
| 655 |
+
outputs=resultado_output
|
| 656 |
+
)
|
| 657 |
+
carregar_btn.click(
|
| 658 |
+
fn=lambda arquivo: carregar_progresso(arquivo.name),
|
| 659 |
+
inputs=[arquivo_progresso],
|
| 660 |
+
outputs=[resultado_output, historico_output]
|
| 661 |
+
)
|
| 662 |
|
| 663 |
with gr.Accordion("📘 Critérios Detalhados", open=False):
|
| 664 |
gr.Markdown("""
|
|
|
|
| 726 |
return problemas
|
| 727 |
|
| 728 |
app = interface_gradio()
|
| 729 |
+
app.launch()
|