Rasa 网络聊天集成

Rasa WebChat integration

我通过观看此视频使用 Rasa-Core 和 Rasa-NLU 在 slack 上创建了一个聊天机器人:https://vimeo.com/254777331

它在 Slack.com 上运行良好。但我需要的是使用代码片段将其添加到我们的网站。当我查看它时,我发现可以使用 RASA Webchat(https://github.com/mrbot-ai/rasa-webchat:一个简单的网络聊天小部件来连接聊天机器人)将聊天机器人添加到网站。所以,我将这段代码粘贴到我网站上的 < body > 标签内。

    <div id="webchat"/>
    <script src="https://storage.googleapis.com/mrbot-cdn/webchat-0.4.1.js"></script>
    <script>
        WebChat.default.init({
            selector: "#webchat",
            initPayload: "/get_started",
            interval: 1000, // 1000 ms between each message
            customData: {"userId": "123"}, // arbitrary custom data. Stay minimal as this will be added to the socket
            socketUrl: "http://localhost:5500",
            socketPath: "/socket.io/",
            title: "Title",
            subtitle: "Subtitle",
            profileAvatar: "http://to.avat.ar",
        })
    </script> 

“Run_app.py”是启动聊天机器人的文件(在视频中可用:https://vimeo.com/254777331

Here is the code of Run_app.py :

from rasa_core.channels import HttpInputChannel
from rasa_core.agent import Agent
from rasa_core.interpreter import RasaNLUInterpreter
from rasa_slack_connector import SlackInput



nlu_interpreter = RasaNLUInterpreter('./models/nlu/default/weathernlu')
agent = Agent.load('./models/dialogue', interpreter = nlu_interpreter)

input_channel = SlackInput('xoxp-381510545829-382263177798-381274424643-a3b461a2ffe4a595e35795e1f98492c9', #app verification token
                            'xoxb-381510545829-381150752228-kNSPU0X7HpaS8oJaqd77TPQE', # bot verification token
                            'B709JgyLSSyKoodEDwOiJzic', # slack verification token
                            True)

agent.handle_channel(HttpInputChannel(5004, '/', input_channel))

我想将这个 python 聊天机器人连接到“Rasa-webchat”,而不是使用 Slack。但我不知道该怎么做。我试着到处寻找,但我在互联网上找不到任何有用的东西。有人能帮我吗?谢谢。

为了将 Rasa Core 连接到您的网络聊天,请执行以下操作:

  1. 使用以下内容创建凭据文件 (credentials.yml):

    socketio:
        user_message_evt: user_uttered
        bot_message_evt: bot_uttered
    
  2. 使用以下命令启动 Rasa Core(我假设您已经训练了您的模型):

    python -m rasa_core.run \
    --credentials <path to your credentials>.yml \
    -d <path to your trained core model> \
    -p 5500 # either change the port here to 5500 or to 5005 in the js script
    

由于您在凭据文件中指定了 socketio 配置,Rasa Core 会自动启动 SocketIO 输入通道,然后您网站上的脚本会连接到该通道。

要添加 NLU,您必须选择:

  1. 在你的 Rasa Core run 命令中使用 -u <path to model> 指定经过训练的 NLU 模型
  2. 运行 一个单独的 NLU 服务器并使用端点配置对其进行配置。这在深度
  3. 中解释here

Rasa Core documentation 也可能对您有所帮助。

为了拥有网络频道,您需要有一个可以发送和接收聊天语句的前端。 scalableminds 有一个开源项目。先看演示

demo

要将您的 Rasa 机器人与此聊天室集成,您可以安装聊天室项目,如下面的 Github 项目所示。它也适用于最新的 0.11 Rasa 版本。

Chatroom by Scalableminds

您遇到了依赖性问题,请查看您使用的是什么版本的 rasa 以及什么版本的网络聊天。

网络聊天不支持 rasa 版本 2+