所以我一直在研究使用API.ai / Dialogflow进行自定义操作,我甚至尝试了一些东西。我有点困惑的一件事是,如果它可能只是有一个“意图”,只是将你说的任何内容发送到服务器(我将托管可能在锉刀上)并且可以触发而不必“运行”一个应用程序。大多数示例都让用户说“OK google,运行mySuperCoolApp”,然后他们可以说出他们设置的任何自定义内容。我希望能够指定一些关键字(可能是“现在”?)以便我的意图运行,然后将我说的任何内容发送到我用webhook设置的服务器。
示例:“确定google,现在执行任务1” 然后webhook被触发(因为现在是第一个单词)并将该字符串发送到我的服务器然后执行某些操作......
这可能吗?
答案 0 :(得分:0)
这是可能的,但仅限于本地。即你只能在本地运行的助手上覆盖。 这是通过拦截助手来获取用户的查询并处理它以进行本地实现来完成的。
您可以执行类似
的操作def process_event(self, event):
if event.type = EventType.ON_RECOGNIZING_SPEECH_FINISHED and event.args:
query = event.args['text']
if query == 'now do task': # check if it matches your command
self.assistant.stop_conversation() # Stop the usual reply from the Assistant
call_a_function() # This will call a function locally to perform a task