Youtube - https://www.youtube.com/watch?v=fwTLeF1DOVk
Ir a https://developer.amazon.com/alexa/console/ask/create-new-skill/name, definimos un nombre para nuestro skill
Elegimos:
- Choose a type of experience : Other
- Choose a model : Custome
- Hosting services : Provision your own.
Clic en NEXT
Clic en Start from Scratch y Next.
Clic en Create Skill.
Nos aparecerá la siguiente pantalla.
Definimos una palabra para invocar a nuestro skill.
Agregaremos las intenciones con los utterances al Skill, clic en JSON editor. Copiamos el contenido del json que se encuentra en la ruta skill/alexa-skill.json y lo pegamos, clic en Save model.
Veremos las 2 intenciones que se han agregado : PreguntaIntent y DespedidaIntent.
Clic en Save model y Build Model.
Ejecutar en Cloud9.
git clone https://github.com/luisgradossalinas/alexa-chatgpt-aws
Abrir el contenido del archivo chatgpt.yaml e ingresamos en la línea 40 nuestro API Key de OpenAI.
Ejecutar en Cloud9
cd alexa-chatgpt-aws/
sh sh/01_Start_Deploy.sh
Esperamos que se cree el stack en CloudFormation.
Volvemos a Alexa y nos ubicamos en la opción Endpoint, copiamos el valor de nuestro Skill ID para asociarlo a la función Lambda creada en AWS.
Regresamos a AWS, y entramos a la función Lambda llamada : fnc-alexa-skill-chatgpt-dynamodb, para agregar un desencadenador. Clic en Add trigger.
Seleccionamos Alexa e ingresamos nuestro Skill ID, clic en Add.
Ahora copiamos el ARN de la función Lambda, para asociarlo al Skill de Alexa.
Volvemos a Alexa Console y pegamos el valor del ARN de la función Lambda, clic en Save Endpoints.
Clic en Test para probar desde la consola nuestra Skill.
Ahora puedes preguntar lo que desees a ChatGPT usando una Skill de Alexa.
Si queremos ver esta interacción (pregunta y respuesta de ChatGPT), podemos ir a AWS, al servicio de DynamoDB y en la tabla chatgpt_interaction veremos un registro con la pregunta y respuesta de ChatGPT.
Si tenemos un dispositivo Echo Dot, también podemos utilizar esta skill.
Espero te haya servido esta solución, si pudiste replicarlo, puedes publicarlo en LinkedIn con tus aportes, cambios y etiquétame (https://www.linkedin.com/in/luisgrados).
Ejecutar en Cloud9.
aws s3 ls | grep alexachatgpt-code | awk {'print "aws s3 rb s3://" $3 " --f"'} | sh
aws cloudformation delete-stack --stack-name StackAlexaChatGPT
echo "Stack StackAlexaChatGPT eliminándose"
Eliminamos el entorno de Cloud9.