DHEIVER commited on
Commit
ff31e97
·
verified ·
1 Parent(s): 3771af2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +57 -42
app.py CHANGED
@@ -19,25 +19,29 @@ def gerar_peca_juridica_criminal(informacoes_caso: str, tipo_peca: str) -> str:
19
  "habeas corpus": {
20
  "estrutura": [
21
  "EXCELENTÍSSIMO(A) SENHOR(A) DOUTOR(A) JUIZ(A) DE DIREITO DA [VARA] DA [COMARCA]",
22
- "QUALIFICAÇÃO DO PACIENTE",
23
- "DOS FATOS",
24
- "DO DIREITO",
25
- "DO CONSTRANGIMENTO ILEGAL",
26
- "DA MEDIDA LIMINAR",
27
- "DOS PEDIDOS",
28
- "PROVAS E DOCUMENTOS",
29
- "FECHAMENTO",
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  ],
31
- "prompt": (
32
- "HC técnico:\n"
33
- "1. Qualificação completa\n"
34
- "2. Fatos e provas do constrangimento\n"
35
- "3. CF art 5º LXVIII e CPP 647/648\n"
36
- "4. STF/STJ sobre o tema\n"
37
- "5. Pedido liminar fundamentado\n"
38
- "6. Rol de documentos"
39
- ),
40
- "max_tokens": 400
41
  },
42
  # Add other templates as needed...
43
  }
@@ -58,39 +62,50 @@ def gerar_peca_juridica_criminal(informacoes_caso: str, tipo_peca: str) -> str:
58
  "Data da Detenção": "15/12/2023",
59
  "Data do Crime": "14/12/2023",
60
  "Horas do Crime": "14:00",
61
- "Local Distante do Crime": "Campinas"
 
 
62
  }
63
 
64
- # Substituir os placeholders na estrutura
65
- estrutura_final = "\n".join([
66
  linha.replace(placeholder, informacoes[placeholder])
67
  for linha in template["estrutura"]
68
  for placeholder in informacoes.keys()
69
  if placeholder in linha
70
  ])
71
 
72
- # Adicionar as seções adicionais
73
- direitos = (
74
- "O artigo 5º LXVIII do Código Penal brasileiro dispõe que 'toda pessoa pode ser presa quando há fundamentos razoáveis para acreditar que ela cometeu ou está prestes a cometer um crime'. "
75
- "Por outro lado, o Código Processual Penal estabelece, nos artigos 647 e 648, que 'a prisão não pode ser imposta a menos que haja fundamentos razoáveis...'"
76
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
 
78
- # Montar o texto da peça jurídica
79
- texto_final = (
80
- f"{estrutura_final}\n\n"
81
- "DOS FATOS\n"
82
- "A Polícia de {informacoes['Local do Crime']} detém o acusado desde {informacoes['Data da Detenção']}, por motivos de suposto furto qualificado...\n\n"
83
- f"{direitos}\n\n"
84
- "DO CONSTRANGIMENTO ILEGAL\n"
85
- "A prisão do acusado, sem a devida fundamentação, caracteriza constrangimento ilegal, uma vez que há evidências de sua inocência...\n\n"
86
- "DA MEDIDA LIMINAR\n"
87
- "Requer-se a concessão de medida liminar para a liberdade do paciente...\n\n"
88
- "DOS PEDIDOS\n"
89
- "Diante do exposto, requer-se..."
90
- )
91
-
92
- return texto_final
93
-
94
  # Função para redefinir os campos
95
  def redefinir_campos():
96
  return "", "", ""
 
19
  "habeas corpus": {
20
  "estrutura": [
21
  "EXCELENTÍSSIMO(A) SENHOR(A) DOUTOR(A) JUIZ(A) DE DIREITO DA [VARA] DA [COMARCA]",
22
+ "QUALIFICAÇÃO DO PACIENTE\n"
23
+ "O acusado, [Nome do Cliente], é um cidadão brasileiro, nascido em [Data de Nascimento] no município de [Local de Nascimento], "
24
+ "titular do documento de identidade [Tipo de Documento de Identidade] no número [Número do Documento de Identidade], "
25
+ "efetivo domiciliado na [Endereço de Domicílio do Cliente].",
26
+ "DOS FATOS\n"
27
+ "A Polícia de [Local do Crime] detém o acusado desde [Data da Detenção], por motivos de suposto furto qualificado, "
28
+ "cometido no dia [Data do Crime] às [Horas do Crime], no local de [Local do Crime]. "
29
+ "Entretanto, há provas documentais e testemunha ocular que comprovam a presença do acusado na cidade distante [Local Distante do Crime] no momento do crime.",
30
+ "DO DIREITO\n"
31
+ "O artigo 5º LXVIII da Constituição Federal dispõe que 'toda pessoa pode ser presa quando há fundamentos razoáveis para acreditar que ela cometeu ou está prestes a cometer um crime'. "
32
+ "O Código de Processo Penal estabelece, nos artigos 647 e 648, que 'a prisão não pode ser imposta a menos que haja fundamentos razoáveis...'",
33
+ "DO CONSTRANGIMENTO ILEGAL\n"
34
+ "A prisão do acusado, sem a devida fundamentação, caracteriza constrangimento ilegal, uma vez que há evidências de sua inocência.",
35
+ "DA MEDIDA LIMINAR\n"
36
+ "Requer-se a concessão de medida liminar para a liberdade do paciente.",
37
+ "DOS PEDIDOS\n"
38
+ "Diante do exposto, requer-se a concessão do habeas corpus.",
39
+ "PROVAS E DOCUMENTOS\n"
40
+ "Anexamos documentos que comprovam a inocência do acusado.",
41
+ "FECHAMENTO\n"
42
+ "Nestes termos, pede deferimento."
43
  ],
44
+ "max_tokens": 500
 
 
 
 
 
 
 
 
 
45
  },
46
  # Add other templates as needed...
47
  }
 
62
  "Data da Detenção": "15/12/2023",
63
  "Data do Crime": "14/12/2023",
64
  "Horas do Crime": "14:00",
65
+ "Local Distante do Crime": "Campinas",
66
+ "VARA": "1ª Vara Criminal", # Exemplo
67
+ "COMARCA": "São Paulo" # Exemplo
68
  }
69
 
70
+ # Montar o texto da peça jurídica
71
+ texto_final = "\n\n".join([
72
  linha.replace(placeholder, informacoes[placeholder])
73
  for linha in template["estrutura"]
74
  for placeholder in informacoes.keys()
75
  if placeholder in linha
76
  ])
77
 
78
+ # Realizar a requisição única para aprimoramento
79
+ try:
80
+ mensagens = [
81
+ {
82
+ "role": "system",
83
+ "content": (
84
+ f"Como advogado criminalista, redija um {tipo_peca} técnica seguindo:\n"
85
+ f"1. Estrutura formal\n"
86
+ f"2. Linguagem jurídica\n"
87
+ f"3. Fundamentação precisa\n"
88
+ f"4. Formatação correta"
89
+ )
90
+ },
91
+ {
92
+ "role": "user",
93
+ "content": texto_final
94
+ }
95
+ ]
96
+
97
+ resposta_final = client.chat.completions.create(
98
+ model="mistralai/Mistral-7B-Instruct-v0.3",
99
+ messages=mensagens,
100
+ max_tokens=template['max_tokens'],
101
+ temperature=0.7
102
+ )
103
 
104
+ return resposta_final.choices[0].message["content"]
105
+
106
+ except Exception as e:
107
+ return f"Erro ao gerar a peça: {str(e)}"
108
+
 
 
 
 
 
 
 
 
 
 
 
109
  # Função para redefinir os campos
110
  def redefinir_campos():
111
  return "", "", ""