以我的学士学位为背景,我的任务是创建一个聊天机器人,该机器人将充当某种帮助台。这意味着聊天机器人将必须能够与代码/ API的某些外部层进行交互。我希望这足以回答我的问题。
直到现在,我一直在从事我的聊天机器人的NLU组件的工作,现在它已经可以正常工作了。我已经准备好进行下一步,即将该NLU连接到系统的下一层,这将进一步处理意图和实体,进行一些辅助工作,并根据原始意图/实体制定响应,并它从做辅助工作(将与API交互)中获得的收益。
我已经阅读了RASA Core,并且知道它的作用。在给出一些示例对话的情况下,它将训练一个模型,并使用该模型根据接收到的意图/实体来猜测其应执行的动作或应做出的响应。对我来说,这似乎是我想使用的东西,但是我的教授建议不要这样做,但他不确定。他的意见是,RASA核心不能给我们足够的自由,以使聊天机器人与其他软件层/ API进行交互。这是我的问题出现的地方:
由于这是我在本论坛上的第一个问题,我希望我不要将问题问得太久或感到困惑,如果可以的话,请告诉我!
希望有人能在这种情况下大放光彩。
答案 0 :(得分:0)
使用RASA Core是否会使与其他软件层/ API的交互更加困难?
不。 Rasa Core还遵循“ API优先”的方法,这意味着应通过API访问所有内容。
对于创建聊天机器人,RASA Core是必不可少的
如果您要构建FAQ机器人(问题-答案对),则可能不需要Core。但是,如果实际上想构建一个能够理解某些上下文并根据对话历史记录做出不同行为的机器人,那么您应该使用Rasa Core。此外,Rasa Core还提供了对开箱即用的几种channels(Slack,Socket.io,Telegram等)的支持,这应该使连接不同端点的bot更容易。
如果我决定不使用它,那么继续我的项目的最佳起点是什么?
可能是HTTP API of Rasa NLU,因此您可以将查询集成到应用程序中。 Rasa博客还包含许多有关NLU的博客文章,例如深入的Rasa NLU系列文章,可以帮助您更好地理解Rasa NLU(本系列的link to part 1)。