Almacenamiento y recuperación de interacciones de botsâ˜ ï¸ ðŸ¤– | por Dmitri | Archie.AI

Mejora de la interfaz de usuario del bot de JavaScript con localStorage

Una implementación de un JavaScript biblioteca de bots con localStorage en el lugar para memorizar interacciones anteriores. Observe el texto atenuado. Esta captura de pantalla es de una versión de producción de Aplicación Archie.AI de Google Chrome.

Cuando construyo cosas, tiendo a buscar soluciones simples, sin excesos, que puedan entenderse y personalizarse fácilmente. Desafortunadamente, cuando estaba buscando uno el año pasado, no había ninguno para mi caso de uso…

var chatWindow = new Bubbles(
document.getElementById("chat"),
"chatWindow"
);
chatWindow.talk();
// https://github.com/dmitrizzle/chat-bubble#demos--more-usage-examples
  1. Ofrezca opciones a sus usuarios, que aparecen como botones (vea el gif a continuación). No es necesario hacer nada aquí, esto está integrado.
  2. Use el código de muestra provisto que utiliza una lógica de coincidencia aproximada simple para asignar la entrada de sus usuarios a las opciones que prescribe (vea el gif a continuación).
  3. Conecte su propio motor NLC (vea el gif arriba).
Ejemplo de biblioteca de bot con controles de botón incorporados y teclado de entrada con lógica de coincidencia aproximada implementada. El script JSON que prescribe esta estructura de conversación se encuentra a continuación:
// a simple conversation script written with JSONvar conversationScript = 

Durante los siguientes meses, probamos el script en producción con cerca de mil usuarios, mientras agregamos algunos ajustes y mejoramos el rendimiento en navegadores más antiguos. También se ha descargado más de 700 veces hasta el día de hoy.

  1. Tener el potencial de ser utilizado con una base de datos o cualquier otro método de almacenamiento de datos.
  2. Tener una interactividad y un estilo de interfaz de usuario diferentes a los del resto del bot (una señal visual para el usuario).
  3. Sea una mejora progresiva que no rompa el resto de la aplicación.
chat-bubble-interactions es la clave LS para mantenerse en contacto con el historial de chat.

A prueba de futuro.

Mantener una opción abierta para implementar una solución de almacenamiento del lado del servidor es bastante sencillo. La biblioteca completa tiene menos de 340 líneas de JavaScript comentado y sin comprimir. Si alguien intentara implementar eso, todo lo que necesitaría cambiarse es JSON.parse(localStorage.getItem(interactionsLS)) método para acceder a la historia y localStorage.setItem(interactionsLS, JSON.stringify(interactionsHistory)) método para guardar el historial.

Interfaz de usuario personalizada para conversaciones recuperadas.

Tenga en cuenta el estilo “en gris” para esta conversación recordada en la parte superior.
Tenga en cuenta cómo el opciones de respuesta ya no aparecen en el historial de conversaciones.
// add re-generated user picks to the history stack
if (_convo[key] !== undefined && content !== undefined)

Mejorando progresivamente.

Esta es una característica relativamente nueva que no todos querrían usar, por supuesto. También es experimental y podría exagerarse fácilmente (si alguien intentara recordar 1000 interacciones, el rendimiento y la experiencia del usuario disminuirían cada vez que se cargara el barco). Entonces, por defecto, lo dejé desactivado:

recallInteractions = options.recallInteractions || 0
var chatWindow = new Bubbles(
document.getElementById("chat"),
"chatWindow",

);
if (interactionsHistory.length > recallInteractions)
interactionsHistory.shift()
// local storage for recalling conversations upon restart
var localStorageCheck = function()
var localStorageAvailable = localStorageCheck() && recallInteractions > 0

Fuente del artículo

Deja un comentario