2

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

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

谢谢你的任何建议,

LM

4

2 回答 2

3

为此,您可以尝试使用 rasa REST API。确保您action_endpoint在 endpoints.yml 中有 url。通常它是

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

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

启动 webhook 后,您可以简单地调用

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

在有效载荷中,您必须放在有效载荷下方

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

最后添加 httpheader 内容类型为 application/json 如下

'Content-Type':  'application/json'

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

tldr;

如果您在 python 中使用 request 进行 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) 
于 2019-08-27T05:59:07.623 回答
1

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

于 2019-08-26T11:48:36.997 回答