-
Notifications
You must be signed in to change notification settings - Fork 4
developer‐manual
A ApoIA foi desenvolvida em TypeScript, com uso de NextJS e Vercel AI SDK. Ela funciona como uma API de Inteligência Artificial Generativa que pode se conectar a múltiplos provedores (OpenAI, Google, Llama, Anthropic etc.).
%% Exemplo em Mermaid para visualização
flowchart LR
A(ApoIA) --> B(Serviço SSO)
B --> A
B --> C(Data Lake Codex)
A --> C
C --> A
A --> D(Banco PostgreSQL)
D --> A
- Serviço SSO: realiza autenticação e fornece credenciais.
- Data Lake Codex: repositório de dados dos processos.
- Banco PostgreSQL: armazenamento de relatórios de triagem, respostas da IA e demais dados persistentes.
Observação: O mesmo diagrama se aplica à integração MNI, pois a estrutura de comunicação é semelhante.
-
Ambiente de Desenvolvimento
- Node.js (versão 16 ou superior)
- Banco de dados PostgreSQL (ou MySQL)
- Acesso a chaves de API dos provedores de IA (caso seja necessária inferência fora da infraestrutura do tribunal)
-
Configurações do Projeto
- Clonar o repositório disponível no [GitHub](https://github.com/trf2-jus-br/apoia) ou [Git CNJ](https://git.cnj.jus.br/pdpj/negocio/apoia).
- Ajustar as variáveis de ambiente (por exemplo,
OPENAI_API_KEY
,DATABASE_URL
, etc.) conforme necessidade. - Configurar o arquivo
.env
com as credenciais para cada modelo de IA desejado.
-
Compilação e Deploy
- Executar
npm install
para instalar as dependências. - Rodar
npm run build
para compilar o projeto. - Iniciar o servidor:
npm start
ou configurar em ambiente containerizado (Docker).
- Executar
- Autenticação: realizada via serviço SSO.
- Consulta de Processos: ApoIA se comunica com o Data Lake Codex para obter textos das peças processuais.
- Armazenamento: informações mínimas (metadados) podem ser mantidas no banco de dados local.
O mesmo fluxo de comunicação do PDPJ-Br é replicado para o MNI (Modelo Nacional de Interoperabilidade), respeitando normas de autenticação e segurança.
A ApoIA possui um Repositório de Prompts, onde ficam armazenadas instruções pré-configuradas para cada tipo de tarefa (síntese, revisão, geração de ementas etc.). Os prompts podem ser:
- Versão de Produção: prompts oficiais, testados e aprovados.
- Versão de Teste: prompts em desenvolvimento, que podem ser modificados e comparados.
O repositório registra:
- Histórico de alterações
- Resultados de testes
- Ranking de prompts
Para cada provedor de IA (OpenAI, Google, Llama, Anthropic, etc.), o usuário ou o tribunal pode cadastrar a chave de acesso na através da opção de menu Modelo de IA
.
Caso o Tribunal não possua contrato direto com algum provedor, um usuário autorizado pode inserir a própria chave de API para habilitar o uso daquele modelo.
- Sigilo de Dados: a ApoIA utiliza conexões seguras (HTTPS) e faz chamadas à API de forma controlada, reduzindo o risco de vazamento de informações.
- Nível de Acesso: atualmente, somente processos e peças de nível zero (sem informação sigilosa) são tratados.
- Controle de Logs: é possível customizar o nível de detalhamento dos logs para proteger dados sensíveis.
- Escalabilidade: a ApoIA pode ser executada em clusters ou serviços de nuvem.
- Monitoramento: recomenda-se o uso de ferramentas para acompanhar performance e consumo de tokens de IA.
- Suporte a novos modelos de IA conforme forem surgindo.
- Ampliação do escopo de processos sigilosos mediante implementação de camadas adicionais de segurança.
- Novas funcionalidades que podem ser adicionadas ao repositório de prompts, auxiliando ainda mais na automação de tarefas do Judiciário.
A ApoIA foi desenvolvida para ser uma base sólida de criação, teste e disponibilização de ferramentas de IA para o Judiciário. Com sua arquitetura modular e open-source, é facilmente adaptável às necessidades de cada Tribunal. Seguindo as boas práticas de segurança e configuração recomendadas neste manual, a implantação e o uso da ApoIA podem trazer ganhos expressivos de eficiência e confiabilidade no tratamento de processos judiciais.