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