3

通过观看此视频,我使用 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。但我不知道该怎么做。我试着到处寻找,但我在互联网上找不到任何有用的东西。有人能帮我吗?谢谢你。

4

3 回答 3

3

为了将 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. -u <path to model>在 Rasa Corerun命令中指定经过训练的 NLU 模型
  2. 运行单独的 NLU 服务器并使用端点配置对其进行配置。这在此处进行了深入解释

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

于 2018-11-09T08:18:04.887 回答
1

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

演示

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

Scalableminds 的聊天室

于 2018-11-13T09:33:02.727 回答
0

您正面临依赖问题,查找您正在使用的 rasa 版本以及网络聊天的版本。

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

于 2021-06-03T16:26:04.583 回答