Rasa is a conversational AI platform from the company of the same name headquartered in San Francisco, enabling enterprises to build customer experiences. Rasa’s platform was built to create enterprise-grade virtual assistants, allowing personalized conversations with customers - at scale. Rasa’s conversational AI platform allows companies to build better customer experiences by lowering costs through automation, improving customer satisfaction, and providing a scalable way to gather customer…
$0
TensorFlow
Score 7.7 out of 10
N/A
TensorFlow is an open-source machine learning software library for numerical computation using data flow graphs. It was originally developed by Google.
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
TensorFlow is great for most deep learning purposes. This is especially true in two domains: 1. Computer vision: image classification, object detection and image generation via generative adversarial networks 2. Natural language processing: text classification and generation. The good community support often means that a lot of off-the-shelf models can be used to prove a concept or test an idea quickly. That, and Google's promotion of Colab means that ideas can be shared quite freely. Training, visualizing and debugging models is very easy in TensorFlow, compared to other platforms (especially the good old Caffe days). In terms of productionizing, it's a bit of a mixed bag. In our case, most of our feature building is performed via Apache Spark. This means having to convert Parquet (columnar optimized) files to a TensorFlow friendly format i.e., protobufs. The lack of good JVM bindings mean that our projects end up being a mix of Python and Scala. This makes it hard to reuse some of the tooling and support we wrote in Scala. This is where MXNet shines better (though its Scala API could do with more work).
Theano is perhaps a bit faster and eats up less memory than TensorFlow on a given GPU, perhaps due to element-wise ops. Tensorflow wins for multi-GPU and “compilation” time.
With the help of dedicated team - documentation and video resources it is relatively easier to build. We prioritized pro-code usage to begin with launch.
Rasa support has been very responsive, trying to fix any reported issues ASAP. They've also listened to many requests for improvement. The Rasa features and changelog are well documented
Community support for TensorFlow is great. There's a huge community that truly loves the platform and there are many examples of development in TensorFlow. Often, when a new good technique is published, there will be a TensorFlow implementation not long after. This makes it quick to ally the latest techniques from academia straight to production-grade systems. Tooling around TensorFlow is also good. TensorBoard has been such a useful tool, I can't imagine how hard it would be to debug a deep neural network gone wrong without TensorBoard.
Keras is built on top of TensorFlow, but it is much simpler to use and more Python style friendly, so if you don't want to focus on too many details or control and not focus on some advanced features, Keras is one of the best options, but as far as if you want to dig into more, for sure TensorFlow is the right choice