python与机械结合_python - 将RASA与Python和Flask结合使用的聊天机器人 - 堆栈内存溢出...

我正在尝试使用RASA学习和创建聊天机器人,该聊天机器人必须将cmdline的输入传递给显示为Flask API的Python数据帧,并获取响应。

所有零碎的部分都可以正常工作,但是当我缝合在一起时,无法将输入参数从RASA cmdline传递给Pandas。

这是到目前为止我所做的总体摘要:

创建了一个熊猫数据框,并将其公开为Flask API。

能够手动点击它并在浏览器中查看输出。

将Flask API路由修改为“ @ app.route(“ / webhook”)”,以从RASA收集输入。

RASA endpoint.yml也包含“ webhook”地址。

创建了一个自定义操作,并提到了domain.yml文件。 自定义操作的内容-actions.py如下所述。

Domain.yml还具有以下语句“ action_factory:remote”,我认为该语句将利用自定义操作。 虽然不确定。

class ActionBookSearch(Action): def name(self): return 'action_genre_search' def run(self, dispatcher, tracker, domain): import pyflask_api ### File name of the Python Flask code genre_val = tracker.get_slot('genre') ### Defined slots in domain.yml print(genre_val) ### This always gives None :( That's the issue. Not able to get the value from cmdline genre_results = pyflask_api.get_genre(genre="Action") ### Method present in pyflask_api.py code if genre_results: dispatcher.utter_message(genre_results) return [SlotSet("genre", genre_results if genre_results is not None else "Nothing Matched. Please Try again")]

解决方法:

由于我无法从Bot cmdline获取值,因此我在下面的行中进行了硬编码以进行检查:

genre_results = pyflask_api.get_genre(genre =“ Action”)

此值将转至Flask代码,并从Panda数据框中提取数据,并将响应成功返回到命令行。

需要做什么 :

因此,只有待处理的事情是我应该从cmdline成功获取该值,以便每当在action.py代码中执行print(genre_val)时,它都应该返回从cmdline取得的值,而不是像现在那样返回“ None”。

更新:

domain.yml的内容:

entities:

- genre

slots:

genre:

type: text

action_factory: remote

intents:

- greet

- book_search

- thanks

- goodbye

actions:

- utter_greet

- utter_goodbye

- action_genre_search

- utter_happy_reading

storys.md的内容:

#create your story here

## greet

* greet

- utter_greet

## get genre

* book_search{"genre": "Fantasy"}

- action_genre_search

## good bye

* goodbye

- utter_goodbye

## Thank you

* thanks

- utter_happy_reading

nlu_data.md的内容:

## intent:greet

- hey

- hello

## intent:book_search

- I want to read some Fantasy books

- I want to read some Classics books

- I want to read some Fictional books

## intent:thanks

- perfect

- very good

## intent:goodbye

- bye

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值