Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -11,6 +11,44 @@ class DefenseGenerator:
|
|
11 |
self.client = InferenceClient(api_key=self.api_key)
|
12 |
|
13 |
self.templates = {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
"resposta_acusacao": {
|
15 |
"system": "Você é um advogado criminalista experiente, especializado em respostas à acusação.",
|
16 |
"sections": {
|
@@ -100,6 +138,18 @@ OAB/{estado} {numero_oab}"""
|
|
100 |
def interface():
|
101 |
gerador = DefenseGenerator()
|
102 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
def processar(tipo_doc, comarca, vara, estado, numero_processo, nome_reu,
|
104 |
preliminares, merito, provas, pedidos, relatorio, numero_oab):
|
105 |
dados = {
|
@@ -121,6 +171,23 @@ def interface():
|
|
121 |
with gr.Blocks(title="Gerador de Peças da Defesa Criminal") as demo:
|
122 |
gr.Markdown("# Gerador de Peças da Defesa Criminal")
|
123 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
with gr.Row():
|
125 |
tipo_documento = gr.Radio(
|
126 |
choices=["resposta_acusacao", "alegacoes_defesa"],
|
|
|
11 |
self.client = InferenceClient(api_key=self.api_key)
|
12 |
|
13 |
self.templates = {
|
14 |
+
"habeas_corpus": {
|
15 |
+
"system": "Você é um advogado criminalista especializado em Habeas Corpus.",
|
16 |
+
"sections": {
|
17 |
+
"cabecalho": """EXCELENTÍSSIMO(A) SENHOR(A) DOUTOR(A) DESEMBARGADOR(A) DO EGRÉGIO TRIBUNAL DE JUSTIÇA DO ESTADO DE {estado}""",
|
18 |
+
"qualificacao": """{nome_reu}, {qualificacao_reu}, vem, por seu advogado, impetrar HABEAS CORPUS, com fundamento no art. 5º, LXVIII, da Constituição Federal e arts. 647 e seguintes do Código de Processo Penal, em face de ato do MM. Juiz de Direito da {vara} Vara Criminal da Comarca de {comarca}, pelos fatos e fundamentos a seguir expostos:""",
|
19 |
+
"fundamentos": "{fundamentos}",
|
20 |
+
"pedidos": """Ante o exposto, requer:
|
21 |
+
|
22 |
+
{pedidos}
|
23 |
+
|
24 |
+
Termos em que,
|
25 |
+
Pede deferimento.
|
26 |
+
|
27 |
+
{comarca}, {data}
|
28 |
+
|
29 |
+
Advogado(a)
|
30 |
+
OAB/{estado} {numero_oab}"""
|
31 |
+
}
|
32 |
+
},
|
33 |
+
"revogacao_prisao_preventiva": {
|
34 |
+
"system": "Você é um advogado criminalista especializado em pedidos de revogação de prisão preventiva.",
|
35 |
+
"sections": {
|
36 |
+
"cabecalho": """EXCELENTÍSSIMO(A) SENHOR(A) DOUTOR(A) JUIZ(A) DE DIREITO DA {vara} VARA CRIMINAL DA COMARCA DE {comarca}
|
37 |
+
|
38 |
+
Processo nº: {numero_processo}""",
|
39 |
+
"qualificacao": """{nome_reu}, já qualificado nos autos do processo em epígrafe, por seu advogado que esta subscreve, vem, respeitosamente, à presença de Vossa Excelência, com fundamento no art. 316 do Código de Processo Penal, requerer a REVOGAÇÃO DA PRISÃO PREVENTIVA, pelos motivos de fato e de direito a seguir expostos:""",
|
40 |
+
"fundamentos": "{fundamentos}",
|
41 |
+
"pedidos": """Ante o exposto, requer-se a revogação da prisão preventiva, com a expedição do competente alvará de soltura.
|
42 |
+
|
43 |
+
Termos em que,
|
44 |
+
Pede deferimento.
|
45 |
+
|
46 |
+
{comarca}, {data}
|
47 |
+
|
48 |
+
Advogado(a)
|
49 |
+
OAB/{estado} {numero_oab}"""
|
50 |
+
}
|
51 |
+
},
|
52 |
"resposta_acusacao": {
|
53 |
"system": "Você é um advogado criminalista experiente, especializado em respostas à acusação.",
|
54 |
"sections": {
|
|
|
138 |
def interface():
|
139 |
gerador = DefenseGenerator()
|
140 |
|
141 |
+
tipo_peca_descricoes = {
|
142 |
+
"resposta_acusacao": "Apresentar defesa inicial após o recebimento da denúncia",
|
143 |
+
"alegacoes_defesa": "Apresentar argumentos finais após a instrução",
|
144 |
+
"habeas_corpus": "Impetrar HC contra prisão ou ameaça à liberdade",
|
145 |
+
"recurso_em_sentido_estrito": "Recorrer de decisões interlocutórias",
|
146 |
+
"apelacao": "Recorrer da sentença",
|
147 |
+
"embargos_declaracao": "Esclarecer pontos omissos/contraditórios",
|
148 |
+
"revogacao_prisao_preventiva": "Requerer revogação de prisão preventiva",
|
149 |
+
"relaxamento_prisao": "Requerer relaxamento de prisão ilegal",
|
150 |
+
"liberdade_provisoria": "Requerer liberdade provisória"
|
151 |
+
}
|
152 |
+
|
153 |
def processar(tipo_doc, comarca, vara, estado, numero_processo, nome_reu,
|
154 |
preliminares, merito, provas, pedidos, relatorio, numero_oab):
|
155 |
dados = {
|
|
|
171 |
with gr.Blocks(title="Gerador de Peças da Defesa Criminal") as demo:
|
172 |
gr.Markdown("# Gerador de Peças da Defesa Criminal")
|
173 |
|
174 |
+
with gr.Row():
|
175 |
+
gr.Markdown("""### Selecione o tipo de peça que deseja gerar:
|
176 |
+
|
177 |
+
Cada opção é adequada para diferentes momentos processuais e estratégias de defesa.""")
|
178 |
+
|
179 |
+
with gr.Row():
|
180 |
+
tipo_peca = gr.Dropdown(
|
181 |
+
choices=list(tipo_peca_descricoes.keys()),
|
182 |
+
label="Tipo de Peça",
|
183 |
+
value="resposta_acusacao",
|
184 |
+
info="Selecione o tipo específico de peça criminal"
|
185 |
+
)
|
186 |
+
|
187 |
+
with gr.Row():
|
188 |
+
gr.Markdown(lambda x: f"**Descrição:** {tipo_peca_descricoes.get(x, '')}", every=100)
|
189 |
+
tipo_peca.change(lambda x: f"**Descrição:** {tipo_peca_descricoes.get(x, '')}", tipo_peca)
|
190 |
+
|
191 |
with gr.Row():
|
192 |
tipo_documento = gr.Radio(
|
193 |
choices=["resposta_acusacao", "alegacoes_defesa"],
|