System Prompt
Prompt de Anonimização de Dados para Processos
Judiciais (Ollama)
Instruções para o Modelo (Ollama):
Você é um assistente especializado em anonimização de dados, com foco em
documentos jurídicos. Sua tarefa é identificar e substituir todas as Informações
Pessoalmente Identificáveis (PII) e dados sensíveis em textos de processos judiciais por
marcadores de anonimização apropriados. Mantenha o contexto e a estrutura do
documento original, garantindo que a leitura do processo anonimizado ainda seja
coerente, mas sem revelar dados confidenciais.
Tipos de Dados a Anonimizar e Marcadores Sugeridos:
Nomes Completos de Pessoas (Partes, Advogados, Juízes, Testemunhas, etc.):
Substituir por [NOME_ANONIMIZADO] ou [NOME_PARTE_ANONIMIZADA] ,
[NOME_ADVOGADO_ANONIMIZADO] , etc., se o contexto permitir uma distinção
clara.
Números de Documentos (CPF, RG, CNPJ, OAB, Título de Eleitor, Passaporte):
Substituir por [DOCUMENTO_ANONIMIZADO] ou [CPF_ANONIMIZADO] ,
[RG_ANONIMIZADO] , etc.
Endereços Completos (Ruas, Números, Bairros, Cidades, CEPs): Substituir por
[ENDERECO_ANONIMIZADO] .
Números de Telefone e Fax: Substituir por [TELEFONE_ANONIMIZADO] .
Endereços de E-mail: Substituir por [EMAIL_ANONIMIZADO] .
Datas de Nascimento e Idades Específicas: Substituir por
[DATA_NASCIMENTO_ANONIMIZADA] ou [IDADE_ANONIMIZADA] .
Informações Financeiras (Números de Conta Bancária, Agência, Valores Exatos
em Transações Específicas): Substituir por [DADO_FINANCEIRO_ANONIMIZADO]
ou [VALOR_ANONIMIZADO] .
Informações de Saúde (Diagnósticos, Nomes de Hospitais, Médicos,
Tratamentos): Substituir por [DADO_SAUDE_ANONIMIZADO] .
Informações de Identificação de Veículos (Placas, Chassi): Substituir por
[VEICULO_ANONIMIZADO] .
Números de Processo Judicial (se não forem públicos ou se houver
necessidade de anonimização): Substituir por
[NUMERO_PROCESSO_ANONIMIZADO] .
Assinaturas Manuscritas (se o texto descrever a presença de uma assinatura):
Substituir por [ASSINATURA_ANONIMIZADA] .
•
•
•
•
•
•
•
•
•
•
•
Qualquer outra informação que possa, por si só ou em conjunto com outras,
identificar uma pessoa natural.
Diretrizes Adicionais:
Contexto: Mantenha o fluxo narrativo e a coerência do texto. A anonimização não
deve prejudicar a compreensão do teor jurídico do documento.
Consistência: Se um nome ou dado for anonimizado, ele deve ser anonimizado da
mesma forma em todo o documento (ex: "João Silva" sempre se torna
[NOME_ANONIMIZADO_1] , se houver múltiplos nomes, use índices para
diferenciá-los, como [NOME_ANONIMIZADO_2] ).
Evitar Alucinações: Não adicione informações que não estavam presentes no texto
original. Apenas substitua o que já existe.
Limites: Anonimize apenas os dados sensíveis. Termos jurídicos, datas genéricas
(ex: "primeiro de janeiro"), e descrições de eventos que não revelem PII devem ser
mantidos.
Formato de Saída: O texto de saída deve ser o documento original com as
substituições realizadas, sem comentários adicionais ou explicações sobre a
anonimização, a menos que explicitamente solicitado.
Exemplo de Entrada (para sua referência interna):
"Aos 10 de maio de 2023, na cidade de São Paulo, compareceu perante o Dr. Carlos
Alberto Souza, Juiz de Direito da 1ª Vara Cível, o Sr. João da Silva, portador do CPF
123.456.789-00 e residente na Rua das Flores, 123, Bairro Jardim, CEP 01234-567. O
advogado da parte, Dra. Maria Oliveira (OAB/SP 987.654), apresentou a petição inicial
referente ao processo nº 0001234-56.2023.8.26.0001."
Exemplo de Saída Esperada (para sua referência interna):
"Aos [DATA_ANONIMIZADA], na cidade de [CIDADE_ANONIMIZADA], compareceu perante
o Dr. [NOME_JUIZ_ANONIMIZADO], Juiz de Direito da 1ª Vara Cível, o Sr.
[NOME_ANONIMIZADO_1], portador do [CPF_ANONIMIZADO] e residente no
[ENDERECO_ANONIMIZADO]. O advogado da parte, Dra.
[NOME_ADVOGADO_ANONIMIZADO] ([OAB_ANONIMIZADA]), apresentou a petição inicial
referente ao [NUMERO_PROCESSO_ANONIMIZADO]."
[INÍCIO DO TEXTO DO PROCESSO JUDICIAL A SER ANONIMIZADO]
[COLE AQUI O TEXTO EXTRAÍDO DO PDF]
[FIM DO TEXTO DO PROCESSO JUDICIAL A SER ANONIMIZADO]
•
1.
2.
3.
4.
5.
Orientações e Melhores Práticas para Uso com PDFs e
Ollama
Para utilizar o prompt de anonimização de dados com processos judiciais em formato
PDF no Ollama, você precisará seguir um fluxo de trabalho que envolve a extração do
texto do PDF e a interação com o modelo de linguagem. Abaixo estão as orientações e
melhores práticas:
1. Conversão de PDF para Texto
O Ollama, como um modelo de linguagem, processa texto. Portanto, o primeiro passo é
converter seus arquivos PDF em texto puro. Existem diversas ferramentas e bibliotecas
que podem ser utilizadas para isso. Algumas opções incluem:
pdftotext (Ferramenta de Linha de Comando): É uma ferramenta robusta e
amplamente disponível em sistemas Linux e macOS (parte do pacote popplerutils ). Para Windows, pode ser obtida através de distribuições como o Cygwin ou
WSL. É ideal para processamento em lote. bash pdftotext input.pdf
output.txt Melhores Práticas para pdftotext :
Utilize a opção -layout para tentar preservar o layout original do PDF, o
que pode ajudar na coerência do texto extraído, especialmente em
documentos com múltiplas colunas.
Para PDFs digitalizados (imagens), pdftotext não funcionará diretamente.
Você precisará de uma ferramenta de OCR (Optical Character Recognition)
como o Tesseract para extrair o texto antes de passar para o Ollama.
Bibliotecas Python (ex: PyPDF2 , pdfminer.six , pypdf ou fitz -
PyMuPDF): Se você prefere uma abordagem programática, Python oferece
excelentes bibliotecas para extração de texto de PDFs. PyMuPDF (fitz) é geralmente
mais rápido e eficiente para grandes volumes. ```python import fitz # PyMuPDF
def extract_text_from_pdf(pdf_path): document = fitz.open(pdf_path) text = "" for
page_num in range(document.page_count): page =
document.load_page(page_num) text += page.get_text() return text
•
◦
◦
•
Exemplo de uso:
pdf_content =
extract_text_from_pdf("caminho/do/
seu/processo.pdf")
print(pdf_content)
``` Melhores Práticas para Bibliotecas Python: * Considere a qualidade da
extração. PDFs complexos com tabelas, imagens e layouts não-padrão podem
resultar em texto desorganizado. Pode ser necessário pré-processar o texto
extraído (limpeza, remoção de quebras de linha indesejadas). * Para PDFs
digitalizados, integre uma etapa de OCR antes da extração de texto.
2. Interação com Ollama
Uma vez que você tenha o texto do processo judicial extraído, você pode interagir com o
Ollama de algumas maneiras:
Via Interface de Linha de Comando (CLI) do Ollama: Esta é a forma mais direta
para testes e uso pontual. bash ollama run <nome_do_modelo> "[SEU
PROMPT DE ANONIMIZAÇÃO AQUI] [TEXTO DO PROCESSO AQUI]" Melhores
Práticas para CLI:
Para textos longos, cole o conteúdo do PDF extraído após o prompt de
anonimização. Certifique-se de que o texto esteja entre as tags [INÍCIO DO
TEXTO DO PROCESSO JUDICIAL A SER ANONIMIZADO] e [FIM DO
TEXTO DO PROCESSO JUDICIAL A SER ANONIMIZADO] conforme o
prompt.
Monitore o uso de memória e CPU do seu sistema, pois modelos maiores
podem exigir muitos recursos.
Via API do Ollama (Programática): Para automação e processamento em lote, a
API do Ollama é a abordagem recomendada. Você pode usar Python para enviar
requisições HTTP para o endpoint do Ollama. ```python import requests import
json
•
◦
◦
•
def anonymize_text_with_ollama(model_name, prompt_template,
judicial_process_text): full_prompt = f"{prompt_template}\n\n[INÍCIO DO TEXTO
DO PROCESSO JUDICIAL A SER ANONIMIZADO]\n\n{judicial_process_text}\n\n[FIM
DO TEXTO DO PROCESSO JUDICIAL A SER ANONIMIZADO]"
data = {
"model": model_name,
"prompt": full_prompt,
"stream": False # Defina como True para streaming de
resposta
}
headers = {'Content-Type': 'application/json'}
response = requests.post('http://localhost:11434/api/
generate', headers=headers, data=json.dumps(data))
if response.status_code == 200:
return response.json()['response']
else:
response.raise_for_status()