2.2 KiB
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.jsongerado contendo artigos textuais e contadores atualizados;out/river_plate_media.jsongerado 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": []}).