Update app.py
Browse files
app.py
CHANGED
|
@@ -633,7 +633,7 @@ def estruturar_prompt_analise_geral(caso, peticao, tipo_peticao, modo_treinament
|
|
| 633 |
# --- Prompt OAB Generation (User Provided - Integrated) ---
|
| 634 |
def estruturar_prompt_geracao_modelo_oab(enunciado, gabarito, distribuicao):
|
| 635 |
prompt = f"""
|
| 636 |
-
**Tarefa:** Elabore a peça processual completa
|
| 637 |
|
| 638 |
**Enunciado:**
|
| 639 |
```
|
|
@@ -650,18 +650,26 @@ def estruturar_prompt_geracao_modelo_oab(enunciado, gabarito, distribuicao):
|
|
| 650 |
{distribuicao}
|
| 651 |
```
|
| 652 |
|
| 653 |
-
**Instruções
|
| 654 |
-
1. **
|
| 655 |
-
|
| 656 |
-
|
| 657 |
-
|
| 658 |
-
|
| 659 |
-
|
| 660 |
-
|
| 661 |
-
|
| 662 |
-
|
| 663 |
-
|
| 664 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 665 |
"""
|
| 666 |
return prompt
|
| 667 |
|
|
@@ -1945,7 +1953,7 @@ def interface_gradio():
|
|
| 1945 |
tipo_peticao_input_geral = gr.Dropdown(label="Tipo de Peça Prática", choices=TIPOS_DE_PETICAO, value="Petição Inicial", info="Selecione o tipo de peça que você elaborou.")
|
| 1946 |
with gr.Row():
|
| 1947 |
caso_input_geral = gr.Textbox(label="📋 Caso / Enunciado", lines=8, placeholder="Cole aqui o caso ou enunciado do problema...")
|
| 1948 |
-
|
| 1949 |
|
| 1950 |
gr.Markdown("**Sua Peça Prática:**")
|
| 1951 |
with gr.Tabs():
|
|
@@ -2016,15 +2024,15 @@ def interface_gradio():
|
|
| 2016 |
with gr.TabItem("📊 Análise Detalhada (IA)"):
|
| 2017 |
resultado_analise_output_geral = gr.Markdown("*A análise da IA aparecerá aqui...*")
|
| 2018 |
with gr.Row():
|
| 2019 |
-
export_analise_txt_btn = gr.Button("Exportar Análise (TXT)"
|
| 2020 |
-
export_analise_pdf_btn = gr.Button("Exportar Análise (PDF)"
|
| 2021 |
download_analise_file = gr.File(label="Baixar Análise", interactive=False)
|
| 2022 |
|
| 2023 |
with gr.TabItem("✨ Peça Corrigida (Sugestão IA)"):
|
| 2024 |
resultado_peticao_corrigida_output_geral = gr.Textbox(label="Texto da Peça Corrigida/Aprimorada pela IA:", lines=20, show_copy_button=True, interactive=True) # Allow editing/copying
|
| 2025 |
with gr.Row():
|
| 2026 |
-
export_correcao_txt_btn = gr.Button("Exportar Correção (TXT)"
|
| 2027 |
-
export_correcao_pdf_btn = gr.Button("Exportar Correção (PDF)"
|
| 2028 |
download_correcao_file = gr.File(label="Baixar Correção", interactive=False)
|
| 2029 |
|
| 2030 |
with gr.TabItem("⚖️ Comparativo (Diff)"):
|
|
@@ -2076,15 +2084,15 @@ def interface_gradio():
|
|
| 2076 |
with gr.TabItem("📝 Peça Modelo OAB (Gerada)"):
|
| 2077 |
resultado_modelo_oab_output = gr.Textbox(label="Texto da Peça Modelo Gerada pela IA:", lines=20, show_copy_button=True, interactive=True)
|
| 2078 |
with gr.Row():
|
| 2079 |
-
export_modelo_txt_btn = gr.Button("Exportar Modelo (TXT)"
|
| 2080 |
-
export_modelo_pdf_btn = gr.Button("Exportar Modelo (PDF)"
|
| 2081 |
download_modelo_file = gr.File(label="Baixar Modelo", interactive=False)
|
| 2082 |
|
| 2083 |
with gr.TabItem("🎯 Avaliação da Sua Peça (Conforme OAB)"):
|
| 2084 |
resultado_correcao_oab_output = gr.Markdown("*A avaliação da sua peça conforme o padrão OAB aparecerá aqui...*")
|
| 2085 |
with gr.Row():
|
| 2086 |
-
export_avaliacao_txt_btn = gr.Button("Exportar Avaliação (TXT)"
|
| 2087 |
-
export_avaliacao_pdf_btn = gr.Button("Exportar Avaliação (PDF)"
|
| 2088 |
download_avaliacao_file = gr.File(label="Baixar Avaliação", interactive=False)
|
| 2089 |
|
| 2090 |
# --- Botão Limpar ---
|
|
|
|
| 633 |
# --- Prompt OAB Generation (User Provided - Integrated) ---
|
| 634 |
def estruturar_prompt_geracao_modelo_oab(enunciado, gabarito, distribuicao):
|
| 635 |
prompt = f"""
|
| 636 |
+
**Tarefa:** Elabore a peça processual completa e **fundamentada** para o **Enunciado** fornecido. Utilize o **Gabarito Comentado** como guia OBRIGATÓRIO para os argumentos jurídicos essenciais e a **Distribuição dos Pontos** para garantir que TODOS os itens estruturais e pedidos necessários sejam incluídos e abordados corretamente. O objetivo é criar uma peça modelo que desenvolva os pontos esperados pela OAB, usando **ESTRITAMENTE** os fatos e dados fornecidos no Enunciado, Gabarito e Distribuição.
|
| 637 |
|
| 638 |
**Enunciado:**
|
| 639 |
```
|
|
|
|
| 650 |
{distribuicao}
|
| 651 |
```
|
| 652 |
|
| 653 |
+
**Instruções DETALHADAS E RESTRITIVAS para Geração:**
|
| 654 |
+
1. **PROIBIDO INVENTAR DADOS:** NÃO invente NENHUMA informação que não esteja EXPLICITAMENTE presente no Enunciado, Gabarito ou Distribuição. Isso inclui, mas não se limita a:
|
| 655 |
+
* Endereços exatos (rua, número, bairro, CEP) - Use "XXX" se não fornecido.
|
| 656 |
+
* Números de documentos (RG, CPF) - Use "XXX" se não fornecido.
|
| 657 |
+
* Endereços de e-mail - Use "XXX" ou omita se não fornecido.
|
| 658 |
+
* Números de telefone - Use "XXX" ou omita se não fornecido.
|
| 659 |
+
* **Valores monetários específicos** para pedidos (alimentos, danos, etc.) ou valor da causa, A MENOS QUE o valor esteja CLARAMENTE especificado nos textos fornecidos. Se não houver valor, peça "a ser arbitrado por Vossa Excelência" ou use "valor simbólico" ou calcule conforme regras legais (ex: 12x alimentos a serem arbitrados para valor da causa). NÃO invente um número como R$ 3.000,00.
|
| 660 |
+
* Nomes de médicos, números de CRM, ou outros detalhes factuais não mencionados.
|
| 661 |
+
2. **USE "XXX" OBRIGATORIAMENTE:** Para TODA E QUALQUER informação específica necessária pela estrutura da peça (ex: qualificação, endereço, documentos) que NÃO foi fornecida no Enunciado, use **"XXX"**.
|
| 662 |
+
3. **Qualificação:** Inclua os dados MENCIONADOS no Enunciado (nome, nacionalidade, estado civil, profissão). Para os DEMAIS dados exigidos pelo Art. 319, II, CPC que não foram fornecidos, use "XXX".
|
| 663 |
+
4. **Fatos:** Narre APENAS os fatos apresentados no **Enunciado**, de forma cronológica e objetiva. NÃO adicione detalhes ou circunstâncias não descritas.
|
| 664 |
+
5. **Fundamentação Jurídica:** Desenvolva os argumentos legais mencionados no **Gabarito Comentado**, citando os artigos de lei mencionados. Conecte a lei aos fatos **DO ENUNCIADO**.
|
| 665 |
+
6. **Tutela de Urgência/Antecipada:** Se o gabarito/distribuição mencionar, argumente sobre os requisitos (fumus/periculum) usando **FATOS DO ENUNCIADO** para demonstrá-los. NÃO invente fatos para justificar a urgência.
|
| 666 |
+
7. **Pedidos:** Formule **TODOS** os pedidos listados na **Distribuição dos Pontos** e/ou **Gabarito**. Se um valor monetário for pedido, e ele NÃO foi dado no enunciado, peça "valor a ser arbitrado" ou use uma fórmula genérica baseada na lei (ex: percentual sobre rendimentos, se aplicável e mencionado).
|
| 667 |
+
8. **Valor da Causa:** Atribua um valor à causa seguindo as regras do CPC (Art. 292). Se depender de valores não fornecidos no enunciado (como alimentos a serem arbitrados), indique a fórmula (ex: "12 vezes o valor mensal dos alimentos a serem arbitrados") ou um valor simbólico se a lei permitir/exigir. NÃO invente um valor numérico alto arbitrariamente.
|
| 668 |
+
9. **Estrutura:** Siga a ordem lógica (Endereçamento, Qualificação, Fatos, Direito, Tutela, Pedidos, Valor da Causa, Fechamento).
|
| 669 |
+
10. **Linguagem:** Formal e técnica (padrão OAB).
|
| 670 |
+
11. **Finalização:** Use "Local, data.", "ADVOGADO(A)", "OAB/...". NÃO se identifique.
|
| 671 |
+
12. **Exclusividade:** Baseie-se **SOMENTE** nas informações dos textos fornecidos. A violação desta regra (inventar dados) compromete a tarefa.
|
| 672 |
+
13. **Output:** Gere **APENAS** o texto completo da peça processual. Sem comentários ou títulos fora da peça.
|
| 673 |
"""
|
| 674 |
return prompt
|
| 675 |
|
|
|
|
| 1953 |
tipo_peticao_input_geral = gr.Dropdown(label="Tipo de Peça Prática", choices=TIPOS_DE_PETICAO, value="Petição Inicial", info="Selecione o tipo de peça que você elaborou.")
|
| 1954 |
with gr.Row():
|
| 1955 |
caso_input_geral = gr.Textbox(label="📋 Caso / Enunciado", lines=8, placeholder="Cole aqui o caso ou enunciado do problema...")
|
| 1956 |
+
("🎲 Gerar Caso", scale=0, variant="secondary")
|
| 1957 |
|
| 1958 |
gr.Markdown("**Sua Peça Prática:**")
|
| 1959 |
with gr.Tabs():
|
|
|
|
| 2024 |
with gr.TabItem("📊 Análise Detalhada (IA)"):
|
| 2025 |
resultado_analise_output_geral = gr.Markdown("*A análise da IA aparecerá aqui...*")
|
| 2026 |
with gr.Row():
|
| 2027 |
+
export_analise_txt_btn = gr.Button("📄 Exportar Análise (TXT)")
|
| 2028 |
+
export_analise_pdf_btn = gr.Button("📜Exportar Análise (PDF)")
|
| 2029 |
download_analise_file = gr.File(label="Baixar Análise", interactive=False)
|
| 2030 |
|
| 2031 |
with gr.TabItem("✨ Peça Corrigida (Sugestão IA)"):
|
| 2032 |
resultado_peticao_corrigida_output_geral = gr.Textbox(label="Texto da Peça Corrigida/Aprimorada pela IA:", lines=20, show_copy_button=True, interactive=True) # Allow editing/copying
|
| 2033 |
with gr.Row():
|
| 2034 |
+
export_correcao_txt_btn = gr.Button("📄 Exportar Correção (TXT)")
|
| 2035 |
+
export_correcao_pdf_btn = gr.Button("📜Exportar Correção (PDF)")
|
| 2036 |
download_correcao_file = gr.File(label="Baixar Correção", interactive=False)
|
| 2037 |
|
| 2038 |
with gr.TabItem("⚖️ Comparativo (Diff)"):
|
|
|
|
| 2084 |
with gr.TabItem("📝 Peça Modelo OAB (Gerada)"):
|
| 2085 |
resultado_modelo_oab_output = gr.Textbox(label="Texto da Peça Modelo Gerada pela IA:", lines=20, show_copy_button=True, interactive=True)
|
| 2086 |
with gr.Row():
|
| 2087 |
+
export_modelo_txt_btn = gr.Button("📄 Exportar Modelo (TXT)")
|
| 2088 |
+
export_modelo_pdf_btn = gr.Button("📜 Exportar Modelo (PDF)")
|
| 2089 |
download_modelo_file = gr.File(label="Baixar Modelo", interactive=False)
|
| 2090 |
|
| 2091 |
with gr.TabItem("🎯 Avaliação da Sua Peça (Conforme OAB)"):
|
| 2092 |
resultado_correcao_oab_output = gr.Markdown("*A avaliação da sua peça conforme o padrão OAB aparecerá aqui...*")
|
| 2093 |
with gr.Row():
|
| 2094 |
+
export_avaliacao_txt_btn = gr.Button("📄Exportar Avaliação (TXT)")
|
| 2095 |
+
export_avaliacao_pdf_btn = gr.Button("📜Exportar Avaliação (PDF)")
|
| 2096 |
download_avaliacao_file = gr.File(label="Baixar Avaliação", interactive=False)
|
| 2097 |
|
| 2098 |
# --- Botão Limpar ---
|