Inicio rápido
De cero a tu primer modelo: crea una API key, sube tus conversaciones como dataset y lanza el entrenamiento.
Antes de empezar
- Una cuenta en AstrApp (app.astrapp.lat).
- Conversaciones de ejemplo de tu negocio: chats, preguntas frecuentes, respuestas tipo.
- Una terminal con
curlpara los pasos de la API.
Crea tu API key
- En el menú lateral de la app, entra a Cuenta › API Keys (
/settings/api-keys). - Haz clic en Nueva API Key, ponle un nombre y deja los permisos en Acceso completo. La expiración recomendada es de 90 días.
- Haz clic en Crear API Key y copia la llave: empieza con
sk_live_.
Solo la ves una vez
Después de cerrar el aviso no puedes volver a verla. Guárdala en un archivo .env que no subas a tu repositorio.
echo "ASTRAPP_API_KEY=sk_live_xxxxxxxxxxxxx" > .env
echo ".env" >> .gitignore
export $(cat .env)Verifica la conexión
Pide la lista de tus proyectos con la llave en el encabezado.
curl https://app.astrapp.lat/api/v1/projects \
-H "Authorization: Bearer $ASTRAPP_API_KEY"Con una llave válida recibes un 200. Si todavía no tienes proyectos, data viene vacío:
{
"success": true,
"data": [],
"pagination": {
"total": 0,
"page": 1,
"per_page": 20,
"total_pages": 0
}
}Sube tus conversaciones
Crea un dataset y manda las conversaciones en el mismo request, en formato ChatML: una lista de messages con role (system, user, assistant o tool) y content.
curl -X POST https://app.astrapp.lat/api/v1/datasets \
-H "Authorization: Bearer $ASTRAPP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Ventas Q1",
"description": "Conversaciones de ventas",
"items": [
{
"messages": [
{ "role": "system", "content": "Eres un asistente de ventas." },
{ "role": "user", "content": "¿Tienen soporte?" },
{ "role": "assistant", "content": "Sí, por chat y por correo." }
]
},
{
"messages": [
{ "role": "system", "content": "Eres un asistente de ventas." },
{ "role": "user", "content": "¿Puedo cancelar cuando quiera?" },
{ "role": "assistant", "content": "Sí, sin cargos adicionales." }
]
}
]
}'La respuesta trae el id del dataset y cuántas conversaciones se guardaron en itemCount:
{
"data": {
"id": "1a2b3c4d-5e6f-4a8b-9c0d-1e2f3a4b5c6d",
"name": "Ventas Q1",
"description": "Conversaciones de ventas",
"itemCount": 2,
"format": "jsonl",
"source": "manual",
"createdAt": "2026-09-22T10:30:00Z",
"syncedToOpik": false
},
"message": "Dataset creado exitosamente"
}Dónde queda y cuántos puedes crear
El dataset se guarda en tu proyecto por defecto. Cada plan tiene un tope de datasets (2 en el plan Gratuito); al alcanzarlo, la API responde 403 con plan_limit_reached.
Si prefieres no usar la API, importa un CSV, un JSON o un chat de WhatsApp desde Datasets › Importar datos (/datos/importar).
Entrena tu modelo
En la app, entra a Entrenar › Entrenar modelo (/compute/configure). Elige la GPU, el modelo base y el dataset que acabas de crear. Antes de lanzar, la pantalla te muestra el costo estimado según tus conversaciones y las épocas.
Para entrenar necesitas tu nombre completo, un teléfono y el correo confirmado en Configuración › Perfil, y saldo para al menos una hora de la GPU elegida. El saldo se recarga en Facturación (/billing).
Guía de entrenamiento
Modelos, hiperparámetros, costos y cómo seguir el progreso.
Revisa tu adaptador
Cuando el entrenamiento termina, el adaptador LoRA aparece en Archivos › Adaptadores LoRA. Descargarlo requiere el plan Professional activo.
Adaptadores LoRA
Archiva, descarga y publica tus adaptadores.