> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monostate.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Cuándo Usar la CLI

> Línea de comandos para automatización y scripting

# Cuándo Usar la CLI

La interfaz de línea de comandos es ideal para automatización y flujos de trabajo reproducibles.

## Mejor Para

* **Automatización** - Script tareas repetitivas
* **Pipelines CI/CD** - Integra con despliegue
* **Servidores remotos** - SSH a instancias en la nube
* **Procesamiento por lotes** - Entrena múltiples modelos
* **Reproducibilidad** - Guarda y comparte comandos exactos

## Cómo Se Ve

Escribe comandos en tu terminal:

```bash theme={null}
aitraining text-classification \
  --model bert-base-uncased \
  --data train.csv \
  --epochs 5
```

## Ejemplo de Flujo de Trabajo

```bash theme={null}
# Preparar datos
python prepare_data.py

# Entrenar modelo
aitraining train \
  --task text-classification \
  --data data/train.csv \
  --output models/v1

# Evaluar
aitraining evaluate \
  --model models/v1 \
  --test data/test.csv

# Desplegar
aitraining serve --model models/v1
```

## Ventajas

* **Scripteable** - Automatiza todo
* **Reproducible** - Guarda comandos exactos
* **Control de versiones** - Rastrea en git
* **Amigable remoto** - Funciona sobre SSH
* **Ejecución paralela** - Ejecuta múltiples entrenamientos

## Limitaciones

* **Curva de aprendizaje** - Debes conocer sintaxis de comandos
* **Sin feedback visual** - Solo salida de texto
* **Propenso a errores** - Errores tipográficos en comandos
* **Menos descubrible** - Debes saber que las opciones existen

## Cuándo Cambiar

Cambia a UI cuando:

* Necesitas feedback visual
* Quieres explorar opciones
* Enseñando usuarios no técnicos
* Haciendo experimentos rápidos

Cambia a API cuando:

* Necesitas lógica personalizada
* Construyendo aplicaciones
* Preprocesamiento complejo
* Configuración dinámica

## Casos de Uso Comunes

### Búsqueda de Hyperparámetros

```bash theme={null}
for lr in 1e-5 2e-5 5e-5; do
  aitraining train \
    --learning-rate $lr \
    --output models/lr_$lr
done
```

### Entrenamiento Nocturno

```bash theme={null}
# En cron o scheduler
0 2 * * * /path/to/retrain.sh
```

### Entrenamiento Remoto

```bash theme={null}
ssh gpu-server
screen -S training
aitraining train --data s3://bucket/data.csv
# Desconecta con Ctrl-A D
```

### Integración CI/CD

```yaml theme={null}
# .github/workflows/train.yml
- name: Train model
  run: aitraining train --config config.yaml
```

## Consejos para Usuarios de CLI

1. **Guarda comandos** - Mantén un archivo `commands.txt`
2. **Usa configs** - Archivos YAML sobre comandos largos
3. **Registra salida** - Redirige a archivos
4. **Usa screen/tmux** - Para trabajos de larga duración
5. **Escribe scripts** - Combina múltiples pasos

## Características Exclusivas de CLI

Cosas que la CLI hace mejor:

* Pipe datos de otros comandos
* Integra con scripts de shell
* Ejecuta en servidores headless
* Procesa archivos por lotes
* Ejecución programada

## Comandos Esenciales

```bash theme={null}
# Ver todas las opciones
aitraining --help

# Listar modelos disponibles
aitraining models list

# Verificar estado de entrenamiento
aitraining status

# Reanudar entrenamiento interrumpido
aitraining train --resume

# Convertir formatos de modelo
aitraining convert --from pytorch --to onnx
```

## Variables de Entorno

```bash theme={null}
# Establecer predeterminados
export AITRAINING_MODEL=bert-base
export AITRAINING_EPOCHS=5

# Ahora comandos más simples
aitraining train --data train.csv
```

## Próximos Pasos

<CardGroup cols={2}>
  <Card title="Referencia CLI" href="/cli/command-structure">
    Documentación completa de comandos
  </Card>

  <Card title="Alternativa API" href="/foundations/api-when-to-use">
    Cuándo usar Python en su lugar
  </Card>
</CardGroup>
