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

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -92
app.py CHANGED
@@ -46,99 +46,50 @@ def gerar_peca_juridica_criminal(informacoes_caso: str, tipo_peca: str) -> str:
46
  if not template:
47
  return "Tipo de peça não suportado."
48
 
49
- mensagens_estrutura = [
50
- {
51
- "role": "system",
52
- "content": (
53
- f"Como advogado criminalista, redija {tipo_peca} técnica seguindo:\n"
54
- f"1. Estrutura formal\n"
55
- f"2. Linguagem jurídica\n"
56
- f"3. Fundamentação precisa\n"
57
- f"4. Formatação correta"
58
- )
59
- },
60
- {
61
- "role": "user",
62
- "content": (
63
- f"Elabore seguindo estrutura:\n"
64
- f"{chr(10).join(template['estrutura'])}\n\n"
65
- f"Requisitos:\n{template['prompt']}\n\n"
66
- f"Caso:\n{informacoes_caso}"
67
- )
68
- }
69
- ]
70
-
71
- try:
72
- resposta_estrutura = client.chat.completions.create(
73
- model="mistralai/Mistral-7B-Instruct-v0.3",
74
- messages=mensagens_estrutura,
75
- max_tokens=template['max_tokens'],
76
- temperature=0.7
77
- )
78
- estrutura_base = resposta_estrutura.choices[0].message["content"]
79
- except Exception as e:
80
- return f"Erro ao gerar a estrutura: {str(e)}"
81
-
82
- mensagens_elaboracao = [
83
- {
84
- "role": "system",
85
- "content": (
86
- f"Como especialista criminal, aprimore {tipo_peca} com:\n"
87
- "1. Legislação pertinente\n"
88
- "2. Jurisprudência atual\n"
89
- "3. Doutrina relevante\n"
90
- "4. Fundamentação técnica"
91
- )
92
- },
93
- {
94
- "role": "user",
95
- "content": f"Revise e complemente:\n{estrutura_base}"
96
- }
97
- ]
98
-
99
- try:
100
- resposta_elaboracao = client.chat.completions.create(
101
- model="mistralai/Mistral-7B-Instruct-v0.3",
102
- messages=mensagens_elaboracao,
103
- max_tokens=template['max_tokens'],
104
- temperature=0.7
105
- )
106
- except Exception as e:
107
- return f"Erro ao elaborar a peça: {str(e)}"
108
-
109
- mensagens_final = [
110
- {
111
- "role": "system",
112
- "content": (
113
- f"Finalize {tipo_peca} garantindo:\n"
114
- "1. Estrutura correta\n"
115
- "2. Numeração parágrafos\n"
116
- "3. Formatação adequada\n"
117
- "4. Citações precisas"
118
- )
119
- },
120
- {
121
- "role": "user",
122
- "content": (
123
- f"Versão final seguindo:\n"
124
- f"{chr(10).join(template['estrutura'])}\n\n"
125
- f"Conteúdo base:\n{estrutura_base}\n\n"
126
- f"Complementos:\n{resposta_elaboracao.choices[0].message['content']}"
127
- )
128
- }
129
- ]
130
-
131
- try:
132
- resposta_final = client.chat.completions.create(
133
- model="mistralai/Mistral-7B-Instruct-v0.3",
134
- messages=mensagens_final,
135
- max_tokens=max(template['max_tokens'] + 100, 500),
136
- temperature=0.5
137
- )
138
- except Exception as e:
139
- return f"Erro ao finalizar a peça: {str(e)}"
140
 
141
- return resposta_final.choices[0].message["content"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
 
143
  # Função para redefinir os campos
144
  def redefinir_campos():
 
46
  if not template:
47
  return "Tipo de peça não suportado."
48
 
49
+ # Preencher os campos da peça jurídica com base nas informações do caso
50
+ informacoes = {
51
+ "Nome do Cliente": "João da Silva", # Exemplo
52
+ "Data de Nascimento": "01/01/1990", # Exemplo
53
+ "Local de Nascimento": "São Paulo",
54
+ "Tipo de Documento de Identidade": "RG",
55
+ "Número do Documento de Identidade": "123456789",
56
+ "Endereço de Domicílio do Cliente": "Rua Exemplo, 123, São Paulo - SP",
57
+ "Local do Crime": "São Paulo",
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():