Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -160,11 +160,58 @@ class LegalDocumentGenerator:
|
|
160 |
|
161 |
def create_interface():
|
162 |
generator = LegalDocumentGenerator()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
|
164 |
with gr.Blocks() as interface:
|
165 |
gr.Markdown("# Gerador de Peças Jurídicas Criminais")
|
166 |
|
167 |
with gr.Tab("Dados do Caso"):
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
case_info = gr.Textbox(
|
169 |
label="Informações do Caso",
|
170 |
placeholder="Descreva o caso detalhadamente",
|
@@ -215,37 +262,48 @@ def create_interface():
|
|
215 |
placeholder="O documento gerado aparecerá aqui"
|
216 |
)
|
217 |
|
218 |
-
def
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
"
|
229 |
-
"
|
230 |
-
"
|
231 |
-
"
|
232 |
-
"
|
233 |
-
"
|
234 |
-
"
|
235 |
-
"
|
236 |
-
"
|
237 |
-
"
|
238 |
-
"
|
239 |
-
"
|
240 |
-
|
241 |
-
|
242 |
-
|
|
|
|
|
243 |
|
244 |
-
|
245 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
246 |
|
247 |
generate_btn.click(
|
248 |
-
|
249 |
inputs=[
|
250 |
case_info, doc_type,
|
251 |
client_name, client_nationality, client_profession, client_id,
|
@@ -257,7 +315,7 @@ def create_interface():
|
|
257 |
)
|
258 |
|
259 |
clear_btn.click(
|
260 |
-
|
261 |
outputs=[
|
262 |
case_info, doc_type,
|
263 |
client_name, client_nationality, client_profession, client_id,
|
@@ -268,7 +326,7 @@ def create_interface():
|
|
268 |
)
|
269 |
|
270 |
return interface
|
271 |
-
|
272 |
if __name__ == "__main__":
|
273 |
interface = create_interface()
|
274 |
interface.launch()
|
|
|
160 |
|
161 |
def create_interface():
|
162 |
generator = LegalDocumentGenerator()
|
163 |
+
|
164 |
+
example_cases = {
|
165 |
+
"habeas corpus": {
|
166 |
+
"case_info": "Cliente João da Silva foi preso em flagrante no dia 15/12/2023 por suposto furto em loja, mas há provas em vídeo mostrando que ele estava em outro local no momento do crime.",
|
167 |
+
"client_data": {
|
168 |
+
"name": "João da Silva",
|
169 |
+
"nationality": "Brasileiro",
|
170 |
+
"profession": "Comerciante",
|
171 |
+
"id": "12.345.678-9",
|
172 |
+
"address": "Rua das Flores, 123",
|
173 |
+
"city": "São Paulo",
|
174 |
+
"state": "SP",
|
175 |
+
"zip": "01234-567",
|
176 |
+
"court": "1ª Vara Criminal",
|
177 |
+
"jurisdiction": "São Paulo",
|
178 |
+
"process_number": "0123456-78.2023.8.26.0001",
|
179 |
+
"lawyer_name": "Dr. Pedro Santos",
|
180 |
+
"lawyer_oab": "123456",
|
181 |
+
"lawyer_state": "SP"
|
182 |
+
}
|
183 |
+
},
|
184 |
+
"defesa prévia": {
|
185 |
+
"case_info": "Cliente Maria Oliveira foi denunciada por tráfico de drogas após revista policial sem mandado em sua residência, onde foram encontradas substâncias ilícitas.",
|
186 |
+
"client_data": {
|
187 |
+
"name": "Maria Oliveira",
|
188 |
+
"nationality": "Brasileira",
|
189 |
+
"profession": "Professora",
|
190 |
+
"id": "98.765.432-1",
|
191 |
+
"address": "Av. Principal, 456",
|
192 |
+
"city": "São Paulo",
|
193 |
+
"state": "SP",
|
194 |
+
"zip": "04321-765",
|
195 |
+
"court": "2ª Vara Criminal",
|
196 |
+
"jurisdiction": "São Paulo",
|
197 |
+
"process_number": "0987654-32.2023.8.26.0002",
|
198 |
+
"lawyer_name": "Dra. Ana Costa",
|
199 |
+
"lawyer_oab": "654321",
|
200 |
+
"lawyer_state": "SP"
|
201 |
+
}
|
202 |
+
}
|
203 |
+
}
|
204 |
|
205 |
with gr.Blocks() as interface:
|
206 |
gr.Markdown("# Gerador de Peças Jurídicas Criminais")
|
207 |
|
208 |
with gr.Tab("Dados do Caso"):
|
209 |
+
example_selector = gr.Dropdown(
|
210 |
+
label="Exemplos",
|
211 |
+
choices=["Selecione um exemplo...", "Exemplo Habeas Corpus", "Exemplo Defesa Prévia"],
|
212 |
+
value="Selecione um exemplo..."
|
213 |
+
)
|
214 |
+
|
215 |
case_info = gr.Textbox(
|
216 |
label="Informações do Caso",
|
217 |
placeholder="Descreva o caso detalhadamente",
|
|
|
262 |
placeholder="O documento gerado aparecerá aqui"
|
263 |
)
|
264 |
|
265 |
+
def load_example(example_choice):
|
266 |
+
if example_choice == "Exemplo Habeas Corpus":
|
267 |
+
data = example_cases["habeas corpus"]
|
268 |
+
elif example_choice == "Exemplo Defesa Prévia":
|
269 |
+
data = example_cases["defesa prévia"]
|
270 |
+
else:
|
271 |
+
return [""] * 16
|
272 |
+
|
273 |
+
client = data["client_data"]
|
274 |
+
return [
|
275 |
+
data["case_info"],
|
276 |
+
example_choice.lower().replace("exemplo ", ""),
|
277 |
+
client["name"],
|
278 |
+
client["nationality"],
|
279 |
+
client["profession"],
|
280 |
+
client["id"],
|
281 |
+
client["address"],
|
282 |
+
client["city"],
|
283 |
+
client["state"],
|
284 |
+
client["zip"],
|
285 |
+
client["court"],
|
286 |
+
client["jurisdiction"],
|
287 |
+
client["process_number"],
|
288 |
+
client["lawyer_name"],
|
289 |
+
client["lawyer_oab"],
|
290 |
+
client["lawyer_state"]
|
291 |
+
]
|
292 |
|
293 |
+
example_selector.change(
|
294 |
+
load_example,
|
295 |
+
inputs=[example_selector],
|
296 |
+
outputs=[
|
297 |
+
case_info, doc_type,
|
298 |
+
client_name, client_nationality, client_profession, client_id,
|
299 |
+
client_address, client_city, client_state, client_zip,
|
300 |
+
court, jurisdiction, process_number,
|
301 |
+
lawyer_name, lawyer_oab, lawyer_state
|
302 |
+
]
|
303 |
+
)
|
304 |
|
305 |
generate_btn.click(
|
306 |
+
generator.generate_document,
|
307 |
inputs=[
|
308 |
case_info, doc_type,
|
309 |
client_name, client_nationality, client_profession, client_id,
|
|
|
315 |
)
|
316 |
|
317 |
clear_btn.click(
|
318 |
+
lambda: [""] * 16,
|
319 |
outputs=[
|
320 |
case_info, doc_type,
|
321 |
client_name, client_nationality, client_profession, client_id,
|
|
|
326 |
)
|
327 |
|
328 |
return interface
|
329 |
+
|
330 |
if __name__ == "__main__":
|
331 |
interface = create_interface()
|
332 |
interface.launch()
|