Desarrollo de acciones de bot personalizadas en Botpress

Desarrollo De Acciones De Bot Personalizadas En Botpress



Los chatbots se han convertido en una parte fundamental de las empresas modernas, lo que les permite brindar una mejor atención al cliente, automatizar procesos e interactuar con los usuarios de manera más efectiva. Botpress es un popular marco de chatbot de código abierto que ofrece varias acciones integradas. Sin embargo, en algunos casos, es posible que necesites crear acciones de bot personalizadas para cumplir con requisitos específicos y ampliar las capacidades del bot. En este tutorial, lo guiaremos en la creación de acciones de bot personalizadas en Botpress enfocándonos en llamar a una API y usar la respuesta en un elemento de contenido.

Comprender las acciones en Botpress

Las acciones en Botpress son funciones del lado del servidor que ejecuta el bot durante los flujos de conversación. Tienen el poder de alterar el estado de la conversación, enviar mensajes personalizados, ejecutar código arbitrario (como llamar a las API o almacenar datos) y más. Básicamente, las acciones son funciones normales de JavaScript, lo que significa que pueden realizar casi cualquier cosa dentro de las limitaciones de la plataforma.

Cuando Dialogue Manager (DM) invoca una acción, recibe varios argumentos que proporcionan contexto a la función. Estos argumentos incluyen los atributos del usuario, variables de sesión, variables temporales, variables de nivel de bot, el último evento de usuario en la conversación, argumentos pasados ​​desde Visual Flow Builder y una máquina virtual en espacio aislado que contiene algunas variables de entorno.







Registrar nuevas acciones

Para agregar las acciones de bot personalizadas, debe crear un archivo JavaScript (.js) y colocarlo en el datos/global/acciones carpeta dentro de su proyecto Botpress. Desafortunadamente, no hay forma de agregar nuevas acciones mediante programación durante el tiempo de ejecución. Al utilizar los comentarios de JavaDoc en su código, puede proporcionar información significativa sobre las acciones, como su nombre, descripción, argumentos y valores predeterminados. También puede ocultar una acción en el editor de flujo agregando la marca @hidden true en el comentario de JavaDoc.



Cómo crear acciones personalizadas en Botpress

Aquí hay algunos pasos que puede seguir para crear una acción personalizada en Botpress:



Paso 1: crea tu bot y agrega un nodo

Para comenzar, cree un nuevo bot en Botpress. Una vez creado su bot, agregue un nuevo nodo al flujo de conversación.





Paso 2: agregue mensajes apropiados a su nodo

En el nodo recién creado, agregue los mensajes necesarios para facilitar el intercambio de contenidos con los usuarios. Por ejemplo, puedes agregar un mensaje de texto para saludar al usuario y preguntarle su nombre.



Paso 3: abra el código de ejecución desde la barra lateral

Navegue a la barra lateral en Botpress Flow Builder y abra el 'Editor de código'. Aquí es donde puede construir y administrar sus acciones personalizadas.

  C:\Usuarios\usuario01\Escritorio\4124.PNG

Paso 4: haga clic en el botón 'Agregar acción'

En la sección 'Ejecutar código', haga clic en el botón 'Agregar acción'. Esta acción abre la ventana 'Crear una nueva acción_legacy'.

  C:\Usuarios\usuario01\Escritorio\tempsnip.png

Paso 5: especifique un nombre para el archivo y haga clic en el botón Enviar

En la ventana 'Crear una nueva acción_legacy', proporcione un nombre significativo para su archivo de acción personalizado; por ejemplo, acción personalizada.js. Una vez que haya especificado el nombre, haga clic en el botón 'Enviar'. Esto crea el archivo 'customAction.js'.

Paso 6: escriba su código personalizado

Abra el archivo 'customAction.js' recién creado. Dentro del archivo, verá el código repetitivo que se genera para una nueva acción. Proporcione una descripción significativa para su acción personalizada utilizando los comentarios apropiados.

Ahora, escriba su código personalizado dentro de la función. Este código define el comportamiento de su acción personalizada. Puede utilizar JavaScript para realizar diversas tareas, como realizar llamadas API, acceder a bases de datos o manejar lógica compleja.

Paso 7: modifique su nodo para utilizar la acción personalizada

Regrese a Botpress Flow Builder y modifique el nodo donde desea activar su acción personalizada. Agregue una tarjeta de 'Código de ejecución' al nodo.

Paso 8: seleccione el nombre de su acción personalizada y especifique los parámetros de la acción

En la tarjeta 'Ejecutar código', verá una lista desplegable que contiene los nombres de todas sus acciones personalizadas. Seleccione el nombre de su acción personalizada de la lista. Si su acción personalizada requiere algún parámetro, puede especificarlo en la sección 'Parámetros' de la tarjeta 'Ejecutar código'.

  C:\Usuarios\usuario01\Escritorio\tempsnip121.png

Paso 9: haz que tu bot realice la acción

Finalmente, agregue otra tarjeta al nodo para que su bot realice la acción personalizada. Puede utilizar las variables que se guardan en el evento (especificadas en la tarjeta 'Ejecutar código') para acceder a los resultados de su acción personalizada e incluirlos en la respuesta del bot.

Ejemplo de acción personalizada

Supongamos que desea que su chatbot proporcione la información meteorológica actual para una ubicación específica. Puede crear una acción personalizada que llame a una API meteorológica y devuelva los datos meteorológicos.

axios constantes = requerir ( 'axios' );

const getWeather = asíncrono ( usuario , sesión, argumentos) => {

ubicación constante = args.ubicación || 'Nueva York' ;

clave api constante = 'tu_clima_api_key' ;

const apiUrl = `https://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${ubicación}`;

intentar {

respuesta constante = esperar axios.get(apiUrl);

const meteorData = respuesta.datos;

return `El clima actual en ${location} es ${weatherData.current.condition.text} con una temperatura de ${weatherData.current.temp_c}°C.`;

} captura (error) {

devolver 'Lo siento, no pude \' t recuperar la información meteorológica en este momento. Por favor, inténtelo de nuevo más tarde.' ;

}

};

devolver obtenerTiempo( usuario , sesión, argumentos);

Esta acción requiere ciertos argumentos, incluidos el usuario, la sesión y los argumentos que proporcionan el contexto y los datos para que funcione la acción. En este ejemplo, la acción personalizada 'getWeather' toma la ubicación como argumento o toma de forma predeterminada 'Nueva York' si no se proporciona. La acción llama a la API meteorológica utilizando Axios, recupera los datos meteorológicos y devuelve un mensaje que contiene las condiciones meteorológicas y la temperatura.

Ventajas de las acciones personalizadas

Las acciones personalizadas en Botpress ofrecen varias ventajas que mejoran las capacidades y funcionalidades de su chatbot:

  1. Extienden la funcionalidad del chatbot más allá de las capacidades integradas.
  2. Crean interacciones personalizadas para una mejor experiencia de usuario.
  3. Obtienen datos en tiempo real de las API para obtener respuestas dinámicas.
  4. Se integran con sistemas backend y bases de datos.
  5. Manejan escenarios complejos con código personalizado.
  6. Reutilizan las acciones en chatbots y flujos.
  7. Implementan el manejo y registro de errores personalizados.
  8. Optimizan las tareas que consumen muchos recursos.
  9. Aprovechan los servicios externos para escalar.
  10. Acceden y comparten las acciones personalizadas prediseñadas.

Conclusión

Las acciones personalizadas en Botpress amplían las capacidades del chatbot, personalizan las interacciones e integran API externas. Los desarrolladores crean las funciones JavaScript del lado del servidor y las invocan desde Botpress Flow Builder. Estas acciones ofrecen reutilización del código, rendimiento mejorado y escalabilidad, lo que hace que los chatbots sean herramientas más versátiles y poderosas. Aprovechar las acciones personalizadas en Botpress crea experiencias de chatbot innovadoras y atractivas.