Inicio ::: Blog ::: Febrero 2021

Programar una Skill de Alexa. Parte I

#softwaredevelopment #digitalizacion #alexa #asistentevirtual

Publicado el 09/02/2021 por Javier Mora Alcázar

Cuando hablamos de un altavoz inteligente o asistente de voz, estamos haciendo referencia a un altavoz conectado a Internet a un servicio de voz basado en nube que recibe comandos a través de una interfaz de voz y, por lo tanto, permite hacer uso de servicios en línea basados en audio y permiten controlar dispositivos conectados a través de Wifi o Bluetooth.

El servicio de voz de Amazon (Alexa) ofrece ya de serie varias funciones básicas tales como la reproducción de música, escuchar noticias, recibir informes de tráfico, predicciones meteorológicas, etc. Además, pueden instalarse otras funciones extra, las llamadas Skills o funcionalidades de Alexa, disponibles en la Alexa Skills Store, la cual actúa como un marketplace de aplicaciones o funcionalidades extras para los usuarios.

En este artículo explicaré paso a paso cómo desarrollar una skill de Alexa muy sencilla que nos servirá para familiarizarnos con los conceptos básicos de esta tecnología.


¿Qué es una Skill de Alexa?

Las Skills de Alexa son programas que pueden instalarse en todo dispositivo inteligente que haga uso del servicio de voz de Alexa y que sirven para ampliar la gama de funciones básicas que este servicio ofrece. Más a bajo nivel, la arquitectura de una Skill de Alexa sigue un modelo cliente-servidor, donde cualquier dispositivo que soporte el servicio lingüístico de Alexa, (ya sea un altavoz inteligente Amazon Echo o un horno debidamente equipado), actúa como el cliente o frontend de la Skill, y donde el backend se ejecuta en su propio servidor o en AWS Lambda, un servicio de procesamiento de datos desarrollado por Amazon basado en arquitectura serverless ofrecido por AWS (Amazon Web Services).

Puedes desarrollar tus propias Skills de Alexa haciendo uso del Alexa Skills Kit y el AWS Lambda.


Alexa Skills Kit: Requisitos para el desarrollo

Las Skills de Alexa se desarrollan utilizando el Alexa Skills Kit (ASK), disponible gratuitamente una vez hayas creado tu cuenta de desarrolladores de Amazon.

El Alexa Skills Kit (ASK) es una colección de APIs, herramientas, documentación y ejemplos de código que te permite crear tus Skills de Alexa.

Por otro lado, si no deseas encargarte de alojar tú mismo la lógica del programa de tu Skill de Alexa en tu propio servidor, necesitarás una cuenta AWS que te proporcione acceso al servicio en la nube de AWS Lambda.

Después de estos conceptos pasa a segunda parte del artículo para realizar los 6 pasos que nos permitirán tener disponible nuestra Skill:

  • Paso 1. Creación de la Skill en la consola de desarrollo de Amazon
  • Paso 2. Definiendo el modelo de interacción de tu Skill
  • Paso 3. Creación de la función Lambda de AWS
  • Paso 4. Conectar la función Lambda de AWS a la Skill
  • Paso 5. Probar la Skill
  • Paso 6. Validación y publicación de la Skill