Я создал небольшой чат-бот, используя 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} "
под действиями, которые я попытался использовать как main , так и непосредственно указав '- action_get_jokes', но ни один из них не сработал.
actions:
- action_get_jokes
- __main__.ApiAction