我使用 rasa 构建了一个小型聊天机器人。我希望我的机器人通过调用外部 api 来讲笑话,但我得到 None 作为响应。
我在这里附上 API 调用方法。
class ApiAction(Action):
def name(self):
return "action_get_jokes"
def run(self, dispatcher, tracker, domain):
r = requests.get('https://api.chucknorris.io/jokes/random')
response = r.text
json_data= json.loads(response)
for k,v in json_data.items():
if k == 'value':
return [SlotSet("jokes_response",v)]
else:
return [SlotSet("jokes_response","404 not found")]
在我的 domain.yml 我有笑话响应槽
slots:
jokes_response:
type: unfeaturized
auto_fill: false
utter_jokes:
- text: "Here you go : {jokes_response} "
- text: "There you go: {jokes_response} "
在我尝试使用主要和直接指定“-action_get_jokes”的操作下,但它们都不起作用。
actions:
- action_get_jokes
- __main__.ApiAction