#Tutorial – How to build an #Amazon #AlexaSkill using Visual Studio 2017, C# and #Azure (1 de N)

Hi!

After a couple of weeks of events where Artificial Intelligence was one of the topics I talk and share the most, it’s time to write step by step on:

How to create an Alexa Skill for Amazon Echo and connect it with a WebSite in Azure

The people at Amazon are nicer than hot bread and give us all the tools to create these elements within the Amazon ecosystem. I’m rather a simple mind person, so I’ll do it with a mix between Amazon and Azure.

The first thing we must do is register in the Amazon Developer Portal.

I1

And enter the Amazon Alexa section to create our 1st Skill. Once we have our Developer account we can see the options of Alexa

  • Alexa Skills Kit
  • Alexa Voice Service

Select the 1st choice and then [Add a new Skill]

I2

The idea of ​​this tutorial is to learn how to create and connect a Skill with a service in Azure. If you want to understand more about how the Skills work, I recommend you check the references.

Well, the definition of a Skill consists of 7 sections. We begin with the information section of the Skill. In it we must define the type of Skill, which will be [Custom Interaction Model], the language, name and [Invocation name] of the Skill.

For this sample, the Skill that I will create will be one that allows to know a little information about the events that I have participated. So, [bruno events] looks like a good Invocation Name to use.

I3

We do not need our Skill to interact with the Audio Player or the Video viewer, so let’s leave the Global Fields unmodified.

The next step is to define our interaction language with the Skill. If you’re more of Microsoft’s world, this section is what we at Cognitive Services know as LUIS: Language Understanding Intelligent Service.

The definition of the Schema is defined in JSON format based on a definition that is hard to read and write (sorry I’m a visual dude!). Until recently, this was to edit text by hand. Fortunately, we can use a Skill Builder that presents a much friendlier interface for this task.

I4

Important: Here my advice is to see the 3 videos that are in the Skill Builder to understand how to use it.

In addition to the 3 Intents that are added in a Skill by default, we will create a new Intent called [GetEventInformationIntent]

I5

Before completing Intent information, I have decided to create a new Slot Type with the different themes that I deal with in my events. It will be called [EventTopic]

I6

These are the values ​​that I will add to [EventTopic]. I will focus on the last 5 or 10 events and these topics will be enough to have a coherent search

I7

Now it’s time to go back to the Intent [GetEventInformationIntent] and add a couple of utterances. In this case, each of my sample utterances will use the Slot Type that we have created to make sense of the question we will ask Alexa

I8

Classic dev steps > Save Model & Build Model.

I9

And here comes this post, in the following posts we will see how to create a website in Azure and how to connect to it with this Skill.

Happy Coding!

Greetings @ Burlington

El Bruno

Advertisements

#Tutorial – Como crear un #Amazon #AlexaSkill con Visual Studio 2017, C# y #Azure (1 de N)

Buenas!

Después de un par de semanas de eventos donde Artificial Intelligence fue uno de los temas en los que mas me enfoque, me toca sacar tiempo para escribir el paso a paso sobre:

Como crear un Alexa Skill para Amazon Echo y conectarla con un WebSite en Azure.

La gente de Amazon es mas maja que el pan caliente y nos da todas las herramientas para crear estos elementos dentro del ecosistema de Amazon. Yo que soy mas bien simple, lo hare con un mix entre Amazon y Azure.

Lo primero que debemos hacer es darnos de alta en el Amazon Developer Portal.

I1

Y entrar a la sección Amazon Alexa para crear nuestra 1ra Skill. Una vez que tengamos nuestra cuenta de Developer podremos ver las opciones de Alexa

  • Alexa Skills Kit
  • Alexa Voice Service

Seleccionamos la 1ra opción y luego la opción [Add a new Skill]

I2

La idea de este tutorial es aprender como crear y conectar una Skill con un servicio en Azure. Si quieres comprender mas a fondo como funcionan las Skills, te recomiendo revisar las referencias.

Pues bien, la definición de una Skill consta de 7 secciones. Comenzamos por la sección de información de la Skill. En la misma debemos definir el tipo de Skill, que será [Custom Interaction Model], el lenguaje, nombre e [Invocation name] de la Skill.

En este caso, la Skill que creare será una que permita conocer un poco de información de los eventos que los que he participado. [bruno events] parece un buen Invocation Name para utilizar.

I3

En este caso no necesitamos que nuestra Skill interactuar con el Audio Player ni con el visor de Videos, con lo que dejamos las Global Fields sin modificar.

El siguiente paso es definir nuestro lenguaje de interacción con la Skill. Si eres mas del mundo de Microsoft, esta sección es lo que en Cognitive Services conocemos como LUIS: Language Understanding Intelligent Service.

La definición del Schema se define en formato JSON basado en una definición que cuesta leer. Hasta hace poco tiempo, esto era editar texto a mano. Por suerte, podemos utilizar un Skill Builder que nos presenta una interfaz mucho más amigable para esta tarea.

I4

Importante: Aquí mi consejo es ver los 3 videos que hay en el Skill Builder para comprender como utilizar el mismo.

Además de los 3 Intents que se agregan en un Skill por defecto, crearemos un nuevo Intent llamado [GetEventInformationIntent]

I5

Antes de completar información del Intent, he decidido crear un nuevo Slot Type con los diferentes temas que trato en mis eventos. El mismo se llamará [EventTopic]

I6

Estos son los valores que agregare a [EventTopic]. Me centrare en los últimos 5 o 10 eventos y estos temas serán suficientes para tener una búsqueda coherente

I7

Ahora es momento de volver al Intent [GetEventInformationIntent] y agregar un par de utterances. En este caso cada una de mis sample utterances utilizara el Slot Type que hemos creado para dar sentido a la pregunta que le haremos a Alexa

I8

Los siguientes pasos son un clásico para los developers, Save Model & Build Model.

I9

Y hasta aquí llega este post, en los siguientes posts veremos como crear un website en Azure y como conectar al mismo con este Skill.

Happy Coding!

Saludos @ Burlington

El Bruno

#VS2015 – Publish in Visual Studio Gallery the installer for the Delete all comments in a file with #Roslyn sample extension #VSGallery

Hola!

Final post for the series

Delete all comments in a file with #Roslyn

Create a VSIX installer for the Delete all comments in a file with #Roslyn sample extension

Publish in Visual Studio Gallery the installer

In my last post I described how to create a VSIX package for our delete comments solution. In today post I’ll describe the steps to publish this installer in Visual Studio Gallery.

We need to login into Visual Studio Gallery, https://visualstudiogallery.msdn.microsoft.com/. I’ll use the same account I use in MSDN forums. Let’s start with the [UPLOAD] option

A 3 steps wizard will help us in this process. For this sample I’ll chose the TOOL type

Next step is to define the download type>

– An external Url

– Upload the VSIX file

I’ll choose the 2nd option and I’ll find the next exception:

You can only upload template VSIX files for the Visual Studio Express SKUs.

This error is raised because the default VSIX project template includes a couple of install targets which are not valid for Visual Studio Gallery.

So we leave only VSPro as Install Target.

We need to rebuild and upload again the VSIX file. If we found some build errors, maybe we need to upgrade the version number of our VSIX package.

And we get to the Step 3 of the Publish process. In this step we need to complete the information related to the product, like the source code repository Url of the cost category.

And that’s it! Our extension is available to download from https://visualstudiogallery.msdn.microsoft.com/fe657c84-2077-4092-8063-2cc9587ad0d1

The source code is available in GitHub https://github.com/elbruno/Blog/tree/master/ElBruno.RemoveComments%20V02

Saludos @ Madrid

/El Bruno

References

– Delete all comments in a file with #Roslyn https://elbruno.com/2015/08/17/vs2015-delete-all-comments-in-a-file-with-roslyn/

– Create a #Vsix installer for the Delete all comments in a file with #Roslyn sample extension https://elbruno.com/2015/08/29/vs2015-create-a-vsix-installer-for-the-delete-all-comments-in-a-file-with-roslyn-sample-extension/

– MSDN VSIX Manifest Designer https://msdn.microsoft.com/en-us/library/ee943167.aspx

– MSDN Shipping Visual Studio Extensions https://msdn.microsoft.com/en-us/library/ff363239.aspx

– MSDN Walkthrough: Publishing a Visual Studio Extension https://msdn.microsoft.com/en-us/library/ff728613.aspx

– Creative Commons CC BY http://creativecommons.org/examples#by

– SyncFusion Metro Studio 3 http://www.syncfusion.com/downloads/metrostudio

#VS2015 – Publicar la extensión que borra todos los comentarios utilizando #Roslyn en Visual Studio Gallery #VSGallery

Hola!

Post final para la serie:

Borrar todos los comentarios en un Click con #Roslyn

Crear un instalador para la extensión que borra todos los comentarios utilizando Roslyn

Publicar el paquete en Visual Studio Gallery

En el post anterior vimos cómo crear un instalador VSIX para nuestra solución para eliminar comentarios. Hoy veremos cómo publicar el mismo en Visual Studio Gallery.

En primer lugar debemos acceder a la home de Visual Studio Gallery, https://visualstudiogallery.msdn.microsoft.com/. Necesitamos estar autenticados, en mi caso utilizaré la misma cuenta que utilizo en los foros MSDN. A continuación debemos seleccionar la opción [UPLOAD]

En este momento veremos un asistente con un par de pasos para identificar nuestra extensión. En el caso de este ejemplo, definimos el tipo como TOOL

El siguiente paso es definir si queremos poner un link hacia una página de descarga o subir el paquete VSIX nosotros mismos. Vamos con la 2da opción, y nos encontramos con este hermoso error:

You can only upload template VSIX files for the Visual Studio Express SKUs.

La plantilla por defecto de proyectos VSIX incluye varios targets que no son válidos para Visual Studio Gallery.

Eliminamos los targets de tipo Express y dejamos solo el target para VSPro.

Ahora es momento de recompilar y subir nuevamente nuestro archivo VSIX. En el caso de tener errores de compilación, tal vez sea necesario incrementar el número de versión del VSIX. Y ya podemos completar el último paso para publicar nuestras extensión. En este paso completaremos o modificaremos los valores propios de la extensión para la Visual Studio Gallery. Por ejemplo, en este punto podemos poner la Url con el repositorio de código fuente o definir el precio de nuestra extensión.

Y listo! Nuestra extensión está disponible para descargar desde https://visualstudiogallery.msdn.microsoft.com/fe657c84-2077-4092-8063-2cc9587ad0d1

El código del ejemplo se puede descargar desde GitHub en https://github.com/elbruno/Blog/tree/master/ElBruno.RemoveComments%20V02

Saludos @ Madrid

/El Bruno

References

– Borrar todos los comentarios en un Click con #Roslyn https://elbruno.com/2015/08/17/vs2015-borrar-todos-los-comentarios-en-un-click-con-roslyn/

– Crear un instalador para la extensión que borra todos los comentarios utilizando #Roslyn https://elbruno.com/2015/08/29/vs2015-crear-un-instalador-para-la-extension-que-borra-todos-los-comentarios-utilizando-roslyn/

– MSDN VSIX Manifest Designer https://msdn.microsoft.com/en-us/library/ee943167.aspx

– MSDN Shipping Visual Studio Extensions https://msdn.microsoft.com/en-us/library/ff363239.aspx

– MSDN Walkthrough: Publishing a Visual Studio Extension https://msdn.microsoft.com/en-us/library/ff728613.aspx

– Creative Commons CC BY http://creativecommons.org/examples#by

– SyncFusion Metro Studio 3 http://www.syncfusion.com/downloads/metrostudio

#VS2015 – Create a #Vsix installer for the Delete all comments in a file with #Roslyn sample extension

Hola!

Some people asked about how hard is to create an Installer for the simple in the post “#VS2015 – Delete all comments in a file with #Roslyn”. Is very easy, so I´ll write a couple of posts with the answer to the question and also later, on how to publish this one to the Visual Studio Gallery.

Let’s start from last post, we go back to the source code and we found 2 projects:

ElBruno.RemoveComments, Roslyn source code to delete all comments

ElBruno.RemoveComments.Vsix, this project is our main one, is the one in charge to create the VSIX package

We need to edit the manifest to define the properties of our extension. The main fields I’ll complete are these ones:

Product Name, Product Id, Author, Version, Description, Language, Preview Image: easy very easy

License: I’ve created one in Creative Commons official page. I copied the generated license in a text file and added into the solution.

Icon: thanks SyncFusion Metro Studio 3 !!!

Getting Started Guide, More Info URL: Easy again, a couple of links to my blog

Important: If you need more information about these fields, please go to MSDN [VSIX Manifest Designer] in the references section.

Let-s go to generate our VSIX package, let´s build the Project in RELEASE mode, and we can get the installer in the output folder

When we run the Vsix Installer, we’ll see the information defined in previous steps.

And a couple of seconds later, we get this extension up and running in our IDE !!!

I’ll describe the steps on how to publish to Visual Studio Gallery, in a future post

As always, source code available in GitHub https://github.com/elbruno/Blog/tree/master/ElBruno.RemoveComments%20V02

Saludos @ Madrid

/El Bruno

References

– Delete all comments in a file with #Roslyn https://elbruno.com/2015/08/17/vs2015-delete-all-comments-in-a-file-with-roslyn/

– MSDN VSIX Manifest Designer https://msdn.microsoft.com/en-us/library/ee943167.aspx

– Creative Commons CC BY http://creativecommons.org/examples#by

– SyncFusion Metro Studio 3 http://www.syncfusion.com/downloads/metrostudio

#VS2015 – Crear un instalador para la extensión que borra todos los comentarios utilizando #Roslyn

Hola!

Como algunas personas me preguntaron qué tan complicado era crear un paquete de instalación para el ejemplo “#VS2015 – Borrar todos los comentarios en un Click con #Roslyn”, hoy mostraré los pasos a seguir para crear el paquete de instalación y publicar el mismo en Visual Studio Gallery.

Comenzamos desde el punto anterior, donde podíamos ver que la solución contiene 2 proyectos:

ElBruno.RemoveComments, con el código específico de para eliminar los comentarios

ElBruno.RemoveComments.Vsix, este proyecto es el que se encarga de crear el paquete de instalación VSIX

En el proyecto de VSIX editaremos el manifiesto para completar la información del mismo . Los campos principales que completaremos son los siguientes:

Product Name, Product Id, Author, Version, Description, Language, Preview Image: son auto descriptivos

License: he generado una de tipo Creative Commons en la página oficial. Luego he creado un archivo de texto con la misma, y la he agregado a la solución.

Icon: generado con SyncFusion Metro Studio 3

Getting Started Guide, More Info URL: estas son fáciles, las he tomado de los posts que he escrito en mi blog

Importante: Una descripción completa se puede encontrar en el link de MSDN [VSIX Manifest Designer] en la sección de referencias.

El siguiente paso es generar nuestro paquete de instalación, para esto compilamos el proyecto VSIX en RELEASE, y en la carpeta de compilación podremos encontrar el instalador

Si lanzamos el instalador, veremos los detalles que definimos en los pasos anteriores

Y en pocos segundos, ya tenemos el instalador como parte de nuestro IDE

En el próximo post de la serie mostraré como publicar el paquete en Visual Studio Gallery

El código del ejemplo se puede descargar desde GitHub en https://github.com/elbruno/Blog/tree/master/ElBruno.RemoveComments%20V02

Saludos @ Madrid

/El Bruno

References

– Borrar todos los comentarios en un Click con #Roslyn https://elbruno.com/2015/08/17/vs2015-borrar-todos-los-comentarios-en-un-click-con-roslyn/

– MSDN VSIX Manifest Designer https://msdn.microsoft.com/en-us/library/ee943167.aspx

– Creative Commons CC BY http://creativecommons.org/examples#by

– SyncFusion Metro Studio 3 http://www.syncfusion.com/downloads/metrostudio