Building a helpdesk chatbot with the Rasa ecosystem
Rating: 9 out of 10
IncentivizedUse Cases and Deployment Scope
Our use case involves an internal IT support helpdesk, which is served by the chatbot. We use Rasa Pro, Rasa SDK (action server) and Rasa Studio products. Our chatbot is supporting users with all hardware, software and access issues at their workplace. The hardware includes e.g. company mobile phones, laptops, printers and accessories. The software includes different applications from the internal software catalogue.
Pros
- Provides transparent interface for dialogue management
- Pipeline-based approach to processing messages allows easy extension and customization of message processing components.
- Seamless integration of Rasa SDK for custom actions provides a powerful interface for integrating the chatbot with other systems for data retrieval and manipulation.
- Rasa CALM does a very good job at restricting LLM hallucination.
Cons
- Rasa CALM flows and Rasa domain could be made fully independent of the Rasa training process and dynamically retrievable from e.g. a graph DB. This would make the chatbot more flexible.
- Prompt templates, or at least paths could be referenced in Rasa config. Different policies in the Rasa config could then be configured without code change to use different prompt templates
- LLM configuration should rather be part of the endpoints, than model configuration.
- Rasa Studio could support all the functionality of Rasa Pro.
Likelihood to Recommend
Rasa Pro is well suited for corporate use and for chatbots which require backend connections. Smaller chatbots with a few flows might be better served with a simple dialogue engine and custom AI agents, or Rasa Open Source. Rasa does not come with its own complex vector database, just in-memory FAISS and connectors to external vector DB's such as Milvus and Qdrant. It provides only a basic document parser and embedder for FAISS. If you need to build a RAG focused chatbot around a large knowledge base with complex documents, e.g. lots of MS Word or PDF files, you'll have to build a separate document parser and embedder, as well as your own semantic search engine.
