Skip to content

Latest commit

 

History

History
296 lines (204 loc) · 14.2 KB

README.md

File metadata and controls

296 lines (204 loc) · 14.2 KB

Watson Assistant - Cloudant


Realiza un asistente virtual que utiliza los servicion de cloudant y despliegalo en un voice agent!

Pre-requisitos

• Tener instalado Node.js.
• Tener una cuenta de IBM Cloud.
• • Instalar un Editor de código
• Instalar CLI de IBM Cloud
• Tener cuenta en Twilio
• Clonar este Repositorio.

Cupones para profesores y estudiantes:

  • Acceder al portal de IBM Academic Initiative y seleccionar la opción "Register now" si aun no tienes cuenta.
  • Realizar el registro correspondiente utilizando la cuenta de correo académica y confirma tu cuenta.
  • Despues de confirmar tu cuenta, y con la sesion iniciada en IBM Academic Initiative, en la parte de "Most Popular Topics covered", encontraremos IBM Cloud y damos click en "Learn more".
  • Bajamos de la pagina hasta encontrar "Software". Le damos click, nos dara un apartado que se llama "Request Feature Code".
  • Nos dara nuestro codigo. Lo copiamos y lo llevamos a IBM Cloud.

Cargar créditos en IBM Cloud:

  • En la parte superior derecha, buscaremos la parte de "MANAGE"/"GESTIONAR", nos desplegara una lista y seleccionaremos "Account"/"Cuenta".
  • De lado izquierdo, tendremos una opción "Account settings"/"Configuracion de cuenta".
  • Bajamos un poco hasta encontrar "Subscription and feature codes"/"Codigos de suscripción y carateristicas".
  • Da click en "Apply code"/"Aplicar codigo".
  • Ingresamos el codigo y click en "Apply"/"Aplicar".

Creación de Base de Datos con Cloudant

Ingresa a tu cuenta de IBM Cloud y en la barra de busqueda teclea “Cloudant” y da clic en el servicio.

Seleccionamos el plan Lite.

En la parte inferior de la misma ventana configura tu base de datos asignándole un nombre y para poder selecciona la primera opción de la lista desplegable.

Posteriormente da clic en el botón de “Crear”

Una vez creado el servicio ingresa al Menú de Navegación dando clic en las tres líneas que se encuentran en la parte superior izquierda de tu ventana y ve a tu Lista de Recursos.

Dentro de la ventana principal de Cloudant da clic en “Crear Base de Datos”, asigna el nombre de “Proveedores” y da clic en crear.

Una vez en tu Lista de Recursos, da clic en la ventana de Servios y después da clic en el nombre que le asignaste a tu base de datos.

Posteriormente da clic en “Launch Cloudant Dashboard” para inicializar el servicio

Ya dentro de la interfaz de Cloudant da clic en “Create Database” ,asigna el nombre de “proveedores” , selecciona la casilla de “Non-partitioned” y da clic en “Create”.

Despues abrimos la carpeta que clonamos de Github con algún editor de textos y abrimos el documento “basededatos”

Dentro del archivo copiamos los datos que se encuentran en las primeras llaves { }.

Regresamos a Cloudant y damos clic en “Create Document”

Dentro del documento, pegamos los datos del paso anterior debajo del ID asignado por Default en nuestro documento, agregamos una “,” después del ID y damos clic en “Create Document”

Repetimos el proceso con los otros 3 provedores hasta tener desplegados los 4 documentos en la pestaña de “All Documents” dentro de Cloudant.

Posteriormente, desde nuestro editor de textos abrimos el archivo “type-group”, agregamos el nombre del dato que queremos consultar en la base de datos, en este caso es “proveedor” como se indica en la siguiente imagen y copiamos lo que contiene todo el archivo “type-group”.

Regresamos a nuestra ventana de Cloudant, creamos un nuevo documento y pegamos el contenido del paso anterior.

Regresando a la ventana principal de nuestro servicio de Cloudant, podemos ver en la sección de “groupType” que se despliega la pestaña “type-group” que nos trae el dato requerido en el paso anterior, en este caso el del “proveedor”.

Creación de Functions

Regresamos a la ventana principal de IBM Cloud y en la barra de búsqueda ingresamos “functions” y damos clic en el servicio.

En la siguiente ventana, damos clic en “Empezar a crear”.

En la siguiente ventana, damos clic en “Create action”.

Le asignamos el nombre de “Estructurador vista” y damos clic en “Create” dejando las demás opciones como se asignan por default.

Después regresamos a nuestro editor de textos, abrimos el archivo “estructurador vista”, sustituimos el nombre de nuestra base de datos como se muestra a continuación y copiamos todo el código dentro del archivo “estructurador vista”

Regresamos a la ventana de functions, pegamos el código en la acción que hemos creado y damos clic en “Save”

Posteriormente damos clic en “invoke” para hacer la consulta a la base de datos, esperamos unos segundos y podemos observar que la consulta fue realizada de manera exitosa.

Regresamos a la sección de “Actions” en la parte superior izquierda.

Damos clic en “créate”

Y seleccionamos “Create sequence”

En la siguiente ventana asignamos el nombre “Consulta proveedores”, seleccionamos la acción que creamos anteriormente y damos clic en “Create”.

En la siguiente ventana nos encontramos dentro de la secuencia que acabamos de crear, damos clic en “Add” para crear una nueva acción dentro de la secuencia.

En la siguiente ventana seleccionamos la ventana “Use public” y luego damos clic en el icono de “Cloudant”

En la pestaña desplegable, seleccionamos la opción de “exec-query-view” y damos clic en “New Binding”

Para obtener las credenciales de nuestro servicio de Cloudant y los datos requeridos, regresamos a nuestro dashboard de IBM Cloud y damos clic en el nombre que le asignamos al servicio.

Damos clic en la pestaña “credenciales de servicio” que se encuentra del lado izquierdo y damos clic en “nueva credencial”.

En la siguiente ventana, seleccionamos “Auto-generated service credentials” y damos clic en “Añadir”.

Damos clic en credenciales del servicio.

De los siguientes datos solo copiamos los que se muestran en la siguiente imagen.

Regresamos a la ventana de "functions” e ingresamos los valores indicados en el paso anterior, el nombre de la base de datos y damos clic en “Add”.

Posteriormente damos clic en “save”.

Damos clic en “Invoke” y observamos que nos trae los datos desde nuestra base de datos.

Creación de Watson Assistant

Regresamos a la ventana principal de IBM Cloud y en la barra de búsqueda buscamos el servicio de “Watson Assistant” y damos clic en el icono del servicio.

Seleccionamos el plan lite y damos clic en “Crear”

En la siguiente ventana damos clic en “Iniciar Watson Assistant”

Ahora en la nueva ventana damos clic en el ícono de lado izquierdo y luego en “Create assistant”

Le asignamos el nombre que queramos y damos clic en “create assistant”

En la siguiente ventana damos clic en “Add dialog skill”

En la siguiente ventana nos vamos a la pestaña de “Create skill”, asignamos un nombre, seleccionamos el idioma en el que entrenaremos a nuestro modelo (“Spanish”) y damos clic en “Create dialog skill”

Damos clic en nuestro dialog skill para poder entrenarlo.

Damos clic en la pestaña de “Entities”

Creamos una variable llamada “tour” la cual va a tener los distintos destinos con los que cuenta nuestra base de datos.

Posteriormente creamos un valor por cada uno de nuestros destinos de la base de datos y es importante que estén escritos de la misma manera.

Regresamos a la ventana de “functions” y damos clic en nuestra cuenta.

Entramos a nuestra secuencia “Consulta de proveedores” y damos clic en el icono de “Web Action”. !

Marcamos la casilla de “Enable as Web Action” y damos clic en “Save”

Copiamos la url marcada en la imagen y regresamos a la ventana de Watson Assitant.

En la ventana de Watson Assistant, damos clic en la pestaña de “Options” y en el apartado de “Webhooks” pegamos la URL del paso anterior y al final añadimos “?blocking=true”

Regresamos a la ventana de “Functions” y damos clic en “Valores de espacio de nombres” y copiamos el “username” y el “password” como se muestra en la imagen.

Regresamos a la ventana de Watson Assitant y damos clic en “Add authorization”.

Agregamos el nombre y la contraseña que copiamos en el nombre anterior

Vamos a la pestaña de Actions y damos clic en “New action”

Le asignamos el nombre “Cotizar” y al menos 5 formas en la que le pedirías a tu asistente virtual que haga la cotización de un viaje.

Damos clic en el engrane que se encuentra en la parte superior derecha de nuestra “Action”, activamos los “Slots”, en los “Webhooks” y damos clic en “Aplicar”.

Definimos las variables que le darán contexto a nuestro asistente si es que reconoce que le preguntan por la variable “tour” que definimos anteriormente y definimos que le preguntará al usuario cuál es el destino al que desea viajar con la frase “Dame el destino”.

Después definimos que la llamada al webhook que busque “key” de “tour” en nuestra base de datos.

Por último, definimos la respuesta que le dará nuestro asistente virtual al usuario sobre la cotización que desea realizar. (El precio por adulto es de
El precio por menor es de )

Probamos nuestro Asistente Virtual

Conexión con Voice Agent

Ve a la ventana principal de IBM Cloud, escribe en la barra de búsqueda “Voice Agent” y da clic en el servicio

Asigna un nombre, selecciona el plan lite y da clic en “crear”

Accede a [Twillo] (https://www.twilio.com/try-twilio) y crea tu cuenta o inicia sesión
**NOTA: Recuerda que debes verificar tu cuenta con tu correo electrónico y un número de teléfono válido

En la ventana principal de Twilio, da clic en los 3 puntos que aparecen en la esquina superior izquierda

En la ventana que aparece da clic en la pestaña que se muestra en la imagen

Da clic en “get started”

Posteriormente da clic en “Create a SIP Trunk”

Asigna el nombre de “Voice Agent” y da clic en “Create”

Regresamos a la ventana de Voice Agent en IBM Cloud y damos clic en la pestaña de “Iniciación” y copiamos el Endpoint que se muestra en la siguiente imagen.

Regresamos a Twilio y en la pestaña de “Origination” damos clic en “Add NEW Origination URL”

En la siguiente ventana pegamos el valor que copiamos anteriormente y damos clic en “Add”

Damos clic en la pestaña de los tres puntitos y vamos a “# phone numbers”

Damos clic en “Get Started”

Damos clic en “Get your first Twilio phone number”

Damos clic en “Choose this number”

Clic en “Done”

Regresamos a la pestaña “Managed numbers” y damos clic en el número que se generó anteriormente.

En la siguiente ventana nos desplazamos hacía abajo y en la sección de “Configure With” seleccionamos “SIP Trunk”

Posteriormente seleccionamos “Voice agent” en la sección de SIP Trunk y damos clic en “Save”

Regresamos al servicio que creamos en IBM Cloud de Voice Agent y en la pestaña de “Gestionar” dentro de nuestro servicio, damos clic en “Crear un agente”.

Regresamos a la ventana de Twilio y copiamos el número que se nos asigno anteriormente.

En la ventana que se nos abrirá en IBM Cloud, asignamos el nombre de “Voice Agent” y pegamos el numero que obtuvimos de Twilio. Además, checamos que se ligue con nuestro servicio de Watson Assistant y la skill que entrenamos en la sección 3 y damos clic en “Crear un agente”

Por último, llama desde tu celular al número asignado por Twilio y prueba tu Asistente Virtual.