iT邦幫忙

2021 iThome 鐵人賽

DAY 25
0
AI & Data

Google Assistant 開發與語音使用者介面設計系列 第 25

[Day25] 透過GCP實作(1/4):透過Cloud Function直接拉取資料

接下來這幾天,將會帶領各位以GCP的架構的視角。
向各位闡述我們先前進行的DialogFLow Fulliment操作實際上的架構圖是什麼
而你可以在這個基礎上進行怎樣的設計來建構更好的流程。

先前實作所建構的架構

在數天前的實作教學中:

我們藉由內建在DialogFlow的Inline Editor,
在Cloud Function上建立DialogFlow Fullfiment。
從GCP的架構來看,我們可以得到下方這張圖:
diagram-1
從這張示意圖,我們可以理解Google助理與我們的Action是如何互動的,

當使用者透過Google助理與我們的Action互動後,
Google助理會辨識用戶輸入的語音,並將辨識後得到的文字轉傳給DialogFlow。
執行自然語言處理的DialogFlow會尋找對應的Intent,並設法給予相對應的回應。
如果指定的Intent被設定以Fullfiment來處理回應,則DialogFlow會將擷取到的參數送往Fullfiment。
並由Fullfiment的程式碼進行邏輯盼判斷來產生回應。
上述的說明也可以透過這張圖來表示:
diagram-2

透過Cloud Function直接拉取資料

假定你所使用的資料是Open API。
那麼,你可以透過處理DialogFLow Fullfiment的Cloud Function直接拉取資料。
從GCP的角度,現在你的專案架構會變成以下形式:
diagram-3

例如

介接《萌典》的 OPEN API 所建構的Action

下一步...

在明天的文章中,將會說明如何進行前後端分離。
使兩個不同的Cloud Function分別專注於不同的任務上,
而這麼做可以為我們帶來甚麼好處。


上一篇
[Day24] 供新手參考的幾個可以實作的方向
下一篇
[Day26] 透過GCP實作(2/4):進行前後端分離
系列文
Google Assistant 開發與語音使用者介面設計30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言