GabrielGD commited on
Commit
b8be04a
·
verified ·
1 Parent(s): 88853ef

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -22
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, **detalhada e bem fundamentada** para o **Enunciado** fornecido. Utilize o **Gabarito Comentado** como guia 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 os fatos do caso.
637
 
638
  **Enunciado:**
639
  ```
@@ -650,18 +650,26 @@ def estruturar_prompt_geracao_modelo_oab(enunciado, gabarito, distribuicao):
650
  {distribuicao}
651
  ```
652
 
653
- **Instruções Detalhadas para Geração:**
654
- 1. **Qualificação:** Inclua todos os dados possíveis (nome, nacionalidade, estado civil, profissão - use 'XXX' se ausente no Enunciado), RG, CPF, endereço eletrônico e domicílio completo, conforme Art. 319, II, CPC.
655
- 2. **Fatos:** Narre os fatos apresentados no **Enunciado** de forma **cronológica e detalhada**, incluindo datas, locais, a natureza do relacionamento, os indícios de paternidade mencionados, a reação do réu, e a situação de necessidade da autora (desemprego, gravidez de risco, despesas).
656
- 3. **Fundamentação Jurídica:** **Desenvolva** os argumentos legais mencionados no **Gabarito Comentado**. Explique a aplicação da Lei nº 11.804/08, o conceito de alimentos gravídicos, a legitimidade da mãe, e o binômio necessidade-possibilidade, **conectando a lei aos fatos específicos do Enunciado**. Cite os artigos de lei mencionados no gabarito.
657
- 4. **Tutela de Urgência/Antecipada:** Se o gabarito mencionar, **argumente explicitamente** sobre os requisitos (fumus boni iuris e periculum in mora), usando os fatos do **Enunciado** para demonstrá-los (ex: indícios de paternidade para o fumus, risco da gravidez e falta de recursos para o periculum).
658
- 5. **Pedidos:** Formule **todos** os pedidos listados na **Distribuição dos Pontos** e no **Gabarito**, de forma clara e específica. Inclua pedido de citação, produção de provas (detalhando minimamente as pretendidas com base no caso - documental, testemunhal), intervenção do MP (se aplicável), gratuidade de justiça (se os fatos sugerirem), fixação dos alimentos (valor a ser arbitrado), conversão em pensão, condenação em custas e honorários.
659
- 6. **Valor da Causa:** Atribua um valor à causa e justifique-o brevemente, se possível (ex: 12 vezes o valor mensal pretendido para os alimentos, mesmo que a ser arbitrado).
660
- 7. **Estrutura:** Siga a ordem lógica de uma petição (Endereçamento, Qualificação, Fatos, Direito, Tutela (se houver), Pedidos, Valor da Causa, Fechamento).
661
- 8. **Linguagem:** Mantenha a linguagem formal e técnica adequada ao exame da OAB.
662
- 9. **Finalização:** Use "Local, data.", "ADVOGADO(A)", "OAB/...". **Não se identifique.**
663
- 10. **Exclusividade:** Baseie-se **somente** nas informações dos textos fornecidos.
664
- 11. **Output:** Gere **apenas** o texto completo da peça processual. Sem comentários ou títulos fora da peça.
 
 
 
 
 
 
 
 
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
- caso_btn_geral = gr.Button("🎲 Gerar Caso", scale=0, icon="🎲", variant="secondary")
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)", icon="📄")
2020
- export_analise_pdf_btn = gr.Button("Exportar Análise (PDF)", icon="📜")
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)", icon="📄")
2027
- export_correcao_pdf_btn = gr.Button("Exportar Correção (PDF)", icon="📜")
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)", icon="📄")
2080
- export_modelo_pdf_btn = gr.Button("Exportar Modelo (PDF)", icon="📜")
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)", icon="📄")
2087
- export_avaliacao_pdf_btn = gr.Button("Exportar Avaliação (PDF)", icon="📜")
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 ---