oraculo / config.py
victorafarias's picture
Versão Estável
f0b6306
# config.py
# --- PROMPTS PARA O MODO HIERÁRQUICO ---
PROMPT_HIERARQUICO_GROK = """
<prompt>
<role>
{contexto}
</role>
<requirements>
<length_requirements>
<min_characters_no_spaces>MIN_CHARS_PLACEHOLDER</min_characters_no_spaces>
<max_characters_no_spaces>MAX_CHARS_PLACEHOLDER</max_characters_no_spaces>
</length_requirements>
<language>Português do Brasil</language>
<paragraph_structure>Parágrafos curtos para facilitar a leitura</paragraph_structure>
<language_style>
- Linguagem profunda e formal, mas acessível a leigos
- Evitar tecnicismos excessivos
- Evitar rigidez acadêmica desnecessária
- Manter profundidade intelectual sem perder clareza
</language_style>
</requirements>
<context_from_documents>
A seguir, trechos de documentos fornecidos pelo usuário para sua referência. Use-os como base teórica para enriquecer sua resposta.
---
{rag_context}
---
</context_from_documents>
<user_request>
<solicitacao_usuario>
{solicitacao_usuario}
</solicitacao_usuario>
</user_request>
<instructions>
Com base na solicitação do usuário acima, desenvolva um texto que:
1. Explore o tema com profundidade filosófica e teológica
2. Mantenha conexão com a tradição católica quando relevante
3. Apresente argumentos bem estruturados e fundamentados
4. Use exemplos práticos quando apropriado para ilustrar conceitos
5. Mantenha tom respeitoso e reflexivo ao longo do texto
6. Organize o conteúdo de forma lógica e progressiva
7. Evite usar um estilo de escrita muito característico de textos gerados com IA, como por exemplo: "Não é mera..., mas é...". Coisas assim. Seja mais direto.
8. Todo o texto, incluindo citações, devem estar na lingua Português do Brasil.
<forbidden>Que o texto tenha menos de MIN_CHARS_PLACEHOLDER caracteres *desconsiderando os espaços*.</forbidden>
<forbidden>Que o texto tenha mais de MAX_CHARS_PLACEHOLDER caracteres *desconsiderando os espaços*.</forbidden>
</instructions>
</prompt>
"""
PROMPT_HIERARQUICO_SONNET = """
<tarefa>
<role>
{contexto}
</role>
<objetivo>Analisar criticamente e aprimorar texto gerado por primeiro especialista</objetivo>
<entrada>
<solicitacao_usuario>{solicitacao_usuario}</solicitacao_usuario>
<texto_para_analise>{texto_para_analise}</texto_para_analise>
</entrada>
<tamanhoDoTexto>
<length_requirements>
<min_characters_no_spaces>MIN_CHARS_PLACEHOLDER</min_characters_no_spaces>
<max_characters_no_spaces>MAX_CHARS_PLACEHOLDER</max_characters_no_spaces>
</length_requirements>
</tamanhoDoTexto>
<instrucoes>
<analise>
<verificar>coesão do texto</verificar>
<verificar>coerência dos argumentos</verificar>
<verificar>profundidade da análise</verificar>
</analise>
<aprimoramento>
<acao>identificar pontos para aprofundamento</acao>
<acao>adicionar detalhes relevantes</acao>
<acao>incluir exemplos esclarecedores</acao>
<acao>incorporar nuances ao conteúdo</acao>
<acao>adicionar referências de novos autores quando possível</acao>
</aprimoramento>
<correcoes>
<acao>corrigir imprecisões conceituais</acao>
<acao>corrigir problemas argumentativos</acao>
</correcoes>
<forbidden>Que o texto tenha menos de MIN_CHARS_PLACEHOLDER caracteres *desconsiderando os espaços*.</forbidden>
<forbidden>Que o texto tenha mais de MAX_CHARS_PLACEHOLDER caracteres *desconsiderando os espaços*.</forbidden>
</instrucoes>
<restricoes>
<proibido>fazer reduções do texto</proibido>
<proibido>elaborar um texto com mais de 30000 caracteres</proibido>
<proibido>fazer resumos</proibido>
<proibido>encurtar o conteúdo original</proibido>
<proibido>usar expressões características de IA como "Não é mera..., mas é..."</proibido>
</restricoes>
<requisitos>
<manter>estilo de linguagem original</manter>
<manter>tom do texto original</manter>
<garantir>escrita direta e natural</garantir>
<garantir>texto em Português do Brasil</garantir>
<traduzir>citações em outros idiomas</traduzir>
</requisitos>
<resultado_esperado>
Texto completo reescrito com melhorias, detalhamentos e correções incorporados, sendo uma versão mais completa e robusta que a original.
</resultadoesperado>
</tarefa>
"""
PROMPT_HIERARQUICO_GEMINI = """
<tarefa>
<role>
{contexto}
</role>
<objetivo>Você é o revisor final. Sua função é polir e aperfeiçoar o texto que já passou por uma primeira rodada de escrita e uma segunda de revisão e aprofundamento. Não faça reduções e nem resumos. Se conseguir aprofundar e detalhar melhor o texto, adicionar novas referência de novos autores, faça. Se não conseguir, não faça nada.</objetivo>
<entrada>
<solicitacao_usuario>{solicitacao_usuario}</solicitacao_usuario>
<texto_para_analise>{texto_para_analise}</texto_para_analise>
</entrada>
<tamanhoDoTexto>
<length_requirements>
<min_characters_no_spaces>MIN_CHARS_PLACEHOLDER</min_characters_no_spaces>
<max_characters_no_spaces>MAX_CHARS_PLACEHOLDER</max_characters_no_spaces>
</length_requirements>
</tamanhoDoTexto>
<instrucoes>
<instrucao>
<step>Análise Crítica Final:</step>
<description>Leia o texto atentamente, buscando a máxima qualidade, clareza e profundidade.</description>
</instrucao>
<instrucao>
<step>Validação de Caracteres:</step>
<description>Verifique se o texto atingiu a quantidade de caracteres mínima de 24000 e máxima de 30000 caracteres.</description>
</instrucao>
<instrucao>
<step>Correções e Complementos Finais:</step>
<description>Adicione os toques finais. Melhore a fluidez entre os parágrafos, enriqueça o vocabulário e adicione insights que possam ter sido omitidos. Aprofunde e detalhe o texto, adicionando novas referências de autores, se pertinente.</description>
</instrucao>
<instrucao>
<step>Garantia de Qualidade:</step>
<description>Assegure que o texto final atende a todos os requisitos da solicitação original do usuário de forma exemplar.</description>
<step>Conteúdo do Texto:</step>
<description>Retorne apenas o texto, sem comentários introdutórios ou de qualquer tipo.</description>
</instrucao>
<correcoes>
<acao>corrigir imprecisões conceituais</acao>
<acao>corrigir problemas argumentativos</acao>
</correcoes>
</instrucoes>
<restricoes>
<proibido>fazer reduções do texto</proibido>
<proibido>fazer resumos</proibido>
<proibido>encurtar o conteúdo original</proibido>
<proibido>elaborar um texto com mais de 30000 caracteres</proibido>
<proibido>usar expressões características de IA como "Não é mera..., mas é..."</proibido>
<proibido>Que o texto tenha menos de MIN_CHARS_PLACEHOLDER caracteres *desconsiderando os espaços*.</proibido>
<proibido>Que o texto tenha mais de MAX_CHARS_PLACEHOLDER caracteres *desconsiderando os espaços*.</proibido>
</restricoes>
<requisitos>
<manter>estilo de linguagem original</manter>
<manter>tom do texto original</manter>
<garantir>escrita direta e natural</garantir>
<garantir>texto em Português do Brasil</garantir>
<traduzir>citações em outros idiomas</traduzir>
</requisitos>
<resultado_esperado>
Texto completo com melhorias, detalhamentos e correções incorporados, sendo uma versão mais completa e robusta que a original.
</resultadoesperado>
</tarefa>
"""
# --- PROMPTS PARA O MODO ATÔMICO ---
PROMPT_ATOMICO_INICIAL = """
<prompt>
<role>
{contexto}
</role>
<requirements>
<length_requirements>
<min_characters_no_spaces>MIN_CHARS_PLACEHOLDER</min_characters_no_spaces>
<max_characters_no_spaces>MAX_CHARS_PLACEHOLDER</max_characters_no_spaces>
</length_requirements>
<language>Português do Brasil</language>
<paragraph_structure>Parágrafos curtos para facilitar a leitura</paragraph_structure>
<language_style>
- Linguagem profunda e formal, mas acessível a leigos
- Evitar tecnicismos excessivos
- Evitar rigidez acadêmica desnecessária
- Manter profundidade intelectual sem perder clareza
</language_style>
</requirements>
<context_from_documents>
A seguir, trechos de documentos fornecidos pelo usuário para sua referência. Use-os como base teórica para enriquecer sua resposta.
---
{rag_context}
---
</context_from_documents>
<user_request>
<solicitacao_usuario>
{solicitacao_usuario}
</solicitacao_usuario>
</user_request>
<instructions>
Com base na solicitação do usuário acima, desenvolva um texto que:
1. Explore o tema com profundidade filosófica e teológica
2. Mantenha conexão com a tradição católica quando relevante
3. Apresente argumentos bem estruturados e fundamentados
4. Use exemplos práticos quando apropriado para ilustrar conceitos
5. Mantenha tom respeitoso e reflexivo ao longo do texto
6. Organize o conteúdo de forma lógica e progressiva
7. Evite usar um estilo de escrita muito característico de textos gerados com IA, como por exemplo: "Não é mera..., mas é...". Coisas assim. Seja mais direto.
8. Todo o texto, incluindo citações, devem estar na lingua Português do Brasil.
<forbidden>Que o texto tenha menos de MIN_CHARS_PLACEHOLDER caracteres *desconsiderando os espaços*.</forbidden>
<forbidden>Que o texto tenha mais de MAX_CHARS_PLACEHOLDER caracteres *desconsiderando os espaços*.</forbidden>
</instructions>
</prompt>
"""
PROMPT_ATOMICO_MERGE = """
<prompt>
<role>
{contexto}
</role>
<task>
Com base na solicitação original do usuário e nos textos-base fornecidos, sua tarefa é analisar criticamente os textos e elaborar uma versão consolidada, unindo o que há de melhor em cada um deles.
</task>
<inputs>
<user_request>
<title>Solicitação Original do Usuário:</title>
<content>{solicitacao_usuario}</content>
</user_request>
<text_openai>
<title>Texto Gerado pela OPEN AI:</title>
<content>{texto_para_analise_openai}</content>
</text_openai>
<text_sonnet>
<title>Texto Gerado pelo Sonnet:</title>
<content>{texto_para_analise_sonnet}</content>
</text_sonnet>
<text_gemini>
<title>Texto Gerado pelo Gemini:</title>
<content>{texto_para_analise_gemini}</content>
</text_gemini>
</inputs>
<instructions>
<structure>
Analise e escolha a melhor estrutura de seções entre os 3 textos e aplique no texto consolidado. A melhor estrutura de seções é aquela que melhor entendeu o objetivo da solicitação do usuário e que mais conseguir se aprofundar na abordagem do tema.
</structure>
<length_requirements>
<min_characters_no_spaces>MIN_CHARS_PLACEHOLDER</min_characters_no_spaces>
<max_characters_no_spaces>MAX_CHARS_PLACEHOLDER</max_characters_no_spaces>
</length_requirements>
<analysis>
Verifique a coesão, coerência e profundidade dos argumentos.
</analysis>
<consolidation>
Identifique os pontos fortes de cada texto e gere um texto final consolidado. Cuide para o que texto não fique redundante, ou seja, voltando nos mesmos assuntos e conceitos.
</consolidation>
<corrections>
Corrija eventuais imprecisões conceituais ou argumentativas. Corrija eventuais citações a livros ou autores que não existem. Todos as obras e autores devem ser reais.
</corrections>
<expansion>
Não resuma ou reduza o texto: Seu objetivo é consolidar, expandir e aprofundar, nunca encurtar o texto. O resultado final deve ser uma versão mais completa e robusta do que os textos originais, e deve obedecer o mínimo de MIN_CHARS_PLACEHOLDER caracteres.
</expansion>
<style>
Mantenha o estilo: Respeite o estilo de linguagem e o tom do texto original.
</style>
<writing_style>
Evite usar um estilo de escrita muito característico de textos gerados com IA, como por exemplo: "Não é mera..., mas é...". Coisas assim. Seja mais direto.
Tente usar um estilo de escrita parecida com a de Gilbert K. Chesterton.
</writing_style>
<language>
Verificar se todo o texto, incluindo citações, estão na lingua Português do Brasil. Traduza as que não estiverem.
</language>
<forbidden>Que o texto tenha menos de MIN_CHARS_PLACEHOLDER caracteres *desconsiderando os espaços*.</forbidden>
<forbidden>Que o texto tenha mais de MAX_CHARS_PLACEHOLDER caracteres *desconsiderando os espaços*.</forbidden>
</instructions>
<output>
Texto consolidado, melhorado e corrigido.
</output>
</prompt>
"""