pocro

System do automatycznego przetwarzania faktur z wykorzystaniem OCR i LLM.

Kluczowe funkcjonalności:

Pełny stack OCR+LLM - EasyOCR/PaddleOCR + Mistral/Qwen/LLaMA
GPU optimized - AWQ/NF4 quantization dla 8GB VRAM
Multilingual - DE/EN/EE z automatyczną detekcją języka
EU compliance - Schema EN 16931 i PEPPOL
Production ready - Docker, monitoring, health checks
Comprehensive tests - Unit, integration, performance
Easy deployment - Makefile, scripts, dokumentacja
Flexible configuration - Environment variables and Pydantic settings
Robust error handling - Fallback mechanisms and detailed logging

Wymagania systemowe

Szybki start:

# 1. Klonowanie i setup
git clone git@github.com:fin-officer/pocro.git
cd pocro
cp .env.example .env

# 2. Instalacja zależności produkcyjnych
make install

# 3. (Opcjonalnie) Instalacja zależności developerskich
make install-dev

# 4. Setup środowiska (modele, uprawnienia, pre-commit)
make setup

# 5. Pobranie modeli OCR/LLM
make download-models

# 6. Uruchomienie lokalnie
make run

# 7. Lub z Docker
make docker-build
make docker-run

# 8. Testy
make test
make test-cov

# 9. Lintowanie i formatowanie
make lint
make format

# 10. Walidacja instalacji
make validate

# 11. Benchmark
make benchmark

Struktura projektu

pocro/
├── README.md
├── requirements.txt
├── requirements-dev.txt
├── pyproject.toml
├── .env.example
├── .gitignore
├── .dockerignore
├── Dockerfile
├── docker-compose.yml
├── docker-compose.dev.yml
├── Makefile
├── setup.py
│
├── src/
│   ├── __init__.py
│   ├── main.py
│   ├── api/
│   ├── config/
│   ├── core/
│   ├── models/
│   ├── prompts/
│   └── utils/
│
├── scripts/
│   ├── benchmark.py
│   ├── download_models.py
│   ├── migrate_data.py
│   ├── setup_environment.sh
│   └── validate_installation.py
│
├── tests/
│   ├── __init__.py
│   ├── conftest.py
│   ├── fixtures/
│   ├── integration/
│   ├── performance/
│   ├── test_main.py
│   └── unit/
│
├── configs/
│   ├── deployment/
│   ├── model_configs/
│   └── ocr_configs/
│
├── monitoring/
│   ├── __init__.py
│   ├── dashboards/
│   ├── health_check.py
│   └── metrics.py
│
├── data/
├── logs/
├── docs/
└── venv/

Najważniejsze komendy Makefile

Środowisko i zależności

Uruchamianie

Testowanie i jakość kodu

Pomocnicze

Konfiguracja środowiska

Plik .env

Skopiuj przykładową konfigurację i dostosuj do swoich potrzeb:

cp .env.example .env

Kluczowe zmienne środowiskowe:

Zarządzanie zależnościami

Projekt używa Poetry do zarządzania zależnościami. Zainstaluj zależności:

poetry install  # Dla środowiska developerskiego
poetry install --no-dev  # Tylko zależności produkcyjne

Testowanie

Uruchom pełną baterię testów:

make test  # Testy jednostkowe i integracyjne
make test-cov  # Testy z pokryciem kodu
make lint  # Sprawdzenie jakości kodu

Dokumentacja

Szczegółowa dokumentacja dostępna jest w katalogu docs/:


Masz pytania lub chcesz zgłosić błąd? Otwórz issue lub napisz na contact@finofficer.com