我目前正在使用 RASA 并开发了一个可以工作的聊天机器人。我的项目的一部分是使用语音到文本的识别,我用 Python 编写了一个工作代码,它返回用户所说的文本。我想将该文本用于 RASA 的输入,而不是像往常一样书写。
我看到与输入通道有关,但我只看到其他 Web 服务的输入,并且无法仅使用本地脚本来解决。
谢谢你的任何建议,
LM
为此,您可以尝试使用 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)
仅使用库中已经存在的 Rest API 怎么样。
为此,您只需要填写查询参数即可,您可以使用脚本完成此操作,而不是编写自定义输入通道。