Saltar al contenido principal
El CLI de Avala le permite listar datasets, crear exportaciones, gestionar almacenamiento en la nube y más — directamente desde la línea de comandos.

Instalación

curl -fsSL https://avala.ai/install.sh | bash
El script de instalación detecta su versión de Python, instala avala[cli] a través de pip y verifica la configuración. Requiere Python 3.9+. Esto instala el comando avala junto con Click y Rich para salida formateada en terminal.

Autenticación

Configure su API key como variable de entorno (recomendado):
export AVALA_API_KEY="avk_your_api_key"
O pásela como flag en cualquier comando:
avala --api-key avk_your_api_key datasets list
Para configurar credenciales de forma interactiva:
avala configure
Esto le guía a través de la entrada de su API key y URL base, luego imprime las sentencias export para agregar a su perfil de shell.

Opciones globales

OpciónDescripción
--api-key TEXTAPI key de Avala (o configure la variable de entorno AVALA_API_KEY).
--base-url TEXTURL base de la API (o configure la variable de entorno AVALA_BASE_URL). Por defecto: https://api.avala.ai/api/v1.
--helpMostrar ayuda para cualquier comando.

Comandos

datasets

# List all datasets
avala datasets list

# Limit results
avala datasets list --limit 10

# Get a specific dataset
avala datasets get <uid>
Opciones de list:
OpciónDescripción
--limit INTEGERNúmero máximo de resultados a devolver.
Campos de salida de get: UID, Name, Slug, Items, Type, Created, Updated.

projects

# List all projects
avala projects list

# Get a specific project
avala projects get <uid>
Opciones de list:
OpciónDescripción
--limit INTEGERNúmero máximo de resultados a devolver.
Campos de salida de get: UID, Name, Status, Created, Updated.

tasks

# List all tasks
avala tasks list

# Limit results
avala tasks list --limit 50

# Get a specific task
avala tasks get <uid>
Opciones de list:
OpciónDescripción
--limit INTEGERNúmero máximo de resultados a devolver.
Campos de salida de get: UID, Name, Type, Status, Project, Created, Updated.

exports

# List all exports
avala exports list

# Get export details
avala exports get <uid>

# Create a new export
avala exports create --project <uid>
avala exports create --dataset <uid>
Opciones de create:
OpciónDescripción
--dataset TEXTUID del dataset a exportar.
--project TEXTUID del proyecto a exportar.

storage-configs

Gestione conexiones de almacenamiento en la nube (AWS S3, Google Cloud Storage).
# List storage configurations
avala storage-configs list

# Add an S3 bucket
avala storage-configs create \
  --name "Production S3" \
  --provider aws_s3 \
  --s3-bucket-name my-bucket \
  --s3-bucket-region us-west-1 \
  --s3-access-key-id $AWS_ACCESS_KEY_ID \
  --s3-secret-access-key $AWS_SECRET_ACCESS_KEY

# Add a GCS bucket
avala storage-configs create \
  --name "Production GCS" \
  --provider gc_storage \
  --gc-bucket-name my-gcs-bucket \
  --gc-auth-json '{"type":"service_account",...}'

# Test a storage connection
avala storage-configs test <uid>

# Delete a storage config (prompts for confirmation)
avala storage-configs delete <uid>
Opciones de create:
OpciónDescripción
--name TEXTNombre para la configuración de almacenamiento (requerido).
--provider CHOICEaws_s3 o gc_storage (requerido).
Opciones de AWS S3:
OpciónDescripción
--s3-bucket-name TEXTNombre del bucket S3.
--s3-bucket-region TEXTRegión de AWS (ej., us-west-1).
--s3-bucket-prefix TEXTPrefijo de clave de objeto.
--s3-access-key-id TEXTID de clave de acceso de AWS.
--s3-secret-access-key TEXTClave de acceso secreta de AWS.
Opciones de Google Cloud Storage:
OpciónDescripción
--gc-bucket-name TEXTNombre del bucket GCS.
--gc-prefix TEXTPrefijo de clave de objeto.
--gc-auth-json TEXTCredenciales JSON de cuenta de servicio.

agents

Gestione agentes de automatización.
# List agents
avala agents list

# Get agent details
avala agents get <uid>

# Create an agent
avala agents create \
  --name "QA Bot" \
  --events "task.completed,result.submitted" \
  --callback-url https://example.com/hook

# Delete an agent (prompts for confirmation)
avala agents delete <uid>

# List executions for an agent
avala agents executions <uid>

# Test an agent
avala agents test <uid>
Opciones de create:
OpciónDescripción
--name TEXTNombre del agente (requerido).
--events TEXTLista de tipos de eventos separados por comas.
--callback-url TEXTURL de callback del webhook (HTTPS).
--description TEXTDescripción del agente.
--project TEXTUID del proyecto para limitar el alcance del agente.
--task-types TEXTLista de tipos de tarea separados por comas.
Opciones de list:
OpciónDescripción
--limit INTEGERNúmero máximo de resultados a devolver.
Opciones de executions:
OpciónDescripción
--limit INTEGERNúmero máximo de resultados a devolver.

webhooks

Gestione suscripciones de webhooks.
# List webhooks
avala webhooks list

# Get webhook details
avala webhooks get <uid>

# Create a webhook
avala webhooks create \
  --target-url https://example.com/webhook \
  --events "task.completed,export.ready"

# Delete a webhook (prompts for confirmation)
avala webhooks delete <uid>

# Test a webhook
avala webhooks test <uid>

# List webhook deliveries
avala webhooks deliveries
Opciones de create:
OpciónDescripción
--target-url TEXTURL de destino del webhook, HTTPS (requerido).
--events TEXTLista de tipos de eventos separados por comas (requerido).
--secret TEXTSecreto de firma HMAC (generado automáticamente si se omite).
Opciones de list / deliveries:
OpciónDescripción
--limit INTEGERNúmero máximo de resultados a devolver.

quality-targets

Gestione objetivos de calidad para proyectos.
# List quality targets for a project
avala quality-targets list --project <uid>

# Get a specific quality target
avala quality-targets get --project <uid> <target_uid>

# Create a quality target
avala quality-targets create \
  --project <uid> \
  --name "Accuracy Target" \
  --metric accuracy \
  --threshold 0.95 \
  --operator gte \
  --severity critical

# Delete a quality target (prompts for confirmation)
avala quality-targets delete --project <uid> <target_uid>

# Evaluate all quality targets for a project
avala quality-targets evaluate --project <uid>
Opciones de create:
OpciónDescripción
--project TEXTUID del proyecto (requerido).
--name TEXTNombre del objetivo (requerido).
--metric TEXTMétrica a monitorear (requerido).
--threshold FLOATValor umbral (requerido).
--operator TEXTOperador de comparación (gt, lt, gte, lte).
--severity CHOICESeveridad de la alerta: warning o critical.
Opciones de list:
OpciónDescripción
--project TEXTUID del proyecto (requerido).
--limit INTEGERNúmero máximo de resultados a devolver.

consensus

Gestione puntuación de consenso para proyectos.
# Get consensus summary for a project
avala consensus summary --project <uid>

# List consensus scores
avala consensus scores --project <uid>

# Compute consensus scores
avala consensus compute --project <uid>

# View or update consensus config
avala consensus config --project <uid>
avala consensus config --project <uid> --iou-threshold 0.7 --min-annotations 3

inference-providers

Gestione proveedores de inferencia.
# List inference providers
avala inference-providers list

# Get provider details
avala inference-providers get <uid>

# Create a provider
avala inference-providers create \
  --name "My SageMaker" \
  --provider-type sagemaker \
  --config '{"endpoint": "my-endpoint", "region": "us-east-1"}'

# Delete a provider (prompts for confirmation)
avala inference-providers delete <uid>

# Test provider connection
avala inference-providers test <uid>

auto-label

Gestione trabajos de auto-etiquetado.
# List auto-label jobs
avala auto-label list

# Filter by project
avala auto-label list --project <uid>

# Get job details
avala auto-label get <uid>

# Create an auto-label job
avala auto-label create \
  --project <uid> \
  --model-type sam3 \
  --confidence-threshold 0.85 \
  --labels "car,truck"

# Cancel a running job (prompts for confirmation)
avala auto-label cancel <uid>

fleet

Los comandos de flota están en vista previa. Los comandos descritos aquí pueden cambiar.
Gestione dispositivos de flota, grabaciones, eventos, reglas y alertas.
# List online devices
avala fleet devices list --status online

# Register a new device
avala fleet devices register --name "robot-arm-01" --type manipulator --firmware "2.4.1"

# List recordings for a device
avala fleet recordings list --device dev_abc123 --since 7d

# Create a timeline event
avala fleet events create --recording rec_abc123 --type anomaly --label "Gripper force spike"

# List recording rules
avala fleet rules list

# List active alerts
avala fleet alerts list --status open

configure

Asistente de configuración interactiva para credenciales del CLI.
avala configure
Le solicita su API key y URL base, luego muestra los comandos export para agregar a su perfil de shell (~/.bashrc, ~/.zshrc, etc.).

Ejemplos

Listar datasets y exportar un proyecto

# See what datasets you have
avala datasets list

# Export annotations from a project
avala exports create --project proj_abc123

# Check export status
avala exports get exp_xyz789

Configurar almacenamiento en la nube

# Connect an S3 bucket
avala storage-configs create \
  --name "Training Data" \
  --provider aws_s3 \
  --s3-bucket-name ml-training-data \
  --s3-bucket-region us-east-1 \
  --s3-access-key-id $AWS_ACCESS_KEY_ID \
  --s3-secret-access-key $AWS_SECRET_ACCESS_KEY

# Verify the connection works
avala storage-configs test sc_abc123

Uso con CI/CD

# In your CI pipeline
export AVALA_API_KEY="${AVALA_API_KEY}"

# Trigger an export and capture the UID
avala exports create --project proj_abc123

Variables de entorno

VariableDescripciónValor por defecto
AVALA_API_KEYSu API key de Avala.Requerido
AVALA_BASE_URLSobrescritura de URL base de la API.https://api.avala.ai/api/v1

Formato de salida

El CLI usa Rich para salida formateada:
  • Comandos de lista muestran resultados en tablas formateadas.
  • Comandos de obtención muestran una vista detallada de clave-valor.
  • Comandos de crear/eliminar imprimen mensajes de confirmación.
Los colores y el formato se desactivan automáticamente cuando la salida se redirige o canaliza.
El CLI aún no soporta flags --output json o --format. Toda la salida está formateada para legibilidad en terminal. Para salida procesable por máquinas, use el Python SDK o la REST API directamente.