Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the acf domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/planetac/desa.planetachatbot.com/wp-includes/functions.php on line 6170

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the all-in-one-seo-pack domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/planetac/desa.planetachatbot.com/wp-includes/functions.php on line 6170

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wp-user-avatar domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/planetac/desa.planetachatbot.com/wp-includes/functions.php on line 6170

Warning: Cannot modify header information - headers already sent by (output started at /home/planetac/desa.planetachatbot.com/wp-includes/functions.php:6170) in /home/planetac/desa.planetachatbot.com/wp-content/plugins/all-in-one-seo-pack/app/Common/Meta/Robots.php on line 87

Warning: Cannot modify header information - headers already sent by (output started at /home/planetac/desa.planetachatbot.com/wp-includes/functions.php:6170) in /home/planetac/desa.planetachatbot.com/wp-includes/feed-rss2.php on line 8
Attila Ujj - Planeta Chatbot https://desa.planetachatbot.com Comunidad de expertos en IA Conversacional Thu, 18 May 2023 13:34:19 +0000 es hourly 1 https://wordpress.org/?v=7.0 https://desa.planetachatbot.com/wp-content/uploads/2021/05/cropped-favicon-32x32.png Attila Ujj - Planeta Chatbot https://desa.planetachatbot.com 32 32 Primeros pasos en las pruebas de rendimiento de Chatbot con Botium Box https://desa.planetachatbot.com/primeros-pasos-en-las-pruebas-de-rendimiento-de-chatbot-con-botium-box/?utm_source=rss&utm_medium=rss&utm_campaign=primeros-pasos-en-las-pruebas-de-rendimiento-de-chatbot-con-botium-box https://desa.planetachatbot.com/primeros-pasos-en-las-pruebas-de-rendimiento-de-chatbot-con-botium-box/#respond Tue, 11 Jan 2022 08:00:00 +0000 https://desa.planetachatbot.com/?p=9872 Una de las principales trampas de la creación de chatbots es subestimar la importancia del rendimiento. La interfaz de usuario de un chatbot suele ser muy simple, por lo que es fácil olvidar la complejidad detrás de estos asistentes virtuales. Un chatbot lento puede ser aceptado para proyectos domésticos, pero una empresa no puede descuidarlo. […]

The post Primeros pasos en las pruebas de rendimiento de Chatbot con Botium Box first appeared on Planeta Chatbot.

]]>
Una de las principales trampas de la creación de chatbots es subestimar la importancia del rendimiento. La interfaz de usuario de un chatbot suele ser muy simple, por lo que es fácil olvidar la complejidad detrás de estos asistentes virtuales. Un chatbot lento puede ser aceptado para proyectos domésticos, pero una empresa no puede descuidarlo. El mal desempeño es un serio asesino de UX.

Las pruebas de rendimiento son la clave para garantizar que tu chatbot es capaz de responder bajo una carga alta. El peor de los casos es quizás un chatbot que no responde en absoluto, porque no pudo recuperarse después de una carga alta causada por clientes o algún ataque informático.

Pruebas de estrés

Para recopilar algunos conocimientos básicos sobre el rendimiento de tu chatbot, te sugerimos comenzar con una prueba de estrés. Las pruebas de estrés básicamente significan que estamos comenzando con una pequeña cantidad de usuarios paralelos que aumenta gradualmente durante la ejecución. Después de unos minutos dará respuesta a dos preguntas fundamentales:

  • Primero, el resultado principal es cuántos usuarios paralelos pueden ser atendidos sin ralentizar el sistema. Determinar cuáles son las partes lentas requiere, por supuesto, la interacción humana.
  • En segundo lugar, pero no menos importante, se pueden detectar errores de salida. Por lo general, es el primer escenario cercano a la producción para un chatbot que experimenta un gran volumen de interacciones.

Veamos algunos ejemplos más de la vida real…

Primera prueba de esfuerzo

De forma predeterminada, todos los usuarios paralelos mantienen una conversación muy sencilla con el bot, por ejemplo, solo dicen «hola». Esperan una respuesta y repiten la conversación hasta que se llega al final de la prueba. Se acepta cualquier respuesta proveniente del chatbot. Entonces, si el chatbot responde a veces con «Hola usuario», a veces con «No entiendo», no tiene ningún impacto en los resultados de rendimiento. El objetivo principal aquí es obtener una respuesta, mientras que un código de error http o la falta de respuesta se interpreta como un error, por supuesto.

Para iniciar una prueba de esfuerzo, tenemos que seleccionar la pestaña «Pruebas de rendimiento» en nuestro Proyecto de prueba y elegir Prueba de esfuerzo allí.

La duración puede ser de 1 minuto. En términos de usuarios paralelos, usemos 5 para comenzar, 1000 para finalizar. (Puedes poner 1000 allí editando el campo directamente).

«¿Porcentaje requerido de usuarios exitosos?» puede ser del 0% porque no queremos detener la prueba por respuestas fallidas (por el momento).

Tengo dos objetivos con esta configuración; obtener una primera impresión sobre el número máximo de usuarios paralelos que el chatbot puede atender y descubrir cómo el chatbot se rompe con una carga extrema. En producción, tu chatbot podría tener mucha más carga de la esperada, por lo que debes probarlo.

El primer gráfico de los resultados de la prueba de esfuerzo muestra que hubo errores.

Vemos que el bot puede manejar fácilmente a 5 usuarios paralelos. Pero en el siguiente paso, cuando la cantidad de usuarios paralelos se incrementó a más de 200, el chatbot ya comenzó a fallar.

Para obtener más información sobre los problemas, puedes descargar un informe detallado.

Este informe contiene todos los errores detectados por Botium Box. Los tipos de fallas son:

  • Tiempo de espera (el chatbot no responde en absoluto o es demasiado lento)
  • Respuesta no válida (límite de API alcanzado, servidor inactivo, credenciales no válidas)
  • Respuesta con contenido inesperado (Enviamos «hola» y esperamos «¡Hola!», Pero el chatbot responde con «¡Lo siento, se detectó un error, vuelve más tarde!»)

En mi caso, solo hay un tipo de error en el informe:

2168 / Línea 6: error al esperar el bot – El bot no respondió en 10000ms

Después de 10s, Botium Box ha dejado de esperar la respuesta. El tiempo de respuesta del chatbot superó el límite o no respondió en absoluto. Disminuir la velocidad es común en cargas extremas, pero no recibir respuesta es más crítico, eso no podemos ignorar.

Al revisar la Tabla de tiempos de respuesta en los resultados de nuestra prueba de esfuerzo, noto que el chatbot es demasiado lento. El tiempo de respuesta aumenta hasta que llega a los 10 segundos y la mayoría de las respuestas fallan. El siguiente paso ahora es verificar las métricas / registros del lado del chatbot o aumentar el tiempo de espera en Botium Box. En aras de la simplicidad, creo que mi impresión es correcta.

La primera prueba de esfuerzo me demostró que el número máximo de usuarios paralelos es de 200 y con cargas pesadas el chatbot no se romperá, sino que se ralentizará significativamente.

Segunda prueba de esfuerzo

Nuestra primera prueba de esfuerzo tuvo parámetros muy amplios. Tenía dos objetivos allí, obtener algunos resultados sin procesar sobre el número máximo de usuarios paralelos y verificar lo que sucede con cargas extremas. Con la segunda prueba de esfuerzo, quiero refinar el número máximo de usuarios paralelos.

Establecí la duración del paso de prueba en 2 segundos, lo que significa que cada dos segundos Botium Box aumentará el número de usuarios paralelos. Los usuarios mínimos a 150 y el número de usuarios máximos a 300. Con base en estos parámetros, Botium Box agregará cada 2 segundos 14 nuevos usuarios paralelos hasta que termine con 300 después de doce pasos.

Podemos establecer el «Porcentaje requerido de usuarios exitosos» en 95%. Nuestro objetivo ahora no es ir más allá del límite del chatbot, sino sobre el uso normal. Ya espero que la prueba falle debido a demasiados tiempos de espera. La pregunta es cuándo fallará (en qué número de usuarios paralelos).

Una vez finalizada la prueba, veo que falló como se esperaba:

Para estar seguro, verifico el informe Convos fallidos. Hay los mismos errores de tiempo de espera que tuvimos en la primera prueba y como esperaba. Eso es bueno.

El siguiente paso es verificar los gráficos de los resultados de la prueba de esfuerzo:

En el primer paso (150 usuarios paralelos) no hay errores (primer gráfico) y el tiempo medio de respuesta es de 5 s (segundo gráfico). El segundo paso (150 + 14 usuarios en paralelo) tiene el mismo aspecto. Y ahí ya encontré el límite de mi chatbot. No quiero fallas (respuestas superiores a 10 s) o tiempos de respuesta promedio superiores a 5 s.

El tercer paso es muy interesante. El tiempo medio de respuesta está aumentando. El número de usuarios no cambia en un paso de prueba, esperamos un tiempo de respuesta lineal como antes. Y revisando el primer gráfico vemos que hubo algunos errores.

En el último paso podemos ver la fase de desmontaje de la prueba en el gráfico 3. Los usuarios emulados no iniciaron ninguna conversación nueva, solo terminaron la actual.

Regreso al tercer paso. El chatbot parece estar sobrecargado al recibir más solicitudes de las que puede procesar. Otro hallazgo es que en la fase de desmontaje el tiempo de respuesta no se recupera. Probablemente porque el gráfico de tiempos de respuesta se redujo a 10 segundos debido al tiempo de espera utilizado por Botium Box. Supongo que hay un retroceso en los tiempos de respuesta, pero aún está por encima de los 10, por lo que no lo vemos.

Si la sobrecarga no es la causa, entonces tal vez algo se aspire allí (pérdida de memoria). Pero estoy bastante seguro de que está sobrecargado porque es demasiado progresivo para ser otra cosa. Lo demostraré en mi próximo artículo.

Resumen

En base a las dos pruebas realizadas, he determinado los límites de mi chatbot y sé cómo se comporta con cargas extremas. Basándome en esos KPI, puedo decidir las próximas acciones. Dependiendo de los requisitos de mi negocio y la arquitectura del chatbot, hay muchas opciones. Corregir errores existentes, hacer un escalado horizontal / vertical o aplicar cambios de código / arquitectura necesarios, por nombrar algunos.

Lo siguiente

Usar solo Stress Testing puede ser suficiente si tu chatbot se basa en un servicio externo. En casos más complejos, si posees la arquitectura del chatbot al menos parcialmente, se recomienda encarecidamente profundizar. En mi próximo artículo, cubriré las fugas (de memoria), los límites de API, el ataque Ddos y la supervisión del rendimiento.

The post Primeros pasos en las pruebas de rendimiento de Chatbot con Botium Box first appeared on Planeta Chatbot.

]]>
https://desa.planetachatbot.com/primeros-pasos-en-las-pruebas-de-rendimiento-de-chatbot-con-botium-box/feed/ 0
Trucos y consejos de OpenAI GPT-3 https://desa.planetachatbot.com/trucos-consejos-openai-chatbot/?utm_source=rss&utm_medium=rss&utm_campaign=trucos-consejos-openai-chatbot https://desa.planetachatbot.com/trucos-consejos-openai-chatbot/#comments Thu, 05 Aug 2021 08:00:10 +0000 https://desa.planetachatbot.com/?p=8575 Todos los probadores de chatbots sueñan con dos botones. Uno para detectar todos los problemas de un chatbot y otro para solucionarlos todos. Con OpenAI pudimos agregar algunas características interesantes a Botium Box que van en esa dirección. Estamos usando Open AI para adivinar cuál puede ser el próximo mensaje en la conversación. Integramos un […]

The post Trucos y consejos de OpenAI GPT-3 first appeared on Planeta Chatbot.

]]>
Todos los probadores de chatbots sueñan con dos botones. Uno para detectar todos los problemas de un chatbot y otro para solucionarlos todos.
Con OpenAI pudimos agregar algunas características interesantes a Botium Box que van en esa dirección.

  • Estamos usando Open AI para adivinar cuál puede ser el próximo mensaje en la conversación.
  • Integramos un nuevo parafraseador multilingüe que se arriesga al generar nuevas alternativas.

A continuación, te contamos algunos consejos y casos de uso que aprendimos al desarrollar esas funciones.


Normalizar texto

La documentación de OpenAI dice que es mejor comprobar los errores ortográficos en el texto. Pero podemos continuar. El texto debe ser lo más estricto posible. Algunas muestras:

  • Evita el uso de entra. Por ejemplo, podemos confundir OpenAI si permitimos una nueva línea en la sección «humana» de un chat.
  • Termina las oraciones con puntos. (OpenAI lo tratará como una oración, no lo continuará, por ejemplo)
  • Evita la información innecesaria. Por ejemplo, distinguimos entre el usuario que escribe el texto «pizza», o simplemente presiona el botón «pizza». El segundo es algo como esto: «botón #usuario: pizza» para nosotros. Pero esta información puede ser confusa para OpenAI, es mejor usar solo «#user pizza».

Usa enter al final del mensaje correctamente

Esto:

"Human: Hello, who are you?
AI: I am an AI created by OpenAI. How can I help you today?
Human: Can I ask you"

y esto:

Human: Hello, who are you?
AI: I am an AI created by OpenAI. How can I help you today?
Human: Can I ask you

Es una gran diferencia para OpenAI, pero es solo una entrada adicional. En el primer caso, OpenAI continúa el mensaje humano, en el segundo genera un nuevo mensaje de IA.

Traductor multilingue

Construir un traductor multilingüe no es difícil. Hay una muestra para traductor en el patio de juegos de OpenAI. Podemos utilizar los mismos parámetros y estructura de datos, pero con muestras multilingües:

English: See you later!
French: À tout à l'heure!
German: Ich möchte Geld überweisen.
English: I want to transfer money.
Russian: Я хотел бы заказать пиццу.
German:

Eso funciona bien, pero tenemos que definir explícitamente el idioma del texto fuente. Superaremos esta restricción en el siguiente paso.

Traductor multilingüe, no se especifica el idioma básico

Para hacerlo, tenemos que reestructurar un poco el prompt:

Text: See you later!
LanguageOfResult: French
Result: À tout à l'heure!
Text: Ich möchte Geld überweisen.
LanguageOfResult: English
Result: I want to transfer money.
Text: Я хотел бы заказать пиццу.
LanguageOfResult: German
Result:

Pero juguemos con eso un poco más.

Traductor multilingüe y detector de idiomas

Si agregamos un nuevo campo, entonces podemos pedirle a OpenAI que detecte el idioma:

Text: See you later!
LanguageOfResult: French
Result: À tout à l'heure!
LanguageOfText: English

Text: Ich möchte Geld überweisen.
LanguageOfResult: English
Result: I want to transfer money.
LanguageOfText: German
Text: Я хотел бы заказать пиццу.
LanguageOfResult: German
Result:

Es un buen experimento. Lamentablemente no reconoce el lenguaje siempre bueno, pero nos revela algunos hechos:

  • Es posible enseñar parámetros de OpenAI (Text, LanguageOfResult) y valores de retorno (Result, LanguageOfText) Por supuesto, no son parámetros y valores de retorno para OpenAI, sino para nosotros.
  • OpenAI puede resolver tareas más complejas. Lo que es una solución de dos pasos para nosotros, tal vez no lo sea para OpenAI.

Conclusiones

Claro, hay más formas de crear un mensaje para un parapraser. No existe la mejor solución, cada uno tiene sus pros y sus contras. Nuestro parafraseador es muy simple, pero hace lo que necesitamos.

Pros:

  • Está abierto, encuentra nuevas alternativas realmente agradables.
  • Prompt tiene solo 2 filas (menos costo)
  • No está pegado a ningún idioma. (Algunas indicaciones, como nuestro traductor, tienen una sección de formación y una sección de solicitud. Si creamos algunas secciones de formación «codificadas de forma rígida» para parafrasear en inglés, recibimos una solicitud para parafrasear oraciones en alemán y tendremos una indicación en varios idiomas. Puede ser engañoso para OpenAI)

Contras:

  • Aproximadamente la mitad del resultado no es una buena paráfrasis. ¡Pero no significa que sea inútil! Si aparece el mensaje «¿Puedo reemplazar mi tarjeta si se pierde o me la roban?» para «¡Alguien se llevó mi tarjeta!» y «¿Cuál es el procedimiento para denunciar el robo de una tarjeta?» luego vemos que no encaja. Pero en nuestro caso para un chatbot bancario, puede indicar un nuevo caso de uso.

The post Trucos y consejos de OpenAI GPT-3 first appeared on Planeta Chatbot.

]]>
https://desa.planetachatbot.com/trucos-consejos-openai-chatbot/feed/ 1
Tutorial: Prueba de chatbots por SMS con Botium Box https://desa.planetachatbot.com/prueba-chatbots-sms-botium-box/?utm_source=rss&utm_medium=rss&utm_campaign=prueba-chatbots-sms-botium-box https://desa.planetachatbot.com/prueba-chatbots-sms-botium-box/#respond Thu, 25 Mar 2021 09:00:15 +0000 https://desa.planetachatbot.com/?p=438 Botium Box ofrece dos métodos para probar un Chatbot SMS. Puedes actuar como un usuario que envía mensajes SMS o puedes interactuar con la API detrás del chatbot. Enviar mensajes SMS parece una opción óptima porque cubre todo el stack, pero tiene un gran inconveniente, el aumento de los costos. Para sistemas más pequeños, enviar […]

The post Tutorial: Prueba de chatbots por SMS con Botium Box first appeared on Planeta Chatbot.

]]>
Botium Box ofrece dos métodos para probar un Chatbot SMS. Puedes actuar como un usuario que envía mensajes SMS o puedes interactuar con la API detrás del chatbot. Enviar mensajes SMS parece una opción óptima porque cubre todo el stack, pero tiene un gran inconveniente, el aumento de los costos.

Para sistemas más pequeños, enviar mensajes SMS suele ser una buena decisión. Es la solución para todo uso y es más fácil de configurar.

Los chatbots más complejos pueden tener una configuración más sofisticada, pruebas API de todas las ramas de conversación y pruebas basadas en SMS para verificar el rendimiento y la disponibilidad del stack completo, por ejemplo.

Consejo: si tu API ofrece información de NLP como la intención y la entidad reconocidas, entonces, en el caso de las pruebas de API, incluso puedes usar NLP Analytics en Botium Box (según la licencia).

Pruebas de API

No existe una solución paso a paso para las pruebas de API. Necesitamos un conector Botium que se adapte a tu API. Puedes utilizar el conector genérico adecuado de Botium Box (en la mayoría de los casos, interfaz genérica HTTP (s) / JSON). O puedes escribir el tuyo propio.

Prueba de SMS con el conector de SMS Botium Twilio

Botium Box usa Twilio para comunicarse con cualquier chatbot SMS.

Necesitarás una cuenta de Twilio, registrar un número de teléfono en Twilio, configurar Botium Box para mensajes de Botium a Twilio y Twilio para mensajes de Twilio a Botium.

Puedes usar una cuenta de prueba para Twilio, pero existen limitaciones y el presupuesto es limitado. Usamos una cuenta actualizada aquí.

Ten en cuenta que la comunicación por SMS no tiene sesión. Si tienew, por ejemplo, pruebas de desarrollo y producción, es una buena práctica registrar los números de teléfono y configurar la conexión en Botium Box para cada uno. De lo contrario, puedes obtener algunos fallos de prueba aleatorios si se ejecutan en paralelo.

Cuenta Twilio

Sigue los pasos para iniciar la prueba y actualizar.

Registrar un número de teléfono

Navega a Active Numbers, haz clic en Buy a number. Considera elegir el mismo país donde se encuentra el número de tu chatbot. Y elige CUALQUIERA o SMS en capacidades y compra un número.

Verifica la capacidad de SMS (opcional).

Observa el número de teléfono y las credenciales (configuración, general).

Configurar Twilio en Botium Box

Ahora tenemos que configurar Botium Box.

Debajo de la lista de Chatbots, haz clic en el botón Register New Chatbot. 

Completa el formulario con los valores del Panel de Twilio. (Enviar SMS al campo es el número de teléfono de tu chatbot de SMS).

Una vez que el formulario esté completo, Botium Box podrá recibir mensajes. Pero todavía no podemos probar la conexión. Tenemos que configurar Twilio para enviar mensajes a Botium Box.

Después de elegir una clave de API, puedes ver el punto final para recibir mensajes en el formulario de registro. Copia la URL del extremo.

Configurar el Webhook de Twilio

Abre la configuración del número registrado en Twilio y pega el punto final como webhook en la sección de Mensajería (¡no en la sección de Voz y Fax!) Y guárdalo.

Prueba la conexión y guárdala en Botium Box

Todo está configurado. Ahora podemos probarlo presionando el botón SAY HELLO (VERIFICAR CONECTIVIDAD). (Esperamos que el chatbot responda si le enviamos un saludo. Si no es el caso, omite la prueba. Puedes probarlo manualmente usando la función Livechat de Botium Box)

Todo bien, podemos guardar el formulario.

Si no funciona, verifica el mensaje de error que se muestra en la prueba de conectividad o verifica los registros de Twilio en el número de teléfono.

Deshabilitar la ejecución paralela en Botium Box

Si tienes más agentes (trabajadores) en Botium Box y más casos de prueba en un conjunto de pruebas, Botium Box ejecuta el conjunto de pruebas en paralelo. Es bueno para la mayoría de los conectores, pero no para el conector Twilio SMS como se mencionó anteriormente.

Tenemos que establecer el recuento de trabajos paralelos en 1 (o elegir un agente dedicado) en la configuración del proyecto para deshabilitar la ejecución paralela.

Utiliza Botium Box

La conexión está configurada, ¡ya puedes utilizar todas las funciones de Botium Box!

The post Tutorial: Prueba de chatbots por SMS con Botium Box first appeared on Planeta Chatbot.

]]>
https://desa.planetachatbot.com/prueba-chatbots-sms-botium-box/feed/ 0