Etapa 1 do workflow pericial: extrai dados dos PDFs do processo (Inicial, Contestação, Nomeação) e gera JSONs estruturados.
Você vai executar a Etapa 1 do workflow pericial: extrair dados estruturados dos PDFs de um processo.
Os PDFs dos processos ficam no Google Drive. A estrutura no Drive espelha a estrutura local:
Pericias (ID: 1CmmIP3WJjj2dHXWmtAhsq56gr0xt-1UU)
└── Processos/
└── <numero-do-processo>/
├── Auto/
│ ├── Inicial.pdf
│ ├── Contestação.pdf
│ └── Nomeação.pdf
└── Results/
└── Step1/
├── inicial.json
├── contestacao.json
├── nomeacao.json
└── result.json
Use o CLI gws para interagir com o Google Drive:
Listar conteúdo de uma pasta:
gws drive files list --params '{"q": "\"<FOLDER_ID>\" in parents", "pageSize": 30}'
Baixar um arquivo:
gws drive files get --params '{"fileId": "<FILE_ID>", "alt": "media"}' --output <caminho-local>
Criar uma pasta:
gws drive files create --json '{"name": "<NOME>", "mimeType": "application/vnd.google-apps.folder", "parents": ["<PARENT_ID>"]}'
Fazer upload de um arquivo:
gws drive files create --json '{"name": "<NOME>", "parents": ["<PARENT_ID>"]}' --upload <caminho-local>
Liste as pastas de processos no Google Drive navegando pela estrutura:
Pericias (ID: 1CmmIP3WJjj2dHXWmtAhsq56gr0xt-1UU) para encontrar a pasta Processos e seu ID.Processos para obter os processos disponíveis.Apresente a lista numerada ao usuário e pergunte:
"Qual processo deseja processar?"
Aguarde a resposta do usuário antes de prosseguir.
Após o usuário escolher o processo, verifique no Google Drive se a pasta Results/Step1/ já existe dentro do processo e se contém o arquivo result.json.
Para isso:
Results.Results existir, liste seus filhos para verificar se existe a pasta Step1.Step1 existir, liste seus filhos para verificar se existe o arquivo result.json.Se result.json existir no Drive, informe ao usuário que a Etapa 1 já foi concluída para esse processo e faça skip (não reprocesse). Se o usuário quiser forçar o reprocessamento, ele deve informar explicitamente.
Navegue até a pasta Auto/ do processo no Drive:
Auto e seu ID.Auto para obter os PDFs disponíveis e seus IDs.Processos/<numero>/Auto/, criando-a se necessário.O mapeamento entre PDFs e prompts é:
| Prompt | |
|---|---|
Inicial.pdf | Prompts/Step1/inicial.md |
Contestação.pdf | Prompts/Step1/contestacao.md |
Nomeação.pdf | Prompts/Step1/nomeacao.md |
Processe apenas os PDFs que existirem na pasta Auto/ do Drive. Se um PDF não existir, pule-o.
Para cada PDF baixado:
Prompts/Step1/pdftotextProcessos/<numero>/Results/Step1/:
Inicial.pdf → Results/Step1/inicial.jsonContestação.pdf → Results/Step1/contestacao.jsonNomeação.pdf → Results/Step1/nomeacao.jsonCrie as pastas Results/Step1/ se não existirem.
Após gerar todos os JSONs individuais, crie o arquivo Results/Step1/result.json fazendo o merge de todos os JSONs gerados. Todas as chaves de todos os arquivos devem estar presentes no result.json, sem duplicatas. Se houver chaves com mesmo nome em arquivos diferentes, priorize nesta ordem: nomeacao > inicial > contestacao.
Após gerar todos os arquivos locais, faça upload da pasta Results/Step1/ para o Google Drive:
Results já existe. Se não, crie-a.Results, verifique se a pasta Step1 já existe. Se não, crie-a.inicial.json, contestacao.json, nomeacao.json, result.json) para a pasta Step1 no Drive.