In this post we’ll be looking at the best open-source chatbot platforms in the market today. The ordering of this list has no say on whether one offering is better than another. The best chatbot software for you will depend on your unique needs and scenario. The information in this article will assist you in making an informed choice.
Open-source chatbots are messaging applications that simulate a conversation between humans. Open-source means the original code for the software is distributed freely and can easily be modified.
Open-source software leads to higher levels of transparency, efficiency, and control through shared contributions. This allows developers to create software of higher quality while increasing their knowledge of the software platforms themselves.
There are many open-source chatbot software on the market today. Which chatbot works best for you will depend on the technology and coding languages you currently use along with how other companies have utilized chatbots can help you decide.
Alternatively, there are closed-source chatbots software which we have outlined some pros and cons comparing open-source chatbot vs proprietary solutions.
Now, let’s take a look at some of the best open-source chatbots in 2022, and remember, these are in no particular order!
Botpress is a completely open-source conversational AI software and supports many Natural Language Understanding (NLU) libraries.
Botpress is designed to build chatbots using visual flows and small amounts of training data in the form of intents, entities, and slots. This vastly reduces the cost of developing chatbots and decreases the barrier to entry that can be created by data requirements.
Botpress actively maintains integrations with the most popular messaging services including Facebook Messenger, Slack, Microsoft Teams, and Telegram.
The platform is primarily built for developers who need an open system with maximum control. However, it is also easy for a conversation designer to take over and collaborate with a developer on a project, thanks to the visual conversation builder.
Botpress allows specialists with different skill sets to collaborate and build better conversational assistants.
You can read a comprehensive review of Botpress on Chatimize.
Microsoft Bot Framework (MBF) offers an open-source platform for building bots.
The Microsoft approach is primarily code-driven and aimed exclusively at developers. The MBF gives developers fine-grained control of the chatbot building experience and access to many functions and connectors out of the box.
The MBF offers an impressive number of tools to aid the process of making a chatbot. It can also integrate with Luis, its natural language understanding engine.
Microsoft has also acquired Botkit, another open-source platform. Botkit is more of a visual conversation builder with a greater focus placed on the UI actions available to the user.
MBF cannot be considered entirely open-source as the NLU engine it uses, Luis, is proprietary software. This may be an issue for you depending on your situation to have more control.
A disadvantage of the NLU engine not being open-source is that it cannot be installed on-prem. This again is understandable from Microsoft as the MBF and Luis are products built-in part to promote the use of its Azure platform. Luis is a service that you pay for each API call, which can translate into a steep monthly bill.
As we have previously mentioned, Botkit is now part of the Microsoft Bot Framework. It is known for being a code-centric platform that is easy for developers to use. Botkit is just one part of a bigger set of developer tools and SDKs that encompass the Microsoft Bot Framework. The Bot Framework SDK provides the base upon which Botkit is built. It is available in multiple programming languages!
It has a large number of plugins for different chat platforms including Webex, Slack, Facebook Messenger, and Google Hangout.
Botkit has recently created a visual conversation builder to help with the development of chatbots which allows users that do not have as much coding experience to get involved.
Botkit uses Luis as its underlying NLU engine. However, it can be integrated with other NLU engines if necessary.
Rasa is an open-source bot-building framework that focuses on a story approach to building chatbots. Rasa is a pioneer in open-source natural language understanding engines and a well-established framework.
They focus on artificial intelligence and building a framework that allows developers to continually build and improve their AI assistants.
Instead of defining visual flows and intents within the platform, Rasa allows developers to create stories (training data scenarios) that are designed to train the bot.
Rasa is on-premises with its standard NLU engine being fully open source. They built Rasa X which is a set of tools helping developers to review conversations and improve the assistant. Rasa also has many premium features that are available with an enterprise license.
Every chatbot platform requires a certain amount of training data, but Rasa works best when it is provided with a large training dataset, usually in the form of customer service chat logs. These customer service chats are parsed, organized, classified and eventually used to train the NLU engine.
One potential issue with the story approach is it can be difficult to predict what the bot is going to say at a given moment as no one has access to the underlying logic, it is a black box. The risk of this happening is reduced by having large amounts of high-quality training data.
Wit.ai is an open-source chatbot framework that was acquired by Facebook in 2015. Being open-source, you can browse through the existing bots and apps built using Wit.ai to get inspiration for your project.
Wit.ai has a well-documented open-source chatbot API that allows developers that are new to the platform to get started quickly.
Since it is owned by Facebook, Wit.ai is a good choice if you are planning to deploy your bot on Facebook Messenger. Facebook makes it simple to deploy Wit.ai chatbots on Messenger.
The Natural Language Processing (NLP) engine in Wit.ai’s chatbot framework is robust and capable when compared to its competitors like Microsoft, Amazon and IBM.
The SDK for Wit.ai is available in multiple languages such as Python, Ruby, and NodeJS.
Wit.ai easily integrates with different platforms like Facebook Messenger, Slack, Wearable devices, home automation, and more.
One of the downsides of this framework is that the training can be quite laborious. It lacks the necessary amount of slots and parameters. To compensate for this you will need to use business logic to handle unstated information.
OpenDialog is an enterprise-scale, open-source, conversational AI platform that started in 2018.
With OpenDialog you can deploy, integrate and train efficiently. Their smart conversation engine allows users to customize and integrate as required. The flexible NLU support means that you can use the best AI techniques for the problem at hand.
OpenDialog also features a no-code conversation designer that allows users to design and prototype conversations quickly.
You can manage and future-proof your conversational AI strategy.
The open-source and easily extendable architecture supports innovation while the reusability of conversational components across solutions makes this a tool that scales with your team.
OpenDialog's main features include:
With this software, you can build your first conversational application easily without having any previous experience with a coding language.
OpenDialog is a no-code platform written in PHP and works on Linux, Windows, macOS. OpenDialog is licensed under the Apache License, Version 2.0.
Botonic is a react framework to build a conversational app. It is more than creating simple text-based chatbots. It is built for developers and offers a full-stack serverless solution. It allows the developer to create chatbots and modern conversational apps that work on multiple platforms like web, mobile and messaging apps such as Messenger, Whatsapp, and Telegram.
With Botonic you can create conversational applications that incorporate the best out of text interfaces (simplicity, natural language interaction) and graphical interfaces (multimedia, visual context, rich interaction). This is a powerful combination that provides a better user experience than traditional chatbots, which rely only on text and NLP.
Botonic features include a battery of plugins so you can easily integrate popular services into your project.
Botonic is licensed under MIT License.
Claudia Bot Builder is an extension library for Claudia.js that helps you create bots for Facebook Messenger, Telegram, Skype, Slack slash commands, Twilio, Kik and GroupMe. The key idea behind the open-source project is to remove all of the boilerplate code and common infrastructure tasks, so you can focus on writing the really important part of the bot.
Claudia will automatically set up the correct webhooks for all the supported platforms and guide you through configuring the access, so you can get started quickly.
Claudia Bot Builder simplifies messaging workflows and converts incoming messages from all the supported platforms into a common format, so you can handle it easily. It also automatically packages text responses into the right format for the requesting bot engine, so you don't have to worry about formatting results for simple responses.
Claudia is licensed under MIT License
Tock is an open-source conversational AI platform. It is a complete solution to build conversational agents and bots. It does not support or depend on 3rd-party APIs.
Tock features the ability to build stories and analytics, it has conversational DSL for Kotlin, Node.js, Python, and REST APIs, and it can connect for numerous text/voice channels: Messenger, WhatsApp, Google Assistant, Alexa, Twitter, and more.
Tock provides toolkits for custom web/mobile integration with React and Flutter and gives you the ability to deploy anywhere in the cloud or on-premise with Docker. Tock licensed under the Apache License, Version 2.0.
BotMan is a free PHP framework for chatbot development. It is the most popular open source PHP chatbot in the world. BotMan was built for developers to simplify the task of developing innovative bots for multiple messaging platforms, including Slack, Telegram, Microsoft Bot Framework, Nexmo, HipChat, Facebook Messenger, and WeChat.
BotMan allows you to write your chatbot logic once and connect it to different messaging services, including Amazon Alexa, Facebook Messenger, Slack, Telegram, or even your own website.
BotMan is framework agnostic, meaning you can use it in your existing codebase with whatever framework you want. BotMan is about having an expressive, yet powerful syntax that allows you to focus on the business logic, not on framework code.
BotMan offers full documentation and is written in PHP, and works on Linux, Windows, macOS. BotMan is licensed under the MIT License.
Bottender is a framework for building conversational user interfaces and is built on top of Messaging APIs.
This framework has an easy setup, it has been optimized for real-world use cases, automatic batching requests, and dozens of other compelling features such as intuitive APIs.
Bottender takes care of the complexity of conversational UIs for you. You can design actions for each event and state them in your application, and Bottender will run accordingly. This approach makes your code more predictable and easier to debug.
With Bottender, you only need a few configurations to make your bot work with channels, automatic server listening, webhook setup, signature verification and more.
There are thousands of bots powered by Bottender. It has been optimized for real-world use cases, automatic batching requests and dozens of other compelling features.
Bottender lets you create apps on every channel and never compromise on your users’ experience. You can apply progressive enhancement or graceful degradation strategy to your building blocks.
Bottender has some functional and declarative approaches that can help you define your conversations. For most applications, you will begin by defining routes that you may be familiar with when developing a web application.
DeepPavlov is an open-source conversational AI framework for deep learning, end-to-end dialogue systems, and chatbots. It allows both beginners and experts alike to create dialogue systems. It has comprehensive and flexible tools that let developers and NLP researchers create production-ready conversational skills and complex multi-skill conversational assistants.
You can use deep learning models like BERT and other state-of-the-art deep learning models to solve classification, NER, Q&A and other NLP tasks.
DeepPavlov Agent allows building industrial solutions with multi-skill integration via API services.
DeepPavlov models are now packed in an easy-to-deploy container hosted on Nvidia NGC and Docker Hub.
DeepPavlov is written in Python and is licensed under the Apache 2.0 license.
Golem is a python framework for building chatbots. It is built for python developers and it can easily extract entities from existing messages.
It features its own web GUI for ease of testing and can interact with messages from Messenger and Telegram.
Golem is a language analysis technology with a linguistic universal approach. This positioning is significantly different from the two most common approaches in the NLU today:
These two approaches have their strengths and their weaknesses.
Golem.ai offers both a technology easily multilingual and without the need for training. The AI already has a knowledge of linguistics understanding, common to all human languages. The configuration only consists of describing the format of the expected elements (what are the purposes of action or interpretation, in the given context) and providing the specific business vocabulary. This technology has been developed after many years of experimentation, to find the easiest and most efficient way to configure an NLU AI.
Golem is written in Python and works on Linux, Windows, and macOS. Golem is licensed under GPL-3.0 License.
Before deciding on the chatbot software you want to invest time and money in, you should understand how you plan on using it and what are the functionalities required for that. One of the great advantages of open-source is that you can experiment with the product before making a decision.
While some companies have listed different use cases for their platform, it's not always the case. We highly recommend visiting the various chatbot forums and search for what you want to build. Chances are, someone else is doing it too. If not, ask questions.
A summary is not enough information for you to make a decision, but it's a great starting point to perhaps eliminate some of the contenders and understand what are the strengths and weaknesses.
To find out more about open-source chatbots and conversational AI, read this other article about all you need to know about Conversational AI.
The first set of analytics that is important to admins are generic usage statistics. Is the bot used, on what devices...