MODULO 2.2

๐Ÿ“ฅ Pipeline: Passos 1-3 (Entrada)

A fase de entrada e onde tudo comeca: receber a solicitacao, validar acesso e coletar o contexto necessario.

6
Topicos
~30
Minutos
Interm.
Nivel
Tecnico
Tipo
1

๐Ÿ“ฅ Passo 1: Solicitacao do usuario

O pipeline comeca quando uma solicitacao (request) chega ao sistema. Este passo captura tudo que o usuario enviou.

O que capturar no Passo 1

  • โ€ขPayload: Corpo da requisicao (JSON, form data)
  • โ€ขHeaders: Authorization, Content-Type, etc.
  • โ€ขMetadados: IP, timestamp, user-agent
  • โ€ขIdentificadores: Request ID unico para rastreamento

Exemplo de Codigo

@app.post("/api/chat")
async def chat_endpoint(request: ChatRequest):
    # Passo 1: Capturar solicitacao
    request_id = generate_request_id()
    incoming_data = {
        "request_id": request_id,
        "timestamp": datetime.utcnow(),
        "payload": request.dict(),
        "ip": get_client_ip()
    }
    # Continua para Passo 2...
2

๐Ÿ” Passo 2: Validacao de acesso

Antes de processar qualquer coisa, o sistema deve validar quem esta fazendo a solicitacao e se tem permissao.

๐Ÿ”‘ Autenticacao

  • โ€ข Validar token JWT
  • โ€ข Verificar sessao ativa
  • โ€ข Checar API key
  • โ€ข Identificar usuario

๐Ÿ›ก๏ธ Autorizacao

  • โ€ข Checar permissoes do usuario
  • โ€ข Validar acesso ao recurso
  • โ€ข Verificar quotas/limites
  • โ€ข Aplicar rate limiting

โš ๏ธ Importante

Nunca pule a validacao de acesso. Este passo e a primeira linha de defesa do sistema.

3

๐Ÿ—‚๏ธ Passo 3: Coleta de contexto

Apos validar o acesso, o sistema coleta todo o contexto necessario para a IA poder responder adequadamente.

Tipos de Contexto

Contexto do Usuario

Preferencias, historico, configuracoes pessoais

Contexto do Dominio

Dados do negocio, regras especificas, documentos

Contexto da Sessao

Conversas anteriores, estado atual

Contexto do Sistema

Configuracoes globais, limites, politicas

4

๐Ÿ”€ Fluxo de dados entre passos

Cada passo adiciona informacoes ao objeto de contexto que sera passado adiante.

Passo 1 โ†’ request_data, metadata
Passo 2 โ†’ + user_info, permissions
Passo 3 โ†’ + context_data, history
5

๐Ÿ’ป Implementacao em codigo

async def process_entrada(request: Request):
    # Passo 1: Solicitacao
    pipeline_ctx = PipelineContext(
        request_id=generate_id(),
        raw_request=await request.json()
    )

    # Passo 2: Validacao
    user = await validate_token(request.headers)
    if not user:
        raise HTTPException(401, "Unauthorized")
    pipeline_ctx.user = user

    # Passo 3: Contexto
    pipeline_ctx.context = await collect_context(
        user_id=user.id,
        session_id=request.headers.get("x-session-id")
    )

    return pipeline_ctx
6

๐Ÿงช Exemplos praticos

Exemplo: Chat com Historico

Usuario envia mensagem em conversa existente:

  • P1: Captura mensagem + session_id
  • P2: Valida token, identifica usuario
  • P3: Carrega historico da conversa + preferencias

Exemplo: Geracao de Documento

Usuario solicita criacao de relatorio:

  • P1: Captura parametros do relatorio
  • P2: Valida se usuario pode gerar relatorios
  • P3: Coleta dados do sistema para o relatorio

๐Ÿ“ Resumo do Modulo

โœ“Passo 1 - Capturar solicitacao completa com metadados
โœ“Passo 2 - Validar autenticacao e autorizacao
โœ“Passo 3 - Coletar todo contexto necessario