如何使用python脚本的输出作为RASA的输入,而不是通常的用户输入?

时间:2019-08-23 17:38:29

标签: python chatbot rasa

我目前正在使用RASA,并开发了一个可运行的聊天机器人。我的项目的一部分是使用语音到文本的识别,我用Python编写了一个工作代码,该代码返回用户说的文本。 我想使用该文本作为RASA的输入,而不是像往常一样书写。

我看到与输入通道有关,但是我只看到了其他Web服务的输入,并且无法仅使用本地脚本就知道了。

谢谢您的建议

LM

2 个答案:

答案 0 :(得分:3)

您可以为此目的尝试使用rasa REST API。确保在endpoints.yml中具有action_endpoint网址。通常是

url: "http://localhost:5055/webhook"

然后确保您的rasa机器人启动,并且如果htere是任何自定义操作,请同时启动该服务器。

启动Webhook之后,您可以简单地拨打电话

http://localhost:5005/webhooks/rest/webhook

,并且必须将有效载荷置于有效载荷之下

messagePayload = {
    sender: 'default',
    message: 'Your message is here'
  }

最后将httpheader内容类型添加为application / json,如下所示:

'Content-Type':  'application/json'

现在您的机器人可以正常工作了。

tldr;

如果您在python中使用请求进行api调用,则可以尝试以下代码。

import requests

API_ENDPOINT = "http://localhost:5005/webhooks/rest/webhook"

messagePayload = {
        sender: 'default',
        message: 'Your message is here'
      }


r = requests.post(url = API_ENDPOINT, data = messagePayload) 

答案 1 :(得分:1)

仅使用库中已经存在的Rest API怎么样?
为此,您只需要填写查询参数(可以使用脚本来完成),而不是编写自定义输入通道。