MODULO 5.10

🚀 Deploy e Apresentacao

Colocando seu projeto GIPM em producao e apresentando para certificacao.

6
Topicos
~45
Minutos
Pratico
Nivel
Final
Tipo
1

📦 Preparando para Deploy

# Dockerfile
FROM python:3.11-slim

WORKDIR /app

# Dependencias
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# Codigo
COPY app/ ./app/
COPY config/ ./config/
COPY alembic/ ./alembic/
COPY alembic.ini .

# Expor porta
EXPOSE 8000

# Health check
HEALTHCHECK --interval=30s --timeout=3s \
  CMD curl -f http://localhost:8000/health || exit 1

# Comando
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]

---

# docker-compose.yml
version: '3.8'
services:
  app:
    build: .
    ports:
      - "8000:8000"
    environment:
      - DATABASE_URL=postgresql://user:pass@db:5432/gipm
      - GEMINI_API_KEY=${GEMINI_API_KEY}
    depends_on:
      - db

  db:
    image: postgres:15
    environment:
      - POSTGRES_USER=user
      - POSTGRES_PASSWORD=pass
      - POSTGRES_DB=gipm
    volumes:
      - pgdata:/var/lib/postgresql/data

volumes:
  pgdata:
2

⚙️ Configuracao de Producao

# config/production.py
from pydantic_settings import BaseSettings

class ProductionSettings(BaseSettings):
    # Database
    DATABASE_URL: str
    DB_POOL_SIZE: int = 20
    DB_MAX_OVERFLOW: int = 10

    # AI Provider
    GEMINI_API_KEY: str
    AI_TIMEOUT_SECONDS: int = 30
    AI_MAX_RETRIES: int = 3

    # Governanca
    MAX_TOKENS_INPUT: int = 4000
    MAX_TOKENS_OUTPUT: int = 2000
    DAILY_COST_LIMIT_USD: float = 50.0

    # Seguranca
    API_KEY_HEADER: str = "X-API-Key"
    RATE_LIMIT_REQUESTS: int = 100
    RATE_LIMIT_WINDOW_SECONDS: int = 60

    # Logging
    LOG_LEVEL: str = "INFO"
    LOG_FORMAT: str = "json"

    class Config:
        env_file = ".env.production"

---

# .env.production.example
DATABASE_URL=postgresql://user:pass@db-host:5432/gipm_prod
GEMINI_API_KEY=your-api-key-here
DAILY_COST_LIMIT_USD=100.0
LOG_LEVEL=WARNING
3

📊 Monitoramento

# app/monitoring.py
import logging
from prometheus_client import Counter, Histogram, Gauge

# Metricas Prometheus
REQUEST_COUNT = Counter(
    'gipm_requests_total',
    'Total de requisicoes',
    ['endpoint', 'status']
)

REQUEST_LATENCY = Histogram(
    'gipm_request_latency_seconds',
    'Latencia das requisicoes',
    ['endpoint']
)

AI_COST = Counter(
    'gipm_ai_cost_usd_total',
    'Custo total com AI em USD',
    ['persona']
)

DAILY_COST = Gauge(
    'gipm_daily_cost_usd',
    'Custo do dia atual em USD'
)

# Middleware de logging estruturado
class GIPMLogger:
    def __init__(self):
        self.logger = logging.getLogger("gipm")

    def log_request(self, request_id: str, data: dict):
        self.logger.info("request_processed", extra={
            "request_id": request_id,
            "persona": data.get("persona"),
            "tokens_input": data.get("tokens_input"),
            "tokens_output": data.get("tokens_output"),
            "cost_usd": data.get("cost_usd"),
            "latency_ms": data.get("latency_ms")
        })

# Endpoint de metricas
@router.get("/metrics")
async def metrics():
    from prometheus_client import generate_latest
    return Response(generate_latest(), media_type="text/plain")
4

🎤 Estrutura da Apresentacao

# Roteiro de Apresentacao GIPM (~15 minutos)

## 1. Introducao (2 min)
- Nome do projeto
- Problema que resolve
- Por que GIPM foi escolhido

## 2. Arquitetura (3 min)
- Diagrama das 3 camadas
- Mostrar METHOD_MAPPING.md
- Destacar separacao de responsabilidades

## 3. Pipeline Universal (3 min)
- Demonstrar os 9 passos
- Mostrar codigo do pipeline
- Explicar cada fase (Entrada, Processamento, Saida)

## 4. Governanca Cognitiva (3 min)
- Apresentar personas implementadas
- Mostrar guardrails em acao
- Demonstrar validacoes pre/pos AI

## 5. Demo ao Vivo (3 min)
- Fazer uma requisicao real
- Mostrar resposta estruturada
- Mostrar registro no banco (auditoria)

## 6. Conclusao (1 min)
- Metricas do projeto
- Proximos passos
- Perguntas
5

🖥️ Demo Script

# scripts/demo.sh
#!/bin/bash

echo "=== GIPM Demo ==="
echo ""

# 1. Health Check
echo "1. Verificando saude do sistema..."
curl -s http://localhost:8000/health | jq .
echo ""

# 2. Listar Personas
echo "2. Personas disponiveis:"
curl -s http://localhost:8000/api/v1/personas | jq .
echo ""

# 3. Fazer requisicao
echo "3. Processando texto com persona 'summarizer'..."
RESPONSE=$(curl -s -X POST http://localhost:8000/api/v1/process \
  -H "Content-Type: application/json" \
  -d '{
    "input": "A inteligencia artificial esta transformando...",
    "task_type": "resumo"
  }')
echo $RESPONSE | jq .
echo ""

# 4. Extrair request_id
REQUEST_ID=$(echo $RESPONSE | jq -r '.request_id')
echo "Request ID: $REQUEST_ID"
echo ""

# 5. Consultar auditoria
echo "4. Consultando registro de auditoria..."
curl -s "http://localhost:8000/api/v1/audit/$REQUEST_ID" | jq .
echo ""

# 6. Dashboard
echo "5. Metricas do sistema:"
curl -s http://localhost:8000/api/v1/dashboard | jq .
echo ""

echo "=== Demo Completa ==="
6

🏆 Certificacao GIPM

# Criterios de Certificacao GIPM Master

## Requisitos Obrigatorios

### Principios (todos devem estar presentes)
✓ API-first implementado
✓ Backend orquestra, AI executa
✓ Duas fases (estrutura + artefato)
✓ Persistencia total
✓ Modularidade e anti-lock-in

### Camadas (todas devem estar documentadas)
✓ Camada Humana definida
✓ Camada Sistema implementada
✓ Camada Cognitiva controlada

### Pipeline Universal
✓ 9 passos implementados
✓ Cada passo rastreavel no codigo
✓ Fluxo auditavel end-to-end

### Documentacao
✓ METHOD_MAPPING.md completo
✓ COGNITIVE_GOVERNANCE.md completo
✓ API documentada (OpenAPI)
✓ RUNBOOK.md operacional
✓ Pelo menos 2 ADRs

### Qualidade
✓ Testes com coverage >= 80%
✓ Code review checklist GIPM
✓ Definition of Done verificado

---

## Resultado

Projeto aprovado = Certificado GIPM Master
"Este projeto segue o Metodo GIPM v1.2"

🎉 Parabens! Curso Completo!

Deploy - Docker + Docker Compose
Producao - Configuracoes seguras
Monitoramento - Metricas e logs
Certificacao - Criterios GIPM Master

🏆 Voce completou a Trilha 5!

Agora voce tem conhecimento completo do Metodo GIPM e pode aplicar em seus projetos com IA governada.