DHEIVER commited on
Commit
51b81ea
·
verified ·
1 Parent(s): ca4784d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +107 -33
app.py CHANGED
@@ -17,48 +17,94 @@ def gerar_peca_juridica_criminal(informacoes_caso: str, tipo_peca: str) -> str:
17
 
18
  templates = {
19
  "habeas corpus": {
20
- "estrutura": ["EXORDIAL", "FATOS", "DIREITO", "PEDIDOS"],
 
 
 
 
 
 
 
 
 
 
21
  "prompt": (
22
- "HC conciso:\n"
23
- "1. Fatos e constrangimento ilegal\n"
24
- "2. CF art LXVIII e CPP 647/648\n"
25
- "3. Precedente STF/STJ\n"
26
- "4. Liminar + principal"
 
 
27
  ),
28
- "max_tokens": 300
29
  },
30
  "petição inicial": {
31
- "estrutura": ["EXORDIAL", "QUALIFICAÇÃO", "FATOS", "DIREITO", "PEDIDOS"],
 
 
 
 
 
 
 
 
 
 
32
  "prompt": (
33
- "Denúncia criminal:\n"
34
- "1. Qualificação completa\n"
35
- "2. Fatos e tipificação\n"
36
- "3. Arts. 41/395 CPP\n"
37
- "4. Provas e diligências"
 
 
38
  ),
39
- "max_tokens": 400
40
  },
41
  "defesa prévia": {
42
- "estrutura": ["QUALIFICAÇÃO", "PRELIMINARES", "MÉRITO", "PROVAS", "PEDIDOS"],
 
 
 
 
 
 
 
 
 
43
  "prompt": (
44
  "Defesa art. 396-A CPP:\n"
45
- "1. Preliminares\n"
46
- "2. Tese defensiva\n"
47
- "3. Provas a produzir\n"
48
- "4. Testemunhas"
 
 
49
  ),
50
- "max_tokens": 350
51
  },
52
  "apelação criminal": {
53
- "estrutura": ["TEMPESTIVIDADE", "FATOS", "PRELIMINARES", "MÉRITO", "PEDIDOS"],
 
 
 
 
 
 
 
 
 
54
  "prompt": (
55
- "Apelação criminal:\n"
56
- "1. Art. 593 CPP\n"
57
- "2. Preliminares\n"
58
- "3. Error in judicando\n"
59
- "4. Reforma/nulidade"
 
 
60
  ),
61
- "max_tokens": 450
62
  }
63
  }
64
 
@@ -69,11 +115,22 @@ def gerar_peca_juridica_criminal(informacoes_caso: str, tipo_peca: str) -> str:
69
  mensagens_estrutura = [
70
  {
71
  "role": "system",
72
- "content": f"Redija {tipo_peca} técnica em português jurídico. Máximo {template['max_tokens']} tokens."
 
 
 
 
 
 
73
  },
74
  {
75
  "role": "user",
76
- "content": f"{template['prompt']}\nCaso: {informacoes_caso}"
 
 
 
 
 
77
  }
78
  ]
79
 
@@ -89,11 +146,17 @@ def gerar_peca_juridica_criminal(informacoes_caso: str, tipo_peca: str) -> str:
89
  mensagens_elaboracao = [
90
  {
91
  "role": "system",
92
- "content": f"Aprimore {tipo_peca} com fundamentação precisa. Máximo {template['max_tokens']} tokens."
 
 
 
 
 
 
93
  },
94
  {
95
  "role": "user",
96
- "content": f"Revise:\n{estrutura_base}"
97
  }
98
  ]
99
 
@@ -107,11 +170,22 @@ def gerar_peca_juridica_criminal(informacoes_caso: str, tipo_peca: str) -> str:
107
  mensagens_final = [
108
  {
109
  "role": "system",
110
- "content": f"Finalize {tipo_peca} em formato técnico. Estrutura: {' > '.join(template['estrutura'])}"
 
 
 
 
 
 
111
  },
112
  {
113
  "role": "user",
114
- "content": f"Versão final:\n{estrutura_base}\n\n{resposta_elaboracao.choices[0].message['content']}"
 
 
 
 
 
115
  }
116
  ]
117
 
 
17
 
18
  templates = {
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
  "petição inicial": {
43
+ "estrutura": [
44
+ "EXCELENTÍSSIMO(A) SENHOR(A) DOUTOR(A) PROMOTOR(A) DE JUSTIÇA",
45
+ "QUALIFICAÇÃO DAS PARTES",
46
+ "DOS FATOS E FUNDAMENTOS",
47
+ "DA TIPIFICAÇÃO LEGAL",
48
+ "DAS PROVAS E DILIGÊNCIAS",
49
+ "DO ROL DE TESTEMUNHAS",
50
+ "DOS PEDIDOS",
51
+ "DO VALOR DA CAUSA",
52
+ "FECHAMENTO"
53
+ ],
54
  "prompt": (
55
+ "Denúncia Criminal art. 41 CPP:\n"
56
+ "1. Qualificação completa partes\n"
57
+ "2. Narrativa clara dos fatos\n"
58
+ "3. Tipificação detalhada\n"
59
+ "4. Provas e diligências\n"
60
+ "5. Testemunhas até 8\n"
61
+ "6. Pedidos condenatórios"
62
  ),
63
+ "max_tokens": 500
64
  },
65
  "defesa prévia": {
66
+ "estrutura": [
67
+ "EXCELENTÍSSIMO(A) SENHOR(A) DOUTOR(A) JUIZ(A) DE DIREITO",
68
+ "QUALIFICAÇÃO DO RÉU",
69
+ "DAS PRELIMINARES",
70
+ "DO MÉRITO",
71
+ "DAS PROVAS",
72
+ "DO ROL DE TESTEMUNHAS",
73
+ "DOS REQUERIMENTOS",
74
+ "FECHAMENTO"
75
+ ],
76
  "prompt": (
77
  "Defesa art. 396-A CPP:\n"
78
+ "1. Dados do processo\n"
79
+ "2. Preliminares processuais\n"
80
+ "3. Tese defensiva\n"
81
+ "4. Provas documentais\n"
82
+ "5. Testemunhas até 8\n"
83
+ "6. Requerimentos finais"
84
  ),
85
+ "max_tokens": 450
86
  },
87
  "apelação criminal": {
88
+ "estrutura": [
89
+ "EGRÉGIO TRIBUNAL DE JUSTIÇA",
90
+ "TEMPESTIVIDADE",
91
+ "RESUMO PROCESSUAL",
92
+ "DAS PRELIMINARES",
93
+ "DO MÉRITO RECURSAL",
94
+ "DAS CONTRARRAZÕES",
95
+ "DOS PEDIDOS",
96
+ "FECHAMENTO"
97
+ ],
98
  "prompt": (
99
+ "Apelação art. 593 CPP:\n"
100
+ "1. Tempestividade\n"
101
+ "2. Síntese processual\n"
102
+ "3. Preliminares\n"
103
+ "4. Razões de reforma\n"
104
+ "5. Contrarrazões\n"
105
+ "6. Pedido específico"
106
  ),
107
+ "max_tokens": 500
108
  }
109
  }
110
 
 
115
  mensagens_estrutura = [
116
  {
117
  "role": "system",
118
+ "content": (
119
+ f"Como advogado criminalista, redija {tipo_peca} técnica seguindo:\n"
120
+ f"1. Estrutura formal\n"
121
+ f"2. Linguagem jurídica\n"
122
+ f"3. Fundamentação precisa\n"
123
+ f"4. Formatação correta"
124
+ )
125
  },
126
  {
127
  "role": "user",
128
+ "content": (
129
+ f"Elabore seguindo estrutura:\n"
130
+ f"{chr(10).join(template['estrutura'])}\n\n"
131
+ f"Requisitos:\n{template['prompt']}\n\n"
132
+ f"Caso:\n{informacoes_caso}"
133
+ )
134
  }
135
  ]
136
 
 
146
  mensagens_elaboracao = [
147
  {
148
  "role": "system",
149
+ "content": (
150
+ f"Como especialista criminal, aprimore {tipo_peca} com:\n"
151
+ "1. Legislação pertinente\n"
152
+ "2. Jurisprudência atual\n"
153
+ "3. Doutrina relevante\n"
154
+ "4. Fundamentação técnica"
155
+ )
156
  },
157
  {
158
  "role": "user",
159
+ "content": f"Revise e complemente:\n{estrutura_base}"
160
  }
161
  ]
162
 
 
170
  mensagens_final = [
171
  {
172
  "role": "system",
173
+ "content": (
174
+ f"Finalize {tipo_peca} garantindo:\n"
175
+ "1. Estrutura correta\n"
176
+ "2. Numeração parágrafos\n"
177
+ "3. Formatação adequada\n"
178
+ "4. Citações precisas"
179
+ )
180
  },
181
  {
182
  "role": "user",
183
+ "content": (
184
+ f"Versão final seguindo:\n"
185
+ f"{chr(10).join(template['estrutura'])}\n\n"
186
+ f"Conteúdo base:\n{estrutura_base}\n\n"
187
+ f"Complementos:\n{resposta_elaboracao.choices[0].message['content']}"
188
+ )
189
  }
190
  ]
191