我目前正在使用RASA,并开发了一个可运行的聊天机器人。我的项目的一部分是使用语音到文本的识别,我用Python编写了一个工作代码,该代码返回用户说的文本。 我想使用该文本作为RASA的输入,而不是像往常一样书写。
我看到与输入通道有关,但是我只看到了其他Web服务的输入,并且无法仅使用本地脚本就知道了。
谢谢您的建议
LM
答案 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怎么样?
为此,您只需要填写查询参数(可以使用脚本来完成),而不是编写自定义输入通道。