Ten dokument zawiera szczegółowe instrukcje dotyczące wdrażania systemu do przetwarzania faktur w różnych środowiskach.
Przed rozpoczęciem wdrażania upewnij się, że masz zainstalowane następujące narzędzia:
git clone https://github.com/finofficer/pocro.git
cd pocro
# Utwórz i aktywuj środowisko wirtualne
python -m venv .venv
source .venv/bin/activate # Linux/macOS
# lub
.venv\Scripts\activate # Windows
# Zainstaluj zależności
poetry install
# Skopiuj przykładowy plik konfiguracyjny
cp .env.example .env
Edytuj plik .env
i ustaw odpowiednie wartości:
# Podstawowa konfiguracja
APP_ENV=production
DEBUG=False
SECRET_KEY=twoj_tajny_klucz
# Konfiguracja bazy danych
DATABASE_URL=postgresql://user:password@localhost:5432/invoice_db
# Konfiguracja modelu AI
MODEL_NAME=facebook/opt-125m
DEVICE=cuda # lub cpu, jeśli nie masz karty graficznej
# Konfiguracja API
HOST=0.0.0.0
PORT=8000
WORKERS=4
# Bezpieczeństwo
ALLOWED_HOSTS=localhost,127.0.0.1
CORS_ORIGINS=http://localhost:3000,http://localhost:8000
# Uruchom migracje
alembic upgrade head
# Załaduj dane testowe (opcjonalnie)
python -m scripts.load_sample_data
uvicorn src.main:app --reload
Aplikacja będzie dostępna pod adresem: http://localhost:8000
docker-compose -f docker-compose.prod.yml build
docker-compose -f docker-compose.prod.yml up -d
docker-compose -f docker-compose.prod.yml logs -f
aws configure
aws cloudformation deploy \
--template-file cloudformation/template.yaml \
--stack-name invoice-processor \
--capabilities CAPABILITY_IAM
gcloud auth login
gcloud config set project YOUR_PROJECT_ID
gcloud run deploy invoice-processor \
--source . \
--platform managed \
--region europe-west3 \
--allow-unauthenticated
# Przykład skalowania w Kubernetes
kubectl scale deployment invoice-processor --replicas=5
# Przykładowa konfiguracja HPA
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: invoice-processor
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: invoice-processor
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
Aplikacja eksportuje metryki w formacie Prometheus pod adresem /metrics
.
Skonfiguruj alerty dla:
# Tworzenie kopii zapasowej
pg_dump -U postgres -d invoice_db > backup_$(date +%Y%m%d).sql
# Przywracanie z kopii zapasowej
psql -U postgres -d invoice_db < backup_20230622.sql
Zapisz wersjonowane kopie modeli w systemie plików lub repozytorium modeli.
docker-compose -f docker-compose.prod.yml ps
docker-compose -f docker-compose.prod.yml logs -f
curl -X GET "http://localhost:8000/health"
curl -X GET "http://localhost:8000/status"