> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/docs.facephi-pt-br/sdks/backend-sdk/ocr/technical_documentation/technical_specifications.md).

# Especificações técnicas

O serviço web é iniciado com uma thread. Cada thread gerencia documentos em modo de thread única, o que significa que ela só pode processar uma solicitação por vez. O número de threads é limitado pelos recursos de hardware disponíveis. Portanto, se muitas solicitações forem enviadas ao mesmo tempo, elas entram em fila e são processadas uma a uma.

## 1. Considerações

A velocidade de processamento da solicitação depende de:

* A qualidade da imagem.
* O desempenho da CPU.
* A alocação de CPU por worker. As etapas da consulta são intrinsecamente paralelizadas, portanto um worker com 4 CPUs executará a solicitação mais rapidamente em comparação com um worker com apenas 1 CPU.

### 1.1 Requisitos da imagem

Para fornecer o melhor resultado possível, é necessário que as imagens enviadas atendam aos seguintes requisitos:

* A qualidade mínima da imagem é 720p, 100dpi. Você deve sempre manter a proporção correta.
* As `Invoices` devem estar em **formato A4**.
* Para uma detecção correta do documento, recomenda-se que a imagem tenha bom contraste entre o fundo e o documento e que os quatro cantos do documento estejam visíveis.

## 2. Requisitos de hardware

|       | Requisito mínimo                                                        | Requisito recomendado          |
| ----- | ----------------------------------------------------------------------- | ------------------------------ |
| CPU   | CPU de 4 núcleos compatível com o conjunto de instruções SSE4.2, >=2GHz | 8 núcleos, compatível com AVX2 |
| RAM   | 4 Gb                                                                    | 8 Gb                           |
| Disco | 4 Gb                                                                    | SSD 4 Gb                       |
| Rede  | 100 Mbps                                                                | 1 Gbps                         |

## 3. Requisitos de software

* Docker 24.0 ou superior, ou software compatível.

## 4. Estatísticas de desempenho

A figura a seguir mostra as estatísticas de desempenho obtidas em **Serviço OCR Facephi**, em termos de tempos obtidos nos seguintes módulos:

* IdCard
* Invoice

Para realizar as medições de extração e interpretação OCR, foi usado um dispositivo com as seguintes características:

* Intel(R) Xeon(R) Platinum 8275CL CPU 3.00GHz
* Processador de 16 núcleos
* 32Gb RAM

Observe o seguinte:

* As imagens são de 1080p.
* Apenas uma imagem por tipo.
* As faturas (Invoice) são imagens completas, mas recortadas pelo nosso SDK.

|            | IdCard | Invoice |
| ---------- | ------ | ------- |
| Desempenho | 770 ms | 3100 ms |

## 5. Considerações de segurança

* Mantenha `auth_jwt_secret` em um cofre de segredos ou injete-o por meio de uma variável de ambiente, em vez de incluí-lo diretamente nas imagens do contêiner.
* A autenticação JWT opcional é configurada no início a partir de `config.json` ou das variáveis de ambiente `FACEPHI_OCR_REST_AUTH_*`.
* Quando o JWT está habilitado, `GET /api/v1/version` e `GET /api/v1/health` permanecem públicos, enquanto o restante dos endpoints requer um JWT válido.
* `GET /api/v1/config` nunca expõe a configuração de inicialização do JWT e `POST /api/v1/config` não pode modificá-la.
