System do automatycznego przetwarzania faktur z wykorzystaniem OCR i LLM.
✅ 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
# 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
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/
make install
– instalacja zależności produkcyjnychmake install-dev
– instalacja zależności developerskich + pre-commitmake setup
– pełny setup środowiskamake clean
– czyszczenie środowiskamake download-models
– pobranie modeli OCR/LLMmake run
– uruchomienie lokalnie (FastAPI/Uvicorn)make docker-build
– budowa obrazu Dockermake docker-run
– uruchomienie Dockeramake docker-dev
– uruchomienie środowiska developerskiego w Dockerzemake docker-stop
– zatrzymanie kontenerów Dockermake test
– testy jednostkowe i integracyjnemake test-cov
– testy z pokryciem kodumake lint
– lintowanie (flake8, mypy, black, isort)make format
– autoformatowanie kodumake validate
– walidacja instalacjimake benchmark
– benchmark modeli/algorytmówmake help
– wyświetla dostępne komendymake check-env
– sprawdza poprawność środowiskamake update-deps
– aktualizuje zależności do najnowszych wersji
make install
– instalacja zależności produkcyjnychmake install-dev
– instalacja zależności developerskich + pre-commitmake setup
– pełny setup środowiskamake run
– uruchomienie lokalnie (FastAPI/Uvicorn)make docker-build
– budowa obrazu Dockermake docker-run
– uruchomienie Dockeramake docker-dev
– uruchomienie środowiska developerskiego w Dockerzemake docker-stop
– zatrzymanie kontenerów Dockermake test
– testymake test-cov
– testy z pokryciem kodumake lint
– lintowanie (flake8, mypy, black, isort)make format
– autoformatowanie kodumake clean
– czyszczenie środowiskamake validate
– walidacja instalacjimake download-models
– pobranie modeli OCR/LLMmake benchmark
– benchmark modeli/algorytmówSkopiuj przykładową konfigurację i dostosuj do swoich potrzeb:
cp .env.example .env
Kluczowe zmienne środowiskowe:
MODEL_NAME
- nazwa modelu LLM (domyślnie: facebook/opt-125m
)OCR_ENGINE
- silnik OCR do użycia (easyocr
lub paddleocr
)LOG_LEVEL
- poziom logowania (DEBUG
, INFO
, WARNING
, ERROR
)CACHE_DIR
- katalog na cache modeliProjekt 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
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
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