Rasa Playground
En la documentación oficial de Rasa tiene la posibilidad de crear un proyecto y descargaelo para continuar luego construyendo la cnversación.
Instalación
pip3 install -U pip
pip3 install rasa
Para actualizar Rasa:
pip3 install — upgrade rasa
Para descargar una versión específica de Rasa:
pip3 install rasa==1.8.3
Línea de comandos Rasa
- rasa init
Creates a new project with example training data, actions, and config files.
- rasa train
Trains a model using your NLU data and stories, saves trained model in ./models
.
- rasa interactive
Starts an interactive learning session to create new training data by chatting to your assistant.
- rasa shell
Loads your trained model and lets you talk to your assistant on the command line.
- rasa run
Starts a server with your trained model.
- rasa run actions
Starts an action server using the Rasa SDK.
- rasa visualize
Generates a visual representation of your stories.
- rasa test
Tests a trained Rasa model on any files starting with test_
.rasa data split nlu
Performs a 80/20 split of your NLU training data.
- rasa data convert
Converts training data between different formats.
- rasa data validate
Checks the domain, NLU and conversation data for inconsistencies.
- rasa export
Exports conversations from a tracker store to an event broker.
- rasa x
Launches Rasa X in local mode.rasa -h
Shows all available commands.
- rasa init
Crea un asistente completo para iniciar. Crea los siguientes archivos:
Acá se especifica bien los comandos y las diferentes opciones y argumentos:
Conversation-Driven Development
# Qué es CDD?
CDD es el proceso de escuchar a los usuarios y usar esos insights para mejorar el asistente AI. Es en general la mejor práctica para el desarrollo del chatbot.
Desarrollar asistentes sólidos es dificil, porque los usuarios siempre van a decir algo que no se anticipó. El principio atrás de CDD es que en cada conversación los usuarios te dicen — en sus propias palabras — exactamente lo que quiere. Poniendo en práctica CDD en cada etapa de un desarrollo de un bot, orientás al asistente a reconocer palabras o comportamiento de usuarios reales.
CDD incuye las siguientes acciones:
- Revisión de las conversaciones
- Anotar los mensajes y los usa como datos de entrenamiento NLU
- Testea que el asistente siempre se comporte como se espera
- Realiza un seguimiento de los fallos del asistente y mide su rendimiento a lo largo del tiempo
- Corrije cómo el asistente maneja conversaciones fracasadas
CDD no es un proceso lineal; es un círculo de acciones que se realizan una y otra vez mientras se desarrlla y se mejora el bot.
El producto Rasa X, es una herramienta que fue construida con el propósito de CDD.
# CDD en las primeras etapas de desarrollo
Al principio puede parecer que CDD no tiene un rol importante — después de todo, hay muy pocas conversaciones para recurrir. De todas maneras, hay acciones CDD que se pueden tomar desde el principio del desarrollo del bot.
- Ver las mejores prácticas para datos NLU e Historias para detalles
- Las conversaciones a tomar son usuarios que no conocen cómo funciona el bot desde adentro. Los desarrolladores no deben ser los usuarios que testean, ya que conocen qué es lo que puede hacer y qué es lo que no.
- No sobreinstruir a los usuarios finales; debe ser intuitivo
- Configurar un pipeline CI/CD
- la idea de CDD es guiarse en pequeñas y frecuentes actualizaciones del bot a medida que se va teniendo información de conversaciones.
En esta etapa, se puede instalar Rasa X local para que sea más fácil compartir el bot con usuarios finales, colectar información y aplicar buenas prácticas NLU e Historias basadas en las conversaciones que se colectan.
# CDD with a bot in production
Una vez que el bot está en producción, vas a tener más conversaciones para tener insights. Despues podés aplicar acciones CDD. En esta etapa, podés instalar Rasa X en un servidor para deployar el bot y habilitar CDD con un bot en producción.
Annotate#
Continue to follow best practices for NLU as you add new user utterances from real conversations to your training data. Be careful not to overfit your NLU model to utterances like those already in your training data. This can happen when you continuously add user utterances that were already predicted correctly and with high confidence to your training data. To avoid overfitting and help your model generalize to more diverse user utterances, add only user utterances that the model previously predicted incorrectly or with low confidence.
Test#
Add successful user conversations to your test conversations. Doing this consistently will help ensure you don’t introduce regressions as you make other fixes to your bot.
Track#
Look for clues to success and failure to help you track your bot’s performance.
Some metrics are external to your bot. For example, if you are building a bot to relieve demand on a customer service call center, one metric for success could be the reduction in traffic to the call center. Others you can get directly from conversations, such as whether a user reaches a certain action that represents achieving the user goal.
Automatically tracked metrics are by nature proxy metrics; the only way to get a true measure of success would be to individually review and rate every single conversation with your bot. While this clearly isn’t realistic, just keep in mind that no metric is a perfect representation of your bot’s performance, so don’t rely only on metrics to see where your bot needs improvement.
Fix#
Continue to follow best practices for Stories as you expand and improve your bot’s skills. Let user demand guide which skills you add and which fixes you make. Make smaller changes frequently rather than making big changes only once in a while. This will help you gauge the effectiveness of changes you’re making, since you’ll get user feedback more frequently. Your CI/CD pipeline should allow you to do so with confidence.