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.
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. Informe a chave de API relativa ao modelo selecionado. As outras não serão utilizadas.
OPENAI_API_KEY=CHAVE_DE_API_OPENAI
ANTHROPIC_API_KEY=CHAVE_DE_API_ANTHROPIC (opcional)
GOOGLE_API_KEY=CHAVE_DE_API_GOOGLE (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 que a ApoIA possa gerar relatórios de triagem e para que possa fazer o cache dos textos gerados por IA, é necessário conectá-la ao MySQL ou ao PostgreSQL. Se nenhuma destas funcionalidades for importante, basta omitir os parâmetros abaixo que a ApoIA, ainda que limitada, funcionará.
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=
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
Para criar o esquema apoia
, execute os comandos encontrados no arquivo migration-001.sql
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 menu File/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
$ npm run dev
Instale o Docker na sua máquina
Edite o arquivo docker-compose.yaml
e ajuste o valor das configurações em services/apoiaserver/environment
Execute a aplicação e depois aponte o navegador para http://localhost:8080
$ docker-compose up
$ 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.
A ApoIA utiliza o framework PromptFoo para realizar testes em seus prompts.
Para executar o teste de um prompt específico, vá para o diretório onde se encontra o arquivo prompt.txt e execute o comando:
npx promptfoo@latest eval --env-file ../../.env.local --no-table --repeat 1 -c test.yaml
Para abrir a visualização dos resultados no browser, digite:
npx promptfoo@latest view