Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
"prompt": (
|
22 |
-
"HC
|
23 |
-
"1.
|
24 |
-
"2.
|
25 |
-
"3.
|
26 |
-
"4.
|
|
|
|
|
27 |
),
|
28 |
-
"max_tokens":
|
29 |
},
|
30 |
"petição inicial": {
|
31 |
-
"estrutura": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
"prompt": (
|
33 |
-
"Denúncia
|
34 |
-
"1. Qualificação completa\n"
|
35 |
-
"2.
|
36 |
-
"3.
|
37 |
-
"4. Provas e diligências"
|
|
|
|
|
38 |
),
|
39 |
-
"max_tokens":
|
40 |
},
|
41 |
"defesa prévia": {
|
42 |
-
"estrutura": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
"prompt": (
|
44 |
"Defesa art. 396-A CPP:\n"
|
45 |
-
"1.
|
46 |
-
"2.
|
47 |
-
"3.
|
48 |
-
"4.
|
|
|
|
|
49 |
),
|
50 |
-
"max_tokens":
|
51 |
},
|
52 |
"apelação criminal": {
|
53 |
-
"estrutura": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
"prompt": (
|
55 |
-
"Apelação
|
56 |
-
"1.
|
57 |
-
"2.
|
58 |
-
"3.
|
59 |
-
"4.
|
|
|
|
|
60 |
),
|
61 |
-
"max_tokens":
|
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":
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
},
|
74 |
{
|
75 |
"role": "user",
|
76 |
-
"content":
|
|
|
|
|
|
|
|
|
|
|
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":
|
|
|
|
|
|
|
|
|
|
|
|
|
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":
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
},
|
112 |
{
|
113 |
"role": "user",
|
114 |
-
"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 |
|