GabrielGD commited on
Commit
fdcb8cf
·
verified ·
1 Parent(s): 3c97853

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -3
app.py CHANGED
@@ -32,7 +32,7 @@ CONFIG = {
32
  "retry_delay": 5,
33
  "timeout": 60,
34
  "temperatura": 0.2,
35
- "max_tokens": 4096
36
  }
37
 
38
  rate_limiter = RateLimiter(max_calls=60, period=60)
@@ -284,7 +284,7 @@ def estruturar_prompt_correcao(caso, peticao, modo_treinamento=False):
284
  **Nota Final:** Calcule a soma dos pontos, aplicando penalizações cumulativas conforme os critérios fundamentais; justifique qualquer desconto adicional.
285
 
286
  ### Petição Corrigida
287
- Forneça a petição do aluno reescrita com todas as correções aplicadas, incluindo partes omitidas (como pedidos ou custas) e ajustando erros identificados. Siga rigorosamente:
288
  1. Endereçamento correto (com foro justificado por CPC ou CDC).
289
  2. Qualificação completa (Art. 319, II, CPC; use "XXX" para dados ausentes).
290
  3. Fatos claros e fiéis ao caso (Art. 319, III, CPC).
@@ -416,6 +416,10 @@ def corrigir_peticao(caso, peticao_texto=None, peticao_arquivo=None, modo_treina
416
  continue
417
  return aviso_validacao + "❌ A API retornou uma resposta vazia. Tente novamente."
418
  correcao_completa = response_data["candidates"][0]["content"]["parts"][0]["text"]
 
 
 
 
419
  if "### Petição Corrigida" in correcao_completa:
420
  analise_fim = correcao_completa.index("### Petição Corrigida")
421
  analise = correcao_completa[:analise_fim].strip()
@@ -468,7 +472,7 @@ def formatar_correcao(texto):
468
  if "Nota Final" in texto_formatado:
469
  import re
470
  nota_pattern = r"### Nota Final.*?(\d+[.,]\d+|\d+)"
471
- match = re.search(nota_pattern, texto_formatado, re.DOTALL)
472
  if match:
473
  nota = match.group(1)
474
  texto_formatado = texto_formatado.replace(f"### ⭐ Nota Final\n\n{nota}", f"### ⭐ Nota Final: {nota}/10\n\n")
@@ -476,6 +480,7 @@ def formatar_correcao(texto):
476
 
477
  def extrair_peticao_corrigida(correcao_completa):
478
  try:
 
479
  if "### Petição Corrigida" in correcao_completa:
480
  inicio = correcao_completa.index("### Petição Corrigida") + len("### Petição Corrigida")
481
  peticao_texto = correcao_completa[inicio:].strip()
@@ -483,6 +488,16 @@ def extrair_peticao_corrigida(correcao_completa):
483
  peticao_texto = peticao_texto[:fim].strip()
484
  return peticao_texto
485
  else:
 
 
 
 
 
 
 
 
 
 
486
  return "⚠️ A seção '### Petição Corrigida' não foi encontrada na resposta da API. Verifique a resposta e tente novamente."
487
  except Exception as e:
488
  return f"❌ Erro ao extrair petição corrigida: {str(e)}"
 
32
  "retry_delay": 5,
33
  "timeout": 60,
34
  "temperatura": 0.2,
35
+ "max_tokens": 8000 # Aumentado para 8000 para garantir que a resposta completa caiba
36
  }
37
 
38
  rate_limiter = RateLimiter(max_calls=60, period=60)
 
284
  **Nota Final:** Calcule a soma dos pontos, aplicando penalizações cumulativas conforme os critérios fundamentais; justifique qualquer desconto adicional.
285
 
286
  ### Petição Corrigida
287
+ Certifique-se de incluir esta seção exatamente como '### Petição Corrigida'. Forneça a petição do aluno reescrita com todas as correções aplicadas, incluindo partes omitidas (como pedidos ou custas) e ajustando erros identificados. Siga rigorosamente:
288
  1. Endereçamento correto (com foro justificado por CPC ou CDC).
289
  2. Qualificação completa (Art. 319, II, CPC; use "XXX" para dados ausentes).
290
  3. Fatos claros e fiéis ao caso (Art. 319, III, CPC).
 
416
  continue
417
  return aviso_validacao + "❌ A API retornou uma resposta vazia. Tente novamente."
418
  correcao_completa = response_data["candidates"][0]["content"]["parts"][0]["text"]
419
+ # Debug: Inspeciona a resposta se a seção esperada não estiver presente
420
+ if "### Petição Corrigida" not in correcao_completa:
421
+ print("Debug: Resposta da API não contém '### Petição Corrigida'. Resposta completa (primeiros 1000 caracteres):")
422
+ print(correcao_completa[:1000])
423
  if "### Petição Corrigida" in correcao_completa:
424
  analise_fim = correcao_completa.index("### Petição Corrigida")
425
  analise = correcao_completa[:analise_fim].strip()
 
472
  if "Nota Final" in texto_formatado:
473
  import re
474
  nota_pattern = r"### Nota Final.*?(\d+[.,]\d+|\d+)"
475
+ match = re.search(nota_pattern, texto_formatada, re.DOTALL)
476
  if match:
477
  nota = match.group(1)
478
  texto_formatado = texto_formatado.replace(f"### ⭐ Nota Final\n\n{nota}", f"### ⭐ Nota Final: {nota}/10\n\n")
 
480
 
481
  def extrair_peticao_corrigida(correcao_completa):
482
  try:
483
+ # Tenta encontrar a seção exata
484
  if "### Petição Corrigida" in correcao_completa:
485
  inicio = correcao_completa.index("### Petição Corrigida") + len("### Petição Corrigida")
486
  peticao_texto = correcao_completa[inicio:].strip()
 
488
  peticao_texto = peticao_texto[:fim].strip()
489
  return peticao_texto
490
  else:
491
+ # Fallback: tenta identificar o início da petição corrigida por padrões comuns
492
+ linhas = correcao_completa.split('\n')
493
+ inicio_peticao = -1
494
+ for i, linha in enumerate(linhas):
495
+ if "EXCELENTÍSSIMO" in linha.upper() and i > len(linhas) // 2: # Assume que a petição corrigida vem após a análise
496
+ inicio_peticao = i
497
+ break
498
+ if inicio_peticao != -1:
499
+ peticao_texto = "\n".join(linhas[inicio_peticao:]).strip()
500
+ return peticao_texto
501
  return "⚠️ A seção '### Petição Corrigida' não foi encontrada na resposta da API. Verifique a resposta e tente novamente."
502
  except Exception as e:
503
  return f"❌ Erro ao extrair petição corrigida: {str(e)}"