Files

2.2 KiB

Quickstart & Validation Guide: Classificação e Roteamento de Mídia

Feature: 007-media-article-routing
Date: 2026-08-24
Status: Completed


1. Configuração de Variáveis de Ambiente (Configuração Externa)

As credenciais e endpoints dos provedores devem ser configurados no ambiente de execução:

# Provedor Primário (Ollama Local)
OLLAMA_ENDPOINT="http://localhost:11434"
OLLAMA_MODEL="qwen3.5:2b"
OLLAMA_TIMEOUT="10"

# 1º Fallback (Groq)
GROQ_ENDPOINT="https://api.groq.com/openai/v1/chat/completions"
GROQ_API_KEY="gsk_..."
GROQ_MODEL="openai/gpt-oss-20b"
GROQ_TIMEOUT="15"

# 2º Fallback (OmniRoute)
OMNIROUTE_ENDPOINT="https://<seu-endpoint-omniroute>/v1/chat/completions"
OMNIROUTE_API_KEY="omni_..."
OMNIROUTE_MODEL="cgpt-web/gpt-5.5"
OMNIROUTE_TIMEOUT="20"

2. Execução dos Testes Automatizados (CI)

A suíte de testes executa 100% offline em ambiente de CI via simulações controladas:

# Executar testes unitários e de integração da feature
pytest tests/unit/test_media_classifier.py tests/integration/test_media_routing.py -v

# Validar conformidade com a política Zero-Regex
python tests/scripts/check_zero_regex.py

3. Cenários de Validação Manual / E2E

Cenário 1: Execução Padrão com Arquivo de Notícias

python scripts/extract_article_contents.py -i out/river_plate.json

Resultados esperados:

  • out/river_plate_extracted.json gerado contendo artigos textuais e contadores atualizados;
  • out/river_plate_media.json gerado contendo o envelope { "articles": [ ... ] } com as mídias identificadas (ou {"articles": []} caso nenhuma mídia seja classificada no lote);
  • Logs no stderr exibindo as 11 métricas operacionais obrigatórias.

Cenário 2: Execução com Caminho de Saída Customizado (-o/--output)

python scripts/extract_article_contents.py \
  -i out/river_plate.json \
  -o out/processados/resultado_custom.json \
  -l 5

Resultados esperados:

  • Saída textual em out/processados/resultado_custom.json;
  • Saída de mídia em out/processados/resultado_custom_media.json (gerado obrigatoriamente, contendo as mídias ou {"articles": []}).