2024 年,有很多开源聊天机器人平台可供选择。最适合您的平台取决于您的聊天机器人构建需求--您的经验、编码语言、所需功能和特定用例。
我们整理了一份顶级开源聊天机器人平台列表。无论您是自己开发还是为公司开发,都能在这里找到适合您项目的平台。
什么是开源聊天机器人?
开源聊天机器人是模仿人类对话的信息应用程序。开源意味着软件的原始代码是免费发布的,可以轻松修改。
开放源码软件通过共享贡献提高了透明度、效率和控制水平。这使得开发人员能够创造出更高质量的软件,同时增加他们对软件平台本身的了解。
另外,还有一些闭源的chatbots 软件,我们已经概述了开源聊天机器人与专有解决方案的一些利弊比较。
现在,让我们来看看 2024 年最好的开源聊天机器人。
1.Botpress
Botpress 是一款开源对话式人工智能软件,支持许多自然语言理解(NLU)库。
Botpress 旨在使用可视化流程和以意图、实体和插槽为形式的少量训练数据来构建聊天机器人。这大大降低了开发聊天机器人的成本,并降低了因数据要求而产生的准入门槛。
Botpress 有一个可视化对话生成器和一个模拟器来测试你的对话。通过内置的 JavaScript 代码编辑器,您可以编写用于执行特定任务的操作代码。通过NLU模块,您可以定义意图、实体和槽。这就是对话助手理解用户输入的方式。
Botpress 积极维护与最流行的信息服务的集成,包括 FacebookMessenger,Slack,Microsoft Teams 和Telegram 。
该平台主要是为那些需要一个具有最大控制权的开放式系统的开发人员打造的。不过,对话设计者也可以利用可视化对话生成器,轻松接管项目并与开发人员合作。
Botpress 让拥有不同技能组合的专家进行协作,打造更好的会话助手。
您可以在 G2和Chatimize 上阅读 Botpress 的全面评论。
2.微软机器人框架
微软机器人框架(MBF)为构建机器人提供了一个开源平台。
微软的方法主要由代码驱动,专门针对开发者。MBF 为开发者提供了细粒度的聊天机器人构建体验控制,并能使用许多开箱即用的功能和连接器。
MBF 提供了大量工具来帮助制作聊天机器人。它还可以与自然语言理解引擎 Luis 集成。
微软还收购了另一个开源平台 Botkit。Botkit 更像是一个可视化对话生成器,更注重用户可使用的用户界面操作。
MBF 不能被视为完全开源,因为它使用的 NLU 引擎 Luis 是专有软件。这对您来说可能是个问题,这取决于您的情况,您需要有更多的控制权。
NLU 引擎不开源的一个缺点是无法在内部安装。微软这样做也是可以理解的,因为MBF和Luis是微软为推广使用Azure平台而推出的内置产品。Luis是一种服务,每次调用API都要付费,这就意味着每月的账单会很高。
3.Botkit
Botkit 现在是微软机器人框架(Microsoft Bot Framework)的一部分。众所周知,它是一个以代码为中心、专为开发者打造的平台。
Botkit 只是微软机器人框架(Microsoft Bot Framework)中更多开发者工具和 SDK 中的一部分。Bot Framework SDK是构建Botkit的基础。它支持多种编程语言!
它有大量适用于不同聊天平台的插件,包括 Webex、Slack 、FacebookMessenger 和 Google Hangout。
Botkit 最近创建了一个可视化对话生成器,帮助开发chatbots ,让没有太多编码经验的用户也能参与其中。
Botkit 使用 Luis 作为其底层 NLU 引擎。不过,如有必要,它也可以与其他 NLU 引擎集成。
4.拉萨
Rasa 是一个开源的机器人构建框架,主要采用故事的方式来构建聊天机器人。Rasa 是开源自然语言理解引擎的先驱,也是一个成熟的框架。
他们专注于人工智能,并建立了一个框架,使开发人员能够不断构建和改进他们的人工智能助手。
Rasa 允许开发人员创建用于训练机器人的故事(训练数据场景),而不是在平台内定义可视化流程和意图。
Rasa 是内部部署的,其标准 NLU 引擎完全开源。他们开发了 Rasa X,这是一套帮助开发人员审查对话和改进助手的工具。Rasa 还有许多高级功能,需要企业许可证才能使用。
每个聊天机器人平台都需要一定量的训练数据,但 Rasa 在获得大量训练数据集(通常是客户服务聊天记录)时效果最佳。这些客服聊天记录会被解析、整理、分类,最终用于训练 NLU 引擎。
故事法的一个潜在问题是,很难预测机器人在某一特定时刻会说什么,因为没有人能接触到底层逻辑,它就是一个黑盒子。如果有大量高质量的训练数据,就能降低发生这种情况的风险。
5.Wit.ai
Wit.ai是一个开源聊天机器人框架,2015 年被 Facebook 收购。由于是开源的,您可以浏览使用 Wit.ai 构建的现有机器人和应用程序,为您的项目寻找灵感。
Wit.ai 有一个文档齐全的开源聊天机器人 API,让平台新手开发者可以快速上手。
由于 Wit.ai 为 Facebook 所有,因此如果您打算在 FacebookMessenger 上部署机器人,Wit.ai 是一个不错的选择。在Messenger 上部署 Wit.aichatbots 。
与微软、亚马逊和 IBM 等竞争对手相比,Wit.ai 聊天机器人框架中的自然语言处理(NLP)引擎非常强大。
Wit.ai 的 SDK 支持多种语言,如 Python、Ruby 和 NodeJS。
Wit.ai 可轻松与 FacebookMessenger 、Slack 、可穿戴设备、家庭自动化等不同平台集成。
该框架的缺点之一是训练起来相当费力。它缺乏必要的插槽和参数。为了弥补这一点,您需要使用业务逻辑来处理未说明的信息。
6.打开对话框
OpenDialog 是一个企业级的开源对话式人工智能平台,于 2018 年启动。
使用 OpenDialog,您可以高效地进行部署、集成和培训。其智能对话引擎允许用户根据需要进行定制和集成。灵活的 NLU 支持意味着您可以针对手头的问题使用最佳的人工智能技术。
OpenDialog 还拥有一个无代码对话设计器,允许用户快速设计对话和对话原型。
您可以管理对话式人工智能战略,并使其面向未来。
开源和易于扩展的架构支持创新,而跨解决方案对话组件的可重用性使其成为一款可与团队一起扩展的工具。
OpenDialog 的主要功能包括
- 其执行实时 STT 流程的能力
- 内存使用量低(20,000 个字不到 64MB)
- 生成 N-best/Word-graph 输出的能力
- 能够作为服务器单元工作。
有了这款软件,您无需任何编码语言经验,就能轻松创建第一个会话应用程序。
OpenDialog 是一个用 PHP 编写的无代码平台,可在 Linux、Windows 和 macOS 上运行。OpenDialog 采用 Apache License 2.0 版授权。
7.植物学
Botonic 是一个用于构建会话应用程序的反应框架。它不仅仅是创建简单的基于文本的聊天机器人。它专为开发人员打造,提供全stack 无服务器解决方案。它允许开发人员创建聊天机器人和现代会话应用程序,这些应用程序可在多个平台上运行,如网络、移动和消息应用程序,如Messenger 、Whatsapp 和Telegram 。
有了 Botonic,您就可以创建对话式应用程序,将文本界面(简洁性、自然语言交互)和图形界面(多媒体、可视化上下文、丰富的交互)的优点结合起来。这是一个强大的组合,与传统的chatbots 相比,它能提供更好的用户体验,而传统的 仅依赖于文本和 NLP。
Botonic 的功能包括一系列插件,因此您可以轻松地将常用服务集成到您的项目中。
Botonic 由 TypeScript 和 JavaScript 编写。它基于 React、Serverless 和 Tensorflow 构建。Botonic 可在 Linux、Windows 和 macOS 上运行。
Botonic 采用 MIT 许可授权。
8.克劳迪娅机器人生成器
Claudia Bot Builder 是 Claudia.js 的扩展库,可帮助您为 FacebookMessenger 、Telegram 、Skype、Slack slash commands、Twilio 、Kik 和 GroupMe 创建机器人。该开源项目背后的关键理念是去除所有模板代码和常见的基础架构任务,这样您就可以专注于编写机器人真正重要的部分。
克劳迪娅会自动为所有支持的平台设置正确的网络钩子,并指导您配置访问,以便您能快速上手。
Claudia Bot Builder 可简化消息传递工作流程,并将所有支持平台的传入消息转换为通用格式,以便您轻松处理。它还会自动将文本回复打包成适合请求机器人引擎的格式,因此您不必担心简单回复的格式化问题。
Claudia 采用 MIT 许可授权。
9.托克
Tock 是一个开源的对话式人工智能平台。它是构建会话代理和机器人的完整解决方案。它不支持或依赖第三方 API。
Tock 具有构建故事和分析的功能,它拥有 Kotlin、Node.js、Python 和 REST API 的会话 DSL,并可连接众多文本/语音渠道:Messenger WhatsApp 、Google Assistant、Alexa、Twitter 等。
Tock 提供了与 React 和 Flutter 进行自定义网络/移动集成的工具包,并使您能够在cloud 或使用 Docker 进行内部部署。Tock 采用 Apache License 2.0 版许可。
10.机器人人
BotMan 是用于聊天机器人开发的免费 PHP 框架。它是世界上最流行的开源 PHP 聊天机器人。BotMan 专为开发人员而建,可简化为多个消息平台开发创新型机器人的任务,包括Slack 、Telegram 、Microsoft Bot Framework、Nexmo、HipChat、FacebookMessenger 和微信。
BotMan 允许您一次编写聊天机器人逻辑,并将其连接到不同的消息服务,包括亚马逊 Alexa、FacebookMessenger 、Slack 、Telegram ,甚至您自己的网站。
BotMan 与框架无关,这意味着您可以在现有代码库中使用任何框架。BotMan 的语法具有很强的表现力,可以让您专注于业务逻辑,而不是框架代码。
BotMan 提供完整的文档,采用 PHP 编写,可在 Linux、Windows 和 macOS 上运行。BotMan 采用 MIT 许可授权。
11.博坦德
Bottender 是一个用于构建对话式用户界面的框架,建立在消息 API 的基础之上。
该框架设置简单,针对实际用例进行了优化,可自动批处理请求,并具有直观的 API 等数十种其他引人注目的功能。
Bottender 为您解决对话式用户界面的复杂性。您可以为每个事件设计动作,并在应用程序中加以说明,Bottender 会相应地运行。这种方法让你的代码更可预测,也更容易调试。
有了 Bottender,您只需进行少量配置,就能让您的机器人使用频道、自动服务器监听、webhook 设置、签名验证等功能。
由 Bottender 提供支持的机器人数以千计。它已针对实际使用案例、自动批处理请求和其他数十种引人注目的功能进行了优化。
Bottender 可让您在每个渠道上创建应用程序,而且绝不会影响用户体验。您可以将渐进增强或优美降级策略应用到您的构建模块中。
Bottender 有一些功能性和声明性的方法,可以帮助你定义对话。对于大多数应用程序来说,您将从定义路由开始,这可能是您在开发网络应用程序时所熟悉的。
Bottender 由 TypeScript 和 JavaScript 编写,可在 Linux、Windows 和 macOS 上运行。它采用 MIT 许可授权。
12.DeepPavlov
DeepPavlov 是一个开源的对话式人工智能框架,适用于深度学习、端到端对话系统和聊天机器人。初学者和专家都可以利用它创建对话系统。它拥有全面而灵活的工具,可让开发人员和 NLP 研究人员创建生产就绪的对话技能和复杂的多技能对话助手。
您可以使用 BERT 等深度学习模型和其他最先进的深度学习模型来解决分类、NER、问答和其他 NLP 任务。
DeepPavlov Agent 可通过 API 服务构建多技能集成的工业解决方案。
DeepPavlov 模型现在装在一个易于部署的容器中,该容器托管在 Nvidia NGC 和 DockerHub 上。
DeepPavlov 由 Python 编写,采用 Apache 2.0 许可授权。
13.泥巨人
Golem 是一个用于构建聊天机器人的 python 框架。它专为 python 开发人员设计,能轻松从现有信息中提取实体。
它拥有自己的网络图形用户界面,便于测试,并可与Messenger 和Telegram 的信息进行交互。
Golem 是一种采用通用语言方法的语言分析技术。这种定位与当今最常见的两种语言分析方法大相径庭:
- 统计方法(训练人工神经网络)
- 语法方法
这两种方法各有优缺点。
Golem.ai 提供的技术既能轻松使用多种语言,又无需培训。人工智能已经掌握了所有人类语言所通用的语言理解知识。配置只包括描述预期元素的格式(在给定上下文中,行动或解释的目的是什么)和提供特定的商业词汇。这项技术是经过多年实验后开发出来的,目的是找到最简单、最有效的方法来配置 NLU 人工智能。
Golem 由 Python 编写,可在 Linux、Windows 和 macOS 上运行。Golem 采用 GPL-3.0 许可协议进行许可。
如何选择最适合您的开源聊天机器人软件?
在决定要在聊天机器人软件上投入时间和金钱之前,您应该了解自己打算如何使用它以及需要哪些功能。开源的一大优势是您可以在做决定前试用产品。
虽然有些公司列出了其平台的不同用例,但情况并非总是如此。我们强烈建议您访问各种聊天机器人论坛,搜索您想构建的内容。有可能别人也在做。如果没有,请提问。
摘要中的信息还不足以让您做出决定,但它是一个很好的起点,或许能让您排除一些竞争者,了解他们的优缺点。
要了解有关开源chatbots 和对话式人工智能的更多信息,请阅读这篇有关您需要了解的对话式人工智能的文章。