69 lines
2.2 KiB
Markdown
69 lines
2.2 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
# 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:
|
|
|
|
```bash
|
|
# 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
|
|
```bash
|
|
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`)
|
|
```bash
|
|
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": []}`).
|