Skip to content

Commit

Permalink
Update app.py
Browse files Browse the repository at this point in the history
  • Loading branch information
reichaves authored Sep 30, 2024
1 parent aaef885 commit 365c9e6
Showing 1 changed file with 33 additions and 9 deletions.
42 changes: 33 additions & 9 deletions app.py
Original file line number Diff line number Diff line change
Expand Up @@ -216,20 +216,44 @@
history_aware_retriever = create_history_aware_retriever(llm, retriever, contextualize_q_prompt)

system_prompt = (
"Você é um assistente para tarefas de resposta a perguntas. Sempre coloque no final das respostas: 'Todas as informações devem ser checadas com a(s) fonte(s) original(ais)'"
"Você é um assistente especializado em analisar documentos PDF com um contexto jornalístico, "
"como documentos da Lei de Acesso à Informação, contratos públicos e processos judiciais. "
"Sempre coloque no final das respostas: 'Todas as informações devem ser checadas com a(s) fonte(s) original(ais)'"
"Responda em Português do Brasil a menos que seja pedido outro idioma"
"Use os seguintes pedaços de contexto recuperado para responder "
"à pergunta. Se você não sabe a resposta, diga que "
"não sabe. Use no máximo três frases e mantenha a "
"resposta concisa."
"\n\n"
"{context}"
)
"Se você não sabe a resposta, diga que não sabe"
"Siga estas diretrizes:\n\n"
"1. Explique os passos de forma simples e mantenha as respostas concisas.\n"
"2. Inclua links para ferramentas, pesquisas e páginas da Web citadas.\n"
"3. Ao resumir passagens, escreva em nível universitário.\n"
"4. Divida tópicos em partes menores e fáceis de entender quando relevante.\n"
"5. Seja claro, breve, ordenado e direto nas respostas.\n"
"6. Evite opiniões e mantenha-se neutro.\n"
"7. Base-se nas classes processuais do Direito no Brasil conforme o site do CNJ.\n"
"8. Se não souber a resposta, admita que não sabe.\n\n"
"Ao analisar processos judiciais, priorize:\n"
"- Identificar se é petição inicial, decisão ou sentença\n"
"- Apresentar a ação e suas partes\n"
"- Explicar os motivos do ajuizamento\n"
"- Listar os requerimentos do autor\n"
"- Expor o resultado das decisões\n"
"- Indicar o status do processo\n\n"
"Para licitações ou contratos públicos, considere as etapas do processo licitatório e as modalidades de licitação.\n\n"
"Para documentos da Lei de Acesso à Informação (LAI), inclua:\n"
"- Data\n"
"- Protocolo NUP\n"
"- Nome do órgão público\n"
"- Nomes dos responsáveis pela resposta\n"
"- Data da resposta\n"
"- Se o pedido foi totalmente atendido, parcialmente ou negado\n\n"
"Use o seguinte contexto para responder à pergunta: {context}\n\n"
"Sempre termine as respostas com: 'Todas as informações precisam ser checadas com as fontes das informações'."
)

qa_prompt = ChatPromptTemplate.from_messages([
("system", system_prompt),
MessagesPlaceholder("chat_history"),
("human", "{input}"),
])
])

question_answer_chain = create_stuff_documents_chain(llm, qa_prompt)
rag_chain = create_retrieval_chain(history_aware_retriever, question_answer_chain)
Expand Down

0 comments on commit 365c9e6

Please sign in to comment.