Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -138,6 +138,7 @@ class RevisorIA:
|
|
| 138 |
def revisar_texto(self, texto: str) -> Optional[RevisaoInteligente]:
|
| 139 |
prompt = (
|
| 140 |
"Você é um Professor Revisor de TCCs de Direito da UNIFAGOC. "
|
|
|
|
| 141 |
"Analise o texto e corrija: ORTOGRAFIA, GRAMÁTICA, VÍCIOS JURÍDICOS, COERÊNCIA, ABNT. "
|
| 142 |
f"Texto: {texto}"
|
| 143 |
)
|
|
@@ -160,6 +161,7 @@ class RevisorIA:
|
|
| 160 |
refs_str = '\n'.join(referencias)
|
| 161 |
prompt = (
|
| 162 |
"Analise as referências abaixo **APENAS PARA IDENTIFICAR ERROS** (NÃO reescreva, NÃO invente dados!).\n"
|
|
|
|
| 163 |
"Para cada uma, retorne:\n"
|
| 164 |
"- original: texto original\n"
|
| 165 |
"- erros: lista de erros (ex: [\"título não em negrito\", \"autor não invertido\"])\n\n"
|
|
@@ -185,6 +187,8 @@ class RevisorIA:
|
|
| 185 |
Você é um Inspetor Acadêmico Implacável de TCCs de Direito da UNIFAGOC.
|
| 186 |
Sua missão não é reescrever o texto, mas gerar um laudo diagnóstico rigoroso apontando os erros.
|
| 187 |
|
|
|
|
|
|
|
| 188 |
Para evitar estourar o limite, foque nos 5 piores erros de cada categoria.
|
| 189 |
|
| 190 |
Analise o texto abaixo e preencha o relatório:
|
|
@@ -797,10 +801,20 @@ with aba_revisao:
|
|
| 797 |
for prob in revisao.problemas_academicos:
|
| 798 |
st.error(f"**[{prob.gravidade.upper()}] {prob.problema}**\n\nTrecho: '{prob.trecho}'\n\nSugestão: {prob.sugestao}")
|
| 799 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 800 |
st.session_state.doc_revisado_bytes = formatador.docx_to_bytes(doc_rev)
|
| 801 |
st.session_state.nome_arq_rev = arq_rev.name.replace('.docx', '') + "_Revisado.docx"
|
| 802 |
status.update(
|
| 803 |
-
label=f"✅ Revisão concluída: {len(revisao.correcoes)} correções, {len(revisao.termos_estrangeiros_para_italico)} itálicos.",
|
| 804 |
state="complete",
|
| 805 |
expanded=False
|
| 806 |
)
|
|
@@ -890,6 +904,7 @@ with aba_feedback:
|
|
| 890 |
texto = formatador.extrair_texto_docx(arq_feedback)
|
| 891 |
prompt_fb = (
|
| 892 |
"Analise o TCC: ESTRUTURA, CITAÇÕES, PONTOS FORTES/ATENÇÃO, FORMAÇÃO. "
|
|
|
|
| 893 |
f"Texto: {texto}"
|
| 894 |
)
|
| 895 |
try:
|
|
|
|
| 138 |
def revisar_texto(self, texto: str) -> Optional[RevisaoInteligente]:
|
| 139 |
prompt = (
|
| 140 |
"Você é um Professor Revisor de TCCs de Direito da UNIFAGOC. "
|
| 141 |
+
"IMPORTANTE: O ano atual é maio de 2026. Não aponte citações ou referências de 2024, 2025 ou 2026 como sendo do futuro. "
|
| 142 |
"Analise o texto e corrija: ORTOGRAFIA, GRAMÁTICA, VÍCIOS JURÍDICOS, COERÊNCIA, ABNT. "
|
| 143 |
f"Texto: {texto}"
|
| 144 |
)
|
|
|
|
| 161 |
refs_str = '\n'.join(referencias)
|
| 162 |
prompt = (
|
| 163 |
"Analise as referências abaixo **APENAS PARA IDENTIFICAR ERROS** (NÃO reescreva, NÃO invente dados!).\n"
|
| 164 |
+
"IMPORTANTE: Estamos em maio de 2026. Obras de 2024, 2025 e 2026 estão perfeitamente válidas e não são obras do futuro.\n"
|
| 165 |
"Para cada uma, retorne:\n"
|
| 166 |
"- original: texto original\n"
|
| 167 |
"- erros: lista de erros (ex: [\"título não em negrito\", \"autor não invertido\"])\n\n"
|
|
|
|
| 187 |
Você é um Inspetor Acadêmico Implacável de TCCs de Direito da UNIFAGOC.
|
| 188 |
Sua missão não é reescrever o texto, mas gerar um laudo diagnóstico rigoroso apontando os erros.
|
| 189 |
|
| 190 |
+
IMPORTANTE: O ano atual é maio de 2026. Nunca afirme que referências ou dados de 2024 a 2026 são do futuro.
|
| 191 |
+
|
| 192 |
Para evitar estourar o limite, foque nos 5 piores erros de cada categoria.
|
| 193 |
|
| 194 |
Analise o texto abaixo e preencha o relatório:
|
|
|
|
| 801 |
for prob in revisao.problemas_academicos:
|
| 802 |
st.error(f"**[{prob.gravidade.upper()}] {prob.problema}**\n\nTrecho: '{prob.trecho}'\n\nSugestão: {prob.sugestao}")
|
| 803 |
|
| 804 |
+
# --- NOVO BLOCO: Mostrando as alterações realizadas no texto ---
|
| 805 |
+
if revisao.correcoes:
|
| 806 |
+
st.subheader("📝 Registro de Alterações Automáticas")
|
| 807 |
+
with st.expander("Ver detalhes das correções aplicadas ao texto"):
|
| 808 |
+
for c in revisao.correcoes:
|
| 809 |
+
st.markdown(f"❌ **Original:** `{c.original}`")
|
| 810 |
+
st.markdown(f"✅ **Corrigido:** `{c.corrigido}`")
|
| 811 |
+
st.caption(f"💡 *Motivo:* {c.motivo} | *Categoria:* {c.categoria}")
|
| 812 |
+
st.divider()
|
| 813 |
+
|
| 814 |
st.session_state.doc_revisado_bytes = formatador.docx_to_bytes(doc_rev)
|
| 815 |
st.session_state.nome_arq_rev = arq_rev.name.replace('.docx', '') + "_Revisado.docx"
|
| 816 |
status.update(
|
| 817 |
+
label=f"✅ Revisão concluída: {len(revisao.correcoes)} correções automáticas registradas, {len(revisao.termos_estrangeiros_para_italico)} itálicos.",
|
| 818 |
state="complete",
|
| 819 |
expanded=False
|
| 820 |
)
|
|
|
|
| 904 |
texto = formatador.extrair_texto_docx(arq_feedback)
|
| 905 |
prompt_fb = (
|
| 906 |
"Analise o TCC: ESTRUTURA, CITAÇÕES, PONTOS FORTES/ATENÇÃO, FORMAÇÃO. "
|
| 907 |
+
"ATENÇÃO: Estamos em maio de 2026. Publicações de 2024, 2025 ou 2026 estão no prazo e NÃO pertencem ao futuro. "
|
| 908 |
f"Texto: {texto}"
|
| 909 |
)
|
| 910 |
try:
|