ApoIA é uma ferramenta de inteligência artificial generativa originalmente desenvolvida para auxiliar na triagem de acervos. Ela analisa documentos de processos e gera resumos das principais peças e gera um relatório sobre acervo.
A ApoIA também pode ser utilizada para realizar uma Síntese do Processo on-line, a partir da informação do número do processo.
Outros recursos disponíveis são a geração de ementas conforme Resolução 156/2024 do CNJ e a revisão de textos por inteligência artificial.
Clique aqui para ver uma apresentação da ApoIA.
Integração com Eproc: Login, consulta processual e obtenção de peças via MNI.
Integração com IA: Repositório de prompts, envio e recebimento, limites de acesso.
Interface com o Usuário: Informação do número do processo, apresentação dos resultados em tempo real, processamento de relatórios.
- Nodejs 20 LTS
- Desenvolvido em TypeScript, NextJS e Vercel AI SDK
- Compatível com ChatGPT, Claude, Gemini, Llama, etc
- MySQL para gerar relatórios de triagem e armazenar respostas de IA (opcional)
- Pode ser acoplado a qualquer sistema compatível com o MNI
- Sem nenhuma outra dependência
A ApoIA requer que diversas variáveis de ambiente sejam informadas. No ambiente de desenvolvimento, isso pode ser feito criando um arquivo na raiz do projeto chamado .env.local
.
Primeiro, indique quais são os sistemas aos quais deseja conectar a ApoIA, depois, para cada sistema, informe o endereço do WSDL e do Endpoint do MNI:
Observação: caso haja a necessidade de utilizar senhas criptografadas ao enviar as requisições, devemos adicionar a variavél de anbiente <SYSTEM>_HASH_PASSWORD
SYSTEMS=TRF2,JFRJ,JFES
TRF2_MNI_WSDL_URL="https://epr.trf2.jus.br/eproc/wsdl.php?srv=intercomunicacao2.2"
TRF2_MNI_ENDPOINT_URL="https://epr.trf2.jus.br/eproc/ws/controlador_ws.php?srv=intercomunicacao2.2"
JFRJ_MNI_WSDL_URL="https://epr.jfrj.jus.br/eproc/wsdl.php?srv=intercomunicacao2.2"
JFRJ_MNI_ENDPOINT_URL="https://epr.jfrj.jus.br/eproc/ws/controlador_ws.php?srv=intercomunicacao2.2"
JFES_MNI_WSDL_URL="https://epr.jfes.jus.br/eproc/wsdl.php?srv=intercomunicacao2.2"
JFES_MNI_ENDPOINT_URL="https://epr.jfes.jus.br/eproc/ws/controlador_ws.php?srv=intercomunicacao2.2"
JFES_HAS_PASSWORD=true
Informe o identificador do modelo de inteligência artificial que deseja utilizar. Outros possíveis seriam: gpt-4o-mini-2024-07-18
, claude-3-5-sonnet-20241022
ou qualquer outro suportado pelo framework Vercel AI.
MODEL=gpt-4o-2024-08-06
Forneça a chave da API relativa ao modelo selecionado. Caso nenhuma seja fornecida, a ApoIA vai solicitar as chaves ao usuário.
OPENAI_API_KEY=CHAVE_DE_API_OPENAI (opcional)
ANTHROPIC_API_KEY=CHAVE_DE_API_ANTHROPIC (opcional)
GOOGLE_API_KEY=CHAVE_DE_API_GOOGLE (opcional)
GROQ_API_KEY=CHAVE_DE_API_GROQ (opcional)
Sugerimos que a ApoIA não tenha acesso a documentos sigilosos. Isso pode ser obtido aplicando a propriedade abaixo:
CONFIDENTIALITY_LEVEL_MAX=0
A Apoia utiliza o framework de autenticação NextAuth, portanto é necessário configurar as propriedades abaixo:
NEXTAUTH_URL_INTERNAL=http://localhost:8081
NEXTAUTH_URL=http://localhost:8081
NEXTAUTH_SECRET=SUBSTITUIR_POR_UM_UUID_ALEATORIO
A API da ApoIA funciona com um token JWE, portanto, é necessário configurar as seguintes propriedades:
JWT_SECRET=SUBSTITUIR_POR_UM_UUID_ALEATORIO
JWT_ISSUER=apoia.trf2.jus.br
JWT_AUDIENCE=apoia.trf2.jus.br
Uma encriptação a mais é realizada na senha a partir da chave abaixo:
PWD_SECRET=SUBSTITUIR_POR_UM_UUID_ALEATORIO
Para criar o esquema apoia
, execute os comandos encontrados nos arquivos mysql/migration
para MySQL e postgres/migration
para postgres
Para conectar ao MySQL, utilize propriedades como as descritas abaixo:
DB_CLIENT=mysql2
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=SUBSTITUIR_PELA_SENHA_DO_MYSQL
DB_DATABASE=apoia
DB_POOL=2
DB_SSL=
Para conectar ao PostgreSQL, utilize siga o padrão abaixo:
DB_CLIENT=pg
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=SUBSTITUIR_PELA_SENHA_DO_POSTGRESQL
DB_DATABASE=apoia
DB_POOL=2
DB_SSL=
O nome do host e da porta pode variar caso esteja executando a partir de sua máquina, como desenvolvimento a fim de fazer debug, ou caso esteja rodando a aplicação a partir de containers
Se desejar que a ApoIA, ao clicar sobre o número de um processo, abra o sistema processual, use a configuração abaixo:
NAVIGATE_TO_PROCESS_URL=https://balcaojush.jfrj.jus.br/balcaojus/#/processo/{numero}?avisos=0
-
Faça o download e instale o Node.js ou, se já tiver o Node.js instalado, atualize o Node.js e o NPM para as últimas versões
-
Faça o donwload e instale o VSCode
-
Clone o repositório da ApoIA
$ cd seu-diretorio-de-repositórios
$ git clone https://github.com/trf2-jus-br/apoia
-
Abra o VSCode no diretório
seu-diretorio-de-repositórios/apoia
(utilize o menuFile/Open Folder
) -
Crie o arquivo de configuração conforme explicado acima
-
Abra o terminal no VSCode (utilize o menu
Terminal/New Terminal
) depois instale as dependências com o comando abaixo:
$ npm install
- Execute a aplicação em modo de desenvolvimento com o comando no terminal:
$ npm run dev
-
Instale o Docker na sua máquina
-
Edite o arquivo
docker-compose.yaml
e ajuste o valor das configurações emservices/apoiaserver/environment
-
Execute a aplicação e depois aponte o navegador para
http://localhost:8080
$ docker-compose up
- Se desejar apenas criar o container do docker, isso pode ser realizado assim:
$ docker build -t apoiaserver .
Caso deseje fazer deploy na nuvem, a ApoIA funciona perfeitamente no Vercel, basta indicar o repositório do GitHub e inserir as configurações.