所以我一直在研究使用 API.ai/Dialogflow进行自定义操作,我什至尝试了一些东西。不过,我有点困惑的一件事是,是否有可能只有一个"意图",只需将您所说的任何内容发送到服务器(我将在 rasp pi 上托管的服务器(,并且可以触发而无需"运行"应用程序。大多数例子让用户说"好的谷歌,运行mySuperCoolApp",然后他们可以说出他们设置的任何自定义内容。我希望能够指定一些关键字(也许是"现在"?(,以便我的意图能够运行,然后将我所说的内容发送到我使用webhook设置的某个服务器。
示例:"好的谷歌,现在执行任务 1"然后 webhook 被触发(因为现在是第一个单词(并将该字符串发送到我的服务器,然后执行某些操作......
这可能吗?
这是可能的,但仅限于本地。 即您只能在本地运行的助手上覆盖。这是通过拦截助手来获取用户的查询并对其进行处理以执行本地履行来完成的。
你可以做类似的事情
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