pocro

Instrukcja instalacji

Ten przewodnik przeprowadzi Cię przez proces konfiguracji systemu do przetwarzania faktur z wykorzystaniem OCR i LLM.

Spis treści

Uwaga: W razie problemów z instalacją, zapoznaj się z przewodnikiem rozwiązywania problemów.

Wymagania wstępne

Szybki start

  1. Sklonuj repozytorium
    git clone git@github.com:fin-officer/pocro.git
    cd pocro
    
  2. Skonfiguruj środowisko
    # Skopiuj przykładowy plik środowiskowy
    cp .env.example .env
    

    Zmodyfikuj plik .env zgodnie ze swoimi potrzebami. Minimalna konfiguracja:

    MODEL_NAME=facebook/opt-125m  # lub inny preferowany model
    OCR_ENGINE=easyocr  # lub paddleocr
    LOG_LEVEL=INFO
    
  3. Zainstaluj zależności
    # Utwórz i aktywuj środowisko wirtualne (zalecane)
    python -m venv .venv
    source .venv/bin/activate  # Na Windows: .venv\Scripts\activate
    
    # Zainstaluj zależności za pomocą Poetry
    poetry install  # Dla środowiska developerskiego
    # lub
    poetry install --no-dev  # Tylko zależności produkcyjne
    
  4. Uruchom aplikację
    make run  # Używa Uvicorn z automatycznym przeładowaniem
    # lub ręcznie:
    # uvicorn src.main:app --host 0.0.0.0 --port 8088 --reload
    

    API będzie dostępne pod adresem: http://localhost:8088

    Sprawdź działanie:

    curl http://localhost:8088/health
    

Konfiguracja

Zmienne środowiskowe

Kluczowe opcje konfiguracyjne w pliku .env:

Konfiguracja modelu LLM

Przetwarzanie faktur

Aby przetworzyć fakturę, użyj komendy pocro:

# Przetwarzanie pojedynczej faktury
pocro process ścieżka/do/faktura.pdf

# Z określonym plikiem wyjściowym
pocro process ścieżka/do/faktura.pdf --output wynik.json

# Wyświetlenie pomocy
pocro --help
pocro process --help

Dostępne opcje dla komendy process:

Konfiguracja serwera

Przykładowa konfiguracja

# Konfiguracja modelu
MODEL_NAME=facebook/opt-125m
QUANTIZATION=awq
MAX_MODEL_LENGTH=2048

# Konfiguracja OCR
OCR_ENGINE=easyocr
OCR_LANGUAGES=pl,en,de

# Konfiguracja serwera
HOST=0.0.0.0
PORT=8088
DEBUG=False
LOG_LEVEL=INFO
CACHE_DIR=./.cache

Instalacja z Dockerem

  1. Zbuduj obraz Dockera
    make docker-build
    

    lub ręcznie:

    docker build -t pocro .
    
  2. Uruchom kontener
    make docker-run
    

    lub ręcznie:

    docker run -d --name pocro -p 8088:8088 --env-file .env pocro
    
  3. Zatrzymaj kontener
    make docker-stop
    

Weryfikacja instalacji

  1. Sprawdź stan API
    curl http://localhost:8088/health
    

    Powinno zwrócić: {"status":"ok"}

  2. Przetestuj rozpoznawanie faktury
    curl -X POST http://localhost:8088/process \
      -H "Content-Type: application/json" \
      -d '{
        "invoice_number": "FV/2023/1234",
        "issue_date": "2023-05-15",
        "due_date": "2023-06-14",
        "total_amount": 1234.56,
        "currency": "PLN",
        "supplier": {
          "name": "Przykładowy Dostawca Sp. z o.o.",
          "tax_id": "1234567890"
        },
        "customer": {
          "name": "Klient Przykładowy",
          "tax_id": "0987654321"
        },
        "items": [
          {
            "description": "Usługa przykładowa",
            "quantity": 1,
            "unit_price": 1000.00,
            "tax_rate": 23,
            "amount": 1230.00
          }
        ]
      }'
    

Rozwiązywanie problemów

Typowe problemy i rozwiązania

W przypadku dalszych problemów, zapoznaj się z przewodnikiem Rozwiązywanie problemów.

Następne kroki