From d0497c2a6a8c69e7533782eba6deac0ec67275df Mon Sep 17 00:00:00 2001 From: Lupo Montero Date: Wed, 10 Jan 2018 15:27:47 -0500 Subject: [PATCH 1/4] =?UTF-8?q?content(14-chatbot):=20a=C3=B1ade=20cambios?= =?UTF-8?q?=20propuestos=20por=20@ccardensa=20via=20slack=20#464?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 14-chatbot/01-challenge/00-opening/README.md | 6 + 14-chatbot/01-challenge/02-env/README.md | 22 +++ .../01-design-principles/README.md | 72 ++++++---- .../02-ms-bot-framework/README.md | 132 +++++++++++++++++- 4 files changed, 206 insertions(+), 26 deletions(-) diff --git a/14-chatbot/01-challenge/00-opening/README.md b/14-chatbot/01-challenge/00-opening/README.md index 2d98aa497..fad69a643 100644 --- a/14-chatbot/01-challenge/00-opening/README.md +++ b/14-chatbot/01-challenge/00-opening/README.md @@ -22,6 +22,12 @@ herramienta/portal de desarrollo y las API de Servicios Cognitivos para inteligencia, uniendo los dos en la creación de un bot inteligente de chat para plataformas conversacionales. +Para comenzar este curso necesitarás tener instalado en tu computador lo siguiente: + +* Node.js https://nodejs.org +* Visual Studio Code https://code.visualstudio.com/download +* Microsoft Bot Framwork Emulator https://docs.microsoft.com/en-us/bot-framework/bot-service-debug-emulator + ... ## Entregables y evaluación diff --git a/14-chatbot/01-challenge/02-env/README.md b/14-chatbot/01-challenge/02-env/README.md index 9b41e7e5b..39ed30e89 100644 --- a/14-chatbot/01-challenge/02-env/README.md +++ b/14-chatbot/01-challenge/02-env/README.md @@ -6,6 +6,28 @@ *** +## ¿Qué es la Nube? + +La definición de la nube puede parecer poco clara, pero, básicamente, es un +término que se utiliza para describir una red mundial de servidores, cada uno +con una función única. La nube no es una entidad física, sino una red enorme de +servidores remotos de todo el mundo que están conectados para funcionar como un +único ecosistema. Estos servidores están diseñados para almacenar y administrar +datos, ejecutar aplicaciones o entregar contenido o servicios, como streaming de +vídeos, correo web, software de ofimática o medios sociales. En lugar de acceder +a archivos y datos desde un equipo personal o local, accede a ellos en línea +desde cualquier dispositivo conectado a Internet, es decir, la información está +disponible dondequiera que vaya y siempre que la necesite. + +Existen 3 Tipo de Nubes + +* Nube pública: comparte recursos y ofrece servicios al público a través de + Internet, +* Nube privada: no se comparte y ofrece servicios a través de una red interna + privada, normalmente hospedada en el entorno local. +* Nube híbrida: comparte servicios entre nubes públicas y privadas + ## ¿Qué es Azure? +* Azure es un conjunto de servicios en la nube que los desarrolladores y los profesionales de TI utilizan para crear, implementar y administrar aplicaciones a través de nuestra red global de centros de datos ... diff --git a/14-chatbot/02-getting-started/01-design-principles/README.md b/14-chatbot/02-getting-started/01-design-principles/README.md index 41dcf8557..559befc1e 100644 --- a/14-chatbot/02-getting-started/01-design-principles/README.md +++ b/14-chatbot/02-getting-started/01-design-principles/README.md @@ -1,25 +1,47 @@ -# Principios de diseño y tipos de bots - -* Tipo: `seminario` -* Formato: `guiado` -* Duración: `30min` - -## Objetivos del seminario - -* Hacer un resumen de lo que vamos a aprender en esta unidad -* Aclarar la _hoja de ruta_ de la unidad en el contexto del curso -* Preguntas y conceptos clave de esta unidad - -*** - -## ¿Qué es un Bot y porque implementarlo en Azure? - -... - -## Tipos de Bot - -... - -## ¿Qué utilidades le podemos dar a los bots? - -... +# Principios de diseño y tipos de bots + +* Tipo: `seminario` +* Formato: `guiado` +* Duración: `30min` + +## Objetivos del seminario + +* Hacer un resumen de lo que vamos a aprender en esta unidad +* Aclarar la _hoja de ruta_ de la unidad en el contexto del curso +* Preguntas y conceptos clave de esta unidad + +*** + +## ¿Qué es un Bot y porque implementarlo en Azure? + +Los bots son sistemas que permiten a los usuarios interactuar con aplicaciones o +servicios de la misma forma que lo harían si estuviera hablando con otra +persona. Esto permite llevar a cabo acciones como encargar comida o pedir un +taxi de manera cómoda y natural. Los bots no solo pueden interactuar con las +personas, sino que también pueden comunicarse entre ellos para llevar a cabo +tareas. + +Podemos resumir que un bot es una aplicación que realizá tareas automatizadas, +evitandonos trabajos repetitivos + +## Tipos de Bot + +* Crawlers +* Bots Informativos +* Chat Bots (Bots conversacionales) +* Bots Transaccionales +* Hacker bots +* Spam bots +* Game bots +* Scraper bots + +Acá podrán ver una galeria de bot publicos https://bots.botframework.com/ + +## ¿Qué utilidades le podemos dar a los bots? + +Los usos más habituales de los bots son: + +* Automatización de pedidos +* Solicitar reservas en restaurantes +* Atención al cliente +* Solicitud de asistencia médica diff --git a/14-chatbot/02-getting-started/02-ms-bot-framework/README.md b/14-chatbot/02-getting-started/02-ms-bot-framework/README.md index 54f5f68df..2c4182596 100644 --- a/14-chatbot/02-getting-started/02-ms-bot-framework/README.md +++ b/14-chatbot/02-getting-started/02-ms-bot-framework/README.md @@ -12,4 +12,134 @@ *** -... +## ¿Qué es Microsoft Bot Framework? + +Microsoft Bot Framework es un conjunto de herramientas para ayudarte a crear +bots, este conjunto de herramientas se dividen principalmente en 3 grandes +componentes Bot Builder SDK, Bot Connector y Bot Directory. + +Nuestros bots siempre estarán compuestos por una lógica que corresponderá al +servicio que queramos ofrecer o la problemática que queramos solucionar, también +contará con una lógica de conversación esta lógica de conversación se puede +implementar con Bot Builder SDK. + +Bot Builder SDK es una librería con la cual puedes desarrollar tus bot tanto en +Node.js como con C#, el código que generamos estará incorporado en el proyecto +del bot y se encargará de gestionar las conversaciones., también podemos agregar +a LUIS (Languaje Understanding Inteligent Service), LUIS se encarga de +enriquecer nuestros bots integrándole "Compresión del Lenguaje Natural". + +Otro componente es el Bot Connector, este componente es un servicio online que +nos permite conectar a nuestro bot con alguno de los servicios más conocidos +como Skype, Facebook Messenger, Slack, entro otros. + +El último componente es Bot Directory es un directorio publico donde se +encuentran todos los bots registrados por medio de bots Connector. + +Si quieres conocer más sobre Bot Framework ingresa a los siguientes enlaces: + +* https://dev.botframework.com/ +* https://docs.microsoft.com/en-us/bot-framework/nodejs/bot-builder-nodejs-quickstart +* https://channel9.msdn.com/Series/APAC-DevSquad-Showcase/Intro-to-Bot-Framework + + +## Tecnologias con las cuales podemos diseñar Bot en Azure + +Bot Builder SDK nos permite desarrolar bots con Node.js y C# + +## Servicios Cognitivos + +Los Servicios Cognitivos nos permiten agregar inteligencia artificial a nuestros +bots (Algoritmos Inteligentes) la cual nos permite ver, oír, hablar, comprender +e interpretar las necesidades de los usuarios con formas de comunicación +naturales. + +Dentro de los servicios Cognitivos podemos encontrar: + +* Visión: Algoritmos de procesamiento de imágenes para identificar, moderar y + poner una leyenda de forma inteligente a sus imágenes. +* Conocimiento: Cree mapas de información y datos complejos para resolver tareas + como recomendaciones inteligentes y búsqueda semántica. +* Voz: Convierta voz en texto, use la voz con fines de comprobación o agregue + reconocimiento del hablante a sus aplicaciones. +* Búsqueda: Agregue Bing Search APIs a sus aplicaciones y aproveche la capacidad + de buscar en miles de millones de páginas web, imágenes, vídeos y noticias con + una sola llamada API. +* Lenguaje: Permita que las aplicaciones procesen lenguaje natural con scripts + precompilados, evalúen los sentimientos y aprendan a reconocer lo que los + usuarios desean. + +Si quieres conocer más detalles sobre los Servicios Cognitivos ingresa al +siguiente enlace https://azure.microsoft.com/es-es/services/cognitive-services/ + +## Configuración de ambiente para desarrollar nuestro primer bot + +Para configurar nuestro ambiente, realizaremos los siguientes pasos: + +1. Instalarán Node.js + +2. Abrir Visual Studio Code + +3. Ir al menú ver->terminal Integrado y verificarán si node.js esta funcionando + correctamente + +4. Instalaremos restify y botbuilder con los siguientes comandos: + + ```sh + npm install restify -save + npm intall botbuilder -save + ``` + +## Construcción de bots simples + +### Ejemplo 1: Creando nuestro primer bot + +```js +var builder = require('botbuilder'); +var conector = new builder.ConsoleConnector().listen(); +var bot = new builder.UniversalBot(conector); + +bot.dialog('/', [ + function(session){ + session.send('Hola Laboratoria!'); + } +]) +``` + +### Ejemplo 2: Bot Web + +Para este ejemplo debemos tener instalado nuestro emulador bot framework. + +```js +//command: npm install botbuilder -save +var builder = require('botbuilder'); +//command: npm install restify -save +var restify = require('restify'); + +//Creamos el server para comunicarno con nuestro bot +var server = restify.createServer(); +server.listen(process.env.port || process.env.PORT || 3978, function () { + console.log('%s escuchando %s', server.name, server.url); +}); + +//Por ahora esto queda en blanco +var conector = new builder.ChatConnector({ + appId: '', + appPassword: '' +}); + +var bot = new builder.UniversalBot(conector); +//Este será nuestro endpoint de nuetro bot +server.post('/api/mensajes', conector.listen()); + +//acá es donde sucede la magia de nuestro bot +bot.dialog('/', [ + function (session) { + builder.Prompts.text(session, '¿Cómo te llamas?'); + }, + function (session, results) { + let msj = results.response; + session.send(`Hello ${msj}!`); + } +]); +``` From 3ca48e8c4392ccb327f3a8dd61f0e0fa838bdd43 Mon Sep 17 00:00:00 2001 From: Lupo Montero Date: Wed, 10 Jan 2018 15:35:28 -0500 Subject: [PATCH 2/4] chore(14-chatbot): arregla warnings de linter --- 14-chatbot/01-challenge/00-opening/README.md | 6 +++--- 14-chatbot/01-challenge/02-env/README.md | 5 +++-- .../02-getting-started/01-design-principles/README.md | 2 +- .../02-getting-started/02-ms-bot-framework/README.md | 11 +++++------ 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/14-chatbot/01-challenge/00-opening/README.md b/14-chatbot/01-challenge/00-opening/README.md index fad69a643..d151c9f04 100644 --- a/14-chatbot/01-challenge/00-opening/README.md +++ b/14-chatbot/01-challenge/00-opening/README.md @@ -24,9 +24,9 @@ plataformas conversacionales. Para comenzar este curso necesitarás tener instalado en tu computador lo siguiente: -* Node.js https://nodejs.org -* Visual Studio Code https://code.visualstudio.com/download -* Microsoft Bot Framwork Emulator https://docs.microsoft.com/en-us/bot-framework/bot-service-debug-emulator +* [Node.js](https://nodejs.org) +* [Visual Studio Code](https://code.visualstudio.com/download) +* [Microsoft Bot Framwork Emulator](https://docs.microsoft.com/en-us/bot-framework/bot-service-debug-emulator) ... diff --git a/14-chatbot/01-challenge/02-env/README.md b/14-chatbot/01-challenge/02-env/README.md index 39ed30e89..9209f5b9d 100644 --- a/14-chatbot/01-challenge/02-env/README.md +++ b/14-chatbot/01-challenge/02-env/README.md @@ -29,5 +29,6 @@ Existen 3 Tipo de Nubes ## ¿Qué es Azure? -* Azure es un conjunto de servicios en la nube que los desarrolladores y los profesionales de TI utilizan para crear, implementar y administrar aplicaciones a través de nuestra red global de centros de datos -... +Azure es un conjunto de servicios en la nube que los desarrolladores y los +profesionales de TI utilizan para crear, implementar y administrar aplicaciones +a través de nuestra red global de centros de datos. diff --git a/14-chatbot/02-getting-started/01-design-principles/README.md b/14-chatbot/02-getting-started/01-design-principles/README.md index 559befc1e..877a9869d 100644 --- a/14-chatbot/02-getting-started/01-design-principles/README.md +++ b/14-chatbot/02-getting-started/01-design-principles/README.md @@ -35,7 +35,7 @@ evitandonos trabajos repetitivos * Game bots * Scraper bots -Acá podrán ver una galeria de bot publicos https://bots.botframework.com/ +[Acá podrán ver una galeria de bot publicos](https://bots.botframework.com/) ## ¿Qué utilidades le podemos dar a los bots? diff --git a/14-chatbot/02-getting-started/02-ms-bot-framework/README.md b/14-chatbot/02-getting-started/02-ms-bot-framework/README.md index 2c4182596..8dcd363a0 100644 --- a/14-chatbot/02-getting-started/02-ms-bot-framework/README.md +++ b/14-chatbot/02-getting-started/02-ms-bot-framework/README.md @@ -38,10 +38,9 @@ encuentran todos los bots registrados por medio de bots Connector. Si quieres conocer más sobre Bot Framework ingresa a los siguientes enlaces: -* https://dev.botframework.com/ -* https://docs.microsoft.com/en-us/bot-framework/nodejs/bot-builder-nodejs-quickstart -* https://channel9.msdn.com/Series/APAC-DevSquad-Showcase/Intro-to-Bot-Framework - +* [Microsoft Bot Framework](https://dev.botframework.com/) +* [Create a bot with the Bot Builder SDK for Node.js - Bot Service | Microsoft Docs](https://docs.microsoft.com/en-us/bot-framework/nodejs/bot-builder-nodejs-quickstart) +* [Intro to Bot Framework | APAC DevSquad Showcase | Channel 9](https://channel9.msdn.com/Series/APAC-DevSquad-Showcase/Intro-to-Bot-Framework) ## Tecnologias con las cuales podemos diseñar Bot en Azure @@ -69,8 +68,8 @@ Dentro de los servicios Cognitivos podemos encontrar: precompilados, evalúen los sentimientos y aprendan a reconocer lo que los usuarios desean. -Si quieres conocer más detalles sobre los Servicios Cognitivos ingresa al -siguiente enlace https://azure.microsoft.com/es-es/services/cognitive-services/ +Si quieres conocer más detalles sobre los Servicios Cognitivos ingresa a +[este enlace](https://azure.microsoft.com/es-es/services/cognitive-services/). ## Configuración de ambiente para desarrollar nuestro primer bot From 7808d6a3be4a362b41691e706a38085fe715b6ce Mon Sep 17 00:00:00 2001 From: Lupo Montero Date: Wed, 10 Jan 2018 16:18:12 -0500 Subject: [PATCH 3/4] =?UTF-8?q?content(14-chatbot):=20reemplaza=20hoja=20d?= =?UTF-8?q?e=20ruta=20con=20imagen=20de=20presentaci=C3=B3n=20de=20kick-of?= =?UTF-8?q?f?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 14-chatbot/01-challenge/00-opening/README.md | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/14-chatbot/01-challenge/00-opening/README.md b/14-chatbot/01-challenge/00-opening/README.md index d151c9f04..3cc9d9048 100644 --- a/14-chatbot/01-challenge/00-opening/README.md +++ b/14-chatbot/01-challenge/00-opening/README.md @@ -54,22 +54,4 @@ Los ejercicios fuera de lo que es el proyecto/producto no serán calificados. ## Hoja de ruta -### Semana 1 - -* **Sesión 1: presencial 3h => Presentación de retos, principios de diseño, tipos - de bots y Microsoft Bot Framework** -* Sesión 2: webinar 1.5h => Servicios cognitivos - -### Semana 2 - -* Sesión 3: presencial 3h => Hacking -* Sesión 4: webinar 1.5h => Prueba de bots - -### Semana 3 - -* Sesión 5: presencial 3h => Hacking -* Sesión 6: webinar 1.5h => Vigilar la salud de los bots - Telemetría - -### Semana 4 - -* Sesión 7: presencial 3h => Hacking + Demos +![kickoff chatbot con azure - sclene18](https://user-images.githubusercontent.com/110297/34795694-1f114566-f621-11e7-8d99-7edd1c30aa97.png) From 15c8b5b23d8b68b5e86410936b3028f5ebf74a03 Mon Sep 17 00:00:00 2001 From: Lupo Montero Date: Wed, 10 Jan 2018 16:21:41 -0500 Subject: [PATCH 4/4] =?UTF-8?q?fix(14-chatbot):=20arregla=20typo=20en=20co?= =?UTF-8?q?mandos=20de=20instalaci=C3=B3n=20de=20botbuilder=20y=20restify?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 14-chatbot/02-getting-started/02-ms-bot-framework/README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/14-chatbot/02-getting-started/02-ms-bot-framework/README.md b/14-chatbot/02-getting-started/02-ms-bot-framework/README.md index 8dcd363a0..687f84bd8 100644 --- a/14-chatbot/02-getting-started/02-ms-bot-framework/README.md +++ b/14-chatbot/02-getting-started/02-ms-bot-framework/README.md @@ -82,11 +82,10 @@ Para configurar nuestro ambiente, realizaremos los siguientes pasos: 3. Ir al menú ver->terminal Integrado y verificarán si node.js esta funcionando correctamente -4. Instalaremos restify y botbuilder con los siguientes comandos: +4. Instalaremos `restify` y `botbuilder` con el siguiente comando: ```sh - npm install restify -save - npm intall botbuilder -save + npm install --save restify botbuilder ``` ## Construcción de bots simples