File size: 5,762 Bytes
5df2c77
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
# Guia de Testes - OktoScript v1.2

Este guia lista todos os scripts de teste disponíveis e como usá-los para validar diferentes funcionalidades do OktoScript.

## 📋 Scripts de Teste Disponíveis

### 1. `test-t5-basic.okt` - Treinamento Básico
**Objetivo:** Testar treinamento simples sem blocos avançados

**Modelo:** `google/t5-small`

**Blocos usados:**
- PROJECT
- ENV
- DATASET
- MODEL
- TRAIN
- EXPORT

**Como testar:**
```bash

okto validate examples/test-t5-basic.okt

okto train examples/test-t5-basic.okt

```

**O que verificar:**
- ✅ Treinamento inicia sem erros
- ✅ Modelo é salvo em `runs/test_t5_basic/`
- ✅ Export funciona para `okm` e `safetensors`

---

### 2. `test-t5-monitor.okt` - Monitoramento de Métricas
**Objetivo:** Testar bloco MONITOR com tracking completo

**Modelo:** `google/t5-small`

**Blocos usados:**
- MONITOR (completo)
- Métricas: loss, val_loss, accuracy, perplexity, gpu_usage, ram_usage, throughput, latency



**Como testar:**

```bash

okto validate examples/test-t5-monitor.okt

okto train examples/test-t5-monitor.okt

okto logs test_t5_monitor

```



**O que verificar:**

- ✅ Métricas são coletadas durante treinamento

- ✅ Arquivo `logs/training_monitor.log` é criado
- ✅ Notificações são geradas quando condições são atendidas

---

### 3. `test-t5-control.okt` - Controle e Decisões
**Objetivo:** Testar bloco CONTROL com lógica condicional

**Modelo:** `google/t5-small`

**Blocos usados:**
- CONTROL (completo)
- Eventos: on_step_end, on_epoch_end
- Diretivas: IF, WHEN, EVERY, SET, STOP_TRAINING, DECREASE, SAVE, LOG



**Como testar:**

```bash

okto validate examples/test-t5-control.okt

okto train examples/test-t5-control.okt

okto logs test_t5_control

```



**O que verificar:**

- ✅ Logs são gerados em cada step/epoch

- ✅ Learning rate é ajustado automaticamente quando loss > 2.0

- ✅ Treinamento para quando val_loss > 2.5
- ✅ Checkpoints são salvos a cada 500 steps
- ✅ Arquivo `control_decisions.json` é criado em `runs/test_t5_control/`

---

### 4. `test-flan-t5-complete.okt` - Todos os Blocos
**Objetivo:** Testar todos os blocos avançados juntos

**Modelo:** `google/flan-t5-base`

**Blocos usados:**
- MONITOR (completo)
- CONTROL (completo com lógica aninhada)
- STABILITY
- EXPORT

**Como testar:**
```bash

okto validate examples/test-flan-t5-complete.okt

okto train examples/test-flan-t5-complete.okt

okto logs test_flan_t5_complete

```

**O que verificar:**
- ✅ Todos os blocos funcionam juntos
- ✅ Lógica aninhada no CONTROL funciona (IF dentro de on_epoch_end)
- ✅ STABILITY previne NaN e divergência
- ✅ Métricas completas são coletadas

---

### 5. `test-flan-t5-inference.okt` - Inferência com Governança
**Objetivo:** Testar inferência com BEHAVIOR, GUARD e INFERENCE

**Modelo:** `google/flan-t5-base`

**Blocos usados:**
- BEHAVIOR (personality, language, avoid)
- GUARD (prevent, detect_using, on_violation)
- INFERENCE (mode, format, params, CONTROL aninhado)

**Como testar:**
```bash

# Treinar primeiro

okto train examples/test-flan-t5-inference.okt



# Testar inferência

okto infer --model export/test_flan_t5_inference --text "Olá, como você está?"



# Testar chat interativo

okto chat --model export/test_flan_t5_inference

```

**O que verificar:**
- ✅ Modelo respeita BEHAVIOR (personality, language)
- ✅ GUARD bloqueia conteúdo tóxico/inadequado
- ✅ INFERENCE usa formato correto
- ✅ CONTROL dentro de INFERENCE funciona (RETRY, REGENERATE)

---

### 6. `test-t5-explorer.okt` - AutoML Básico
**Objetivo:** Testar bloco EXPLORER para busca de hiperparâmetros

**Modelo:** `google/t5-small`

**Blocos usados:**
- EXPLORER (try, max_tests, pick_best_by)

- MONITOR



**Como testar:**

```bash

okto validate examples/test-t5-explorer.okt

okto train examples/test-t5-explorer.okt

```



**O que verificar:**

- ✅ Múltiplas combinações de hiperparâmetros são testadas

- ✅ Melhor modelo é selecionado por val_loss
- ✅ Logs mostram resultados de cada teste

---

## 🧪 Sequência Recomendada de Testes

### Fase 1: Testes Básicos
1. `test-t5-basic.okt` - Validar pipeline básico
2. `test-t5-monitor.okt` - Validar monitoramento

### Fase 2: Testes de Controle
3. `test-t5-control.okt` - Validar decisões automáticas
4. `test-flan-t5-complete.okt` - Validar integração completa

### Fase 3: Testes Avançados
5. `test-flan-t5-inference.okt` - Validar inferência governada
6. `test-t5-explorer.okt` - Validar AutoML

---

## 📊 Checklist de Validação

Para cada teste, verifique:

- [ ] Script valida sem erros (`okto validate`)
- [ ] Treinamento inicia corretamente
- [ ] Blocos específicos funcionam como esperado
- [ ] Logs são gerados corretamente
- [ ] Export funciona para formato especificado
- [ ] Arquivos são salvos nos locais corretos

---

## 🔍 Comandos Úteis

```bash

# Validar script

okto validate examples/test-t5-basic.okt



# Treinar

okto train examples/test-t5-basic.okt



# Ver logs

okto logs test_t5_basic



# Inferência

okto infer --model export/test_t5_basic --text "Hello"



# Chat interativo

okto chat --model export/test_t5_basic



# Ver conteúdo do script

okto show examples/test-t5-basic.okt

```

---

## 📝 Notas

- Todos os testes usam `dataset/train.jsonl` e `dataset/val.jsonl`
- Certifique-se de ter dados de teste antes de executar
- Modelos T5 são menores e mais rápidos para testes
- Modelos Flan-T5 são melhores para inferência e chat
- Ajuste `batch_size` e `epochs` conforme sua GPU

---

**Boa sorte com os testes! 🚀**