Skip to content

Releases: shiviancodes/mlops-finbert-aws

v1.0.0 - Initial Release

29 May 21:53
f1817a6

Choose a tag to compare

v1.0.0 - Initial Release

First production release of the FinBERT financial sentiment analysis API and its full MLOps pipeline.

Application

  • FinBERT (ProsusAI/finbert) sentiment inference served via ONNX Runtime
  • PyTorch weights exported to ONNX at build time; runtime image ships no training dependencies
  • Three-class classification (positive / negative / neutral) with per-label confidence scores
  • FastAPI service with prediction persistence, cursor-paginated history, and liveness/readiness probes
  • PostgreSQL storage with DECIMAL(6,4) score precision and keyset pagination

Infrastructure (Terraform)

  • VPC with public/private subnets, EC2 with Elastic IP, RDS PostgreSQL in private subnets
  • ECS on EC2 for container orchestration, ECR for image registry
  • API Gateway HTTP API with TLS termination
  • SSM Parameter Store for secrets, IAM roles with least privilege, OIDC federation for CI/CD

CI/CD (GitHub Actions)

  • Six-stage pipeline: lint → unit tests → integration tests → build → deploy → smoke test
  • Path-filtered triggers, ONNX model caching, readiness polling before smoke test
  • OIDC role assumption - no long-lived AWS credentials

Observability

  • Structured JSON logging to CloudWatch
  • Custom metrics (prediction count by label, p99 latency, DB write failures)
  • CloudWatch alarms routed to SNS, single-pane dashboard

Kubernetes (local)

  • minikube manifests: Deployment, Service, HPA (1→3 replicas), in-cluster Postgres
  • Local orchestration demonstration - not part of the AWS production path