DHEIVER commited on
Commit
3a67a8e
·
verified ·
1 Parent(s): 5de62ce

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +51 -9
app.py CHANGED
@@ -45,23 +45,41 @@ def gerar_peca_juridica_criminal(informacoes_caso, tipo_peca):
45
 
46
  return resposta.choices[0].message["content"]
47
 
48
- # Configuração do app Gradio com exemplos
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  def gerar_interface_gradio():
50
  """
51
- Configura a interface do Gradio para gerar peças jurídicas com exemplos pré-definidos.
52
  """
53
  with gr.Blocks() as interface:
54
  gr.Markdown("# Gerador de Peças Jurídicas Criminais")
55
  gr.Markdown(
56
- "### Insira as informações detalhadas do caso ou escolha um exemplo, e selecione o tipo de peça jurídica que deseja gerar."
57
  )
58
 
59
  with gr.Row():
60
  entrada_caso = gr.Textbox(
61
  label="Informações do Caso",
62
- placeholder=(
63
- "Descreva o caso detalhadamente ou selecione um exemplo abaixo."
64
- ),
65
  lines=5
66
  )
67
 
@@ -76,9 +94,10 @@ def gerar_interface_gradio():
76
  interactive=True
77
  )
78
 
79
- entrada_tipo = gr.Textbox(
80
  label="Tipo de Peça Jurídica",
81
- placeholder="Exemplo: habeas corpus, petição inicial, defesa prévia..."
 
82
  )
83
 
84
  def atualizar_caso(caso_exemplo):
@@ -93,7 +112,10 @@ def gerar_interface_gradio():
93
  outputs=entrada_caso
94
  )
95
 
96
- botao_gerar = gr.Button("Gerar Peça Jurídica")
 
 
 
97
  saida_texto = gr.Textbox(
98
  label="Peça Jurídica Gerada",
99
  lines=15,
@@ -105,6 +127,26 @@ def gerar_interface_gradio():
105
  inputs=[entrada_caso, entrada_tipo],
106
  outputs=saida_texto
107
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
 
109
  return interface
110
 
 
45
 
46
  return resposta.choices[0].message["content"]
47
 
48
+ # Função para redefinir os campos
49
+ def redefinir_campos():
50
+ return "", "", ""
51
+
52
+ # Função para exportar a peça jurídica gerada
53
+ def exportar_peca(peca_texto):
54
+ """
55
+ Exporta a peça jurídica gerada para um arquivo .txt.
56
+
57
+ Parâmetros:
58
+ peca_texto (str): Texto da peça jurídica gerada.
59
+
60
+ Retorna:
61
+ str: Caminho do arquivo exportado.
62
+ """
63
+ arquivo_nome = "peca_juridica_gerada.txt"
64
+ with open(arquivo_nome, "w", encoding="utf-8") as arquivo:
65
+ arquivo.write(peca_texto)
66
+ return f"Arquivo salvo como: {arquivo_nome}"
67
+
68
+ # Configuração do app Gradio com funcionalidades adicionais
69
  def gerar_interface_gradio():
70
  """
71
+ Configura a interface do Gradio para gerar peças jurídicas com exemplos pré-definidos e funcionalidades adicionais.
72
  """
73
  with gr.Blocks() as interface:
74
  gr.Markdown("# Gerador de Peças Jurídicas Criminais")
75
  gr.Markdown(
76
+ "### Preencha os campos abaixo ou escolha um exemplo, e selecione o tipo de peça jurídica que deseja gerar."
77
  )
78
 
79
  with gr.Row():
80
  entrada_caso = gr.Textbox(
81
  label="Informações do Caso",
82
+ placeholder="Descreva o caso detalhadamente ou selecione um exemplo abaixo.",
 
 
83
  lines=5
84
  )
85
 
 
94
  interactive=True
95
  )
96
 
97
+ entrada_tipo = gr.Dropdown(
98
  label="Tipo de Peça Jurídica",
99
+ choices=["habeas corpus", "petição inicial", "defesa prévia", "apelação criminal"],
100
+ placeholder="Selecione o tipo de peça jurídica"
101
  )
102
 
103
  def atualizar_caso(caso_exemplo):
 
112
  outputs=entrada_caso
113
  )
114
 
115
+ with gr.Row():
116
+ botao_gerar = gr.Button("Gerar Peça Jurídica")
117
+ botao_redefinir = gr.Button("Redefinir Campos")
118
+
119
  saida_texto = gr.Textbox(
120
  label="Peça Jurídica Gerada",
121
  lines=15,
 
127
  inputs=[entrada_caso, entrada_tipo],
128
  outputs=saida_texto
129
  )
130
+
131
+ botao_redefinir.click(
132
+ redefinir_campos,
133
+ inputs=None,
134
+ outputs=[entrada_caso, entrada_tipo, saida_texto]
135
+ )
136
+
137
+ with gr.Row():
138
+ botao_exportar = gr.Button("Exportar Peça Jurídica para .txt")
139
+ saida_arquivo = gr.Textbox(
140
+ label="Arquivo Exportado",
141
+ interactive=False,
142
+ placeholder="O caminho do arquivo exportado será exibido aqui."
143
+ )
144
+
145
+ botao_exportar.click(
146
+ exportar_peca,
147
+ inputs=saida_texto,
148
+ outputs=saida_arquivo
149
+ )
150
 
151
  return interface
152