1. PRACTICA ADICIONAL
INSTALACION DE PREREQUISITOS
Configuración del entorno de laboratorio
Estos ejercicios están diseñados para completarse en un entorno de laboratorio alojado. Si desea completarlos en su propia
computadora, puedehacerlo instalando el siguiente software. Puede experimentar diálogos y comportamientos
inesperados al utilizar su propio entorno. Debido a la amplia gama de posibles configuraciones locales, el equipo del curso
no puede dar soportea los problemas que pueda encontrar en su propio entorno.
Nota : Las instrucciones a continuación son parauna computadoracon Windows 10. También puede utilizar Linux o
MacOS. Es posibleque deba adaptar las instrucciones de laboratorio para el sistema operativo que elija.
Sistema operativo base (Windows 10)
Windows 10
Instale Windows 10 y aplique todas las actualizaciones.
Borde
Instalar Edge (Chromium)
SDK de .NET Core
1. Descargue e instale desde https://dotnet.microsoft.com/download (descargue .NET Core SDK, no solo el tiempo
de ejecución)
C ++ redistribuible
1. Descargue e instale Visual C ++ Redistributable (x64) desde https://aka.ms/vs/16/release/vc_redist.x64.exe .
Node.JS
1. Descargue la última versión de LTS desde https://nodejs.org/en/download/
2. Instalar usando las opciones predeterminadas
Python (y paquetes requeridos)
1. Descargue la versión 3.8 de https://docs.conda.io/en/latest/miniconda.html
2. Ejecutar el programa de instalación para instalar - Importante : seleccione las opciones para agregar Miniconda
a la variable PATH y pararegistrar Miniconda como el entorno Python predeterminado.
3. Después de la instalación, abra el indicador de Anaconda e ingrese los siguientes comandos para instalar
paquetes:
pip install flask requests python-dotenv pylint matplotlib pillow
pip install --upgrade numpy
2. CLI de Azure
1. Descarga desde https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest
2. Instalar usando las opciones predeterminadas
Git
1. Descargue e instale desde https://git-scm.com/download.html , usando las opciones predeterminadas
Código de Visual Studio (y extensiones)
1. Descarga desde https://code.visualstudio.com/Download
2. Instalar usando las opciones predeterminadas
3. Después de la instalación, inicie Visual Studio Code y en la pestañaExtensiones (CTRL+ MAYÚS+ X),
busque e instale las siguientes extensiones de Microsoft:
o Pitón
o C#
o Funciones de Azure
o Potencia Shell
Emulador de Bot Framework
Siga las instrucciones en https://github.com/Microsoft/BotFramework-Emulator/blob/master/README.md para
descargar e instalar la última versión estable del Bot Framework Emulator parasu sistema operativo.
Crear un bot con Bot Framework SDK
Los bots son agentes de software que pueden participaren diálogos conversacionales con usuarios humanos. Microsoft Bot Framework
proporciona una plataforma integral para crear bots que se pueden entregar comoservicios en la nube a través de Azure Bot Service.
En este ejercicio,usará Microsoft Bot FrameworkSDK para creare implementarun bot.
Antes de que empieces
Comencemos por prepararel entorno para el desarrollo de bots.
Clonar el repositorio de este curso
Si aún no ha clonado el repositorio de código AI-102-AIEngineeren el entorno enel que está trabajando en este laboratorio, siga estos
pasos para hacerlo.De lo contrario,abra la carpetaclonada en Visual Studio Code.
1. Inicie Visual Studio Code.
2. Abra la paleta (MAYÚS+ CTRL + P) y ejecute un comando Git:Clonar para clonar
el https://github.com/MicrosoftLearning/AI-102-AIEngineerrepositorio en una carpeta local (no importa qué carpeta).
3. 3. Cuando se haya clonado el repositorio, abra la carpeta en Visual Studio Code.
4. Espere mientras se instalanarchivos adicionales paraadmitir los proyectos de código C # en el repositorio.
Nota : Si se le solicita que agregue los activos necesarios para compilar y depurar, seleccione Ahora no .
Crea un bot
Puede usar Bot FrameworkSDK para crear un bot basado en una plantilla y luego personalizarel código para cumplirconsus requisitos
específicos.
Nota : En este ejercicio,puede optarpor utilizar C # o Python . Enlos pasos siguientes, realice las acciones adecuadas para suidioma
preferido.
1. En Visual Studio Code, en el panel del Explorador , busque la carpeta 13-bot-framework y expanda la carpeta C-Sharp o Python según su
preferencia de idioma.
2. Haga clic con el botón derecho en la carpeta del idioma elegido y abra una terminal integrada.
3. En la terminal, ejecute los siguientes comandos para instalar las plantillas y los paquetes de bot que necesita:
C#
dotnet new -i Microsoft.Bot.Framework.CSharp.EchoBot
dotnet new -i Microsoft.Bot.Framework.CSharp.CoreBot
dotnet new -i Microsoft.Bot.Framework.CSharp.EmptyBot
Pitón
pip install botbuilder-core
pip install asyncio
pip install aiohttp
pip install cookiecutter==1.7.0
4. Una vez instaladas las plantillas y los paquetes, ejecute el siguiente comando para crear un bot basado en la plantilla EchoBot :
C#
dotnet new echobot -n TimeBot
Python
cookiecutter https://github.com/microsoft/botbuilder-python/releases/download/Templates/echo.zip
Si está utilizando Python, cuando se lo solicite el cortadorde cookies, ingrese los siguientes detalles:
● bot_name : TimeBot
● bot_description : Un bot para nuestros tiempos
5. En el panel de la terminal, ingreselos siguientes comandos para cambiar el directorioactual a la carpeta TimeBoty enumere
los archivos de código que se han generado parasubot:
cd TimeBot
dir
Pruebe el bot en Bot Framework Emulator
Ha creado un bot basado en la plantillaEchoBot . Ahorapuede ejecutarlolocalmente y probarlo utilizando Bot Framework Emulator(que
debería estar instaladoen susistema).
1. En el panel de la terminal, asegúrese de que el directorio actual sea la carpeta TimeBot que contiene los archivos de código de su bot, y luego
ingrese el siguiente comando para que su bot se ejecute localmente.
C#
dotnet run
Pitón
4. python app.py
Cuando se inicia el bot, observe que se muestra el punto final en el que se está ejecutando. Debe ser similara http: // localhost: 3978 .
2. Inicie Bot FrameworkEmulator y abra subot especificandoel punto final conla ruta / api / messages adjunta, así:
http://localhost:3978/api/messages
3. Después de que la conversaciónse abra en un panel de chat envivo , espereel mensaje¡Hola y bienvenido! .
4. Ingrese un mensaje como Hola y veala respuesta del bot, que debería repetirel mensajeque ingresó.
5. Cierre Bot Framework Emulator y regresea Visual Studio Code, luego, en la ventana de terminal,ingrese CTRL + C para
detener el bot.
Modifica el código del bot
Ha creado un bot que se hace eco de la entrada del usuario. No es particularmente útil, perosirve para ilustrar el flujo básico de un
diálogo conversacional.Una conversación conun bot constade una secuencia de actividades , en las que se utilizan texto, gráficos
o tarjetas de interfaz de usuario paraintercambiar información. El bot comienza la conversaciónconun saludo, que es el resultado de
una actividadde actualizaciónde la conversación que se activa cuando un usuario iniciauna sesión de chat conel bot. Luego, la
conversaciónconsisteen una secuenciade actividades adicionales en las que el usuario y el bot se turnan paraenviar mensajes .
1. En Visual Studio Code, abra el siguiente archivode código para subot:
o C # : TimeBot / Bots / EchoBot.cs
o Python : TimeBot / bot.py
Tenga en cuenta que el código de este archivo consta de funciones de controlador de actividad; uno parala actividadde
actualizaciónde la conversaciónde Miembro Agregado (cuando alguien se une a la sesión de chat)y otropara la actividad
de Mensaje (cuando se recibe un mensaje).La conversaciónse basa en el concepto de turnos , en el que cada turno representa
una interacciónen la que el bot recibe, procesa y responde a una actividad. El contextode turno se usa para rastrear
informaciónsobre la actividadque se está procesandoen el turno actual.
2. En la parte superior del archivode código, agregue la siguiente declaraciónde importaciónde espacio de nombres:
C#
using System;
Python
from datetime import datetime
3. Modifique la función del controladorde actividadpara que la actividadMensaje coincida con el siguientecódigo:
C#
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
{
string inputMessage = turnContext.Activity.Text;
string responseMessage = "Ask me what the time is.";
if (inputMessage.ToLower().StartsWith("what") && inputMessage.ToLower().Contains("time"))
{
var now = DateTime.Now;
responseMessage = "The time is " + now.Hour.ToString() + ":" + now.Minute.ToString("D2");
}
await turnContext.SendActivityAsync(MessageFactory.Text(responseMessage, responseMessage), cancellationToken);
}
Python
async def on_message_activity(self, turn_context: TurnContext):
input_message = turn_context.activity.text
response_message = 'Ask me what the time is.'
if (input_message.lower().startswith('what') and 'time' in input_message.lower()):
now = datetime.now()
response_message = 'The time is {}:{:02d}.'.format(now.hour,now.minute)
await turn_context.send_activity(response_message)
5. 4. Guarde sus cambios y luego, en el panel de la terminal, asegúrese de que el directorioactual sea la carpeta TimeBot
que contienelos archivos de código de subot, y luego ingrese el siguiente comando para que subot se ejecute localmente.
C#
dotnet run
Pitón
python app.py
Como antes,cuando se inicia el bot, observe el puntofinal enel que se está ejecutando.
5. Inicie Bot FrameworkEmulator y abra subot especificandoel punto final conla ruta / api / messages adjunta, así:
http://localhost:3978/api/messages
6. Después de que la conversaciónse abra en un panel de chat envivo , espereel mensaje¡Hola y bienvenido! .
7. Ingrese un mensaje como Hola y veala respuesta del bot, que debería ser Preguntarme qué hora es .
8. Entrar ¿Quéhoraes? y verla respuesta.
El bot ahora responde a la consulta"¿Qué hora es?" mostrando la hora local en la que se está ejecutandoel bot. Para cualquier
otra consulta,solicita al usuario que le pregunte qué hora es. Este es un bot muy limitado, que podría mejorarse mediante la
integraciónconel servicioLanguage Understandingy código personalizado adicional,perosirvecomo un ejemploprácticode
cómo puede crear una solución con Bot Framework SDK al extender un bot creadoa partir de una plantilla. .
9. Cierre Bot Framework Emulator y regresea Visual Studio Code, luego, en la ventana de terminal,ingrese CTRL + C para
detener el bot.