接下來這幾天,將會帶領各位以GCP的架構的視角。
向各位闡述我們先前進行的DialogFLow Fulliment操作實際上的架構圖是什麼
而你可以在這個基礎上進行怎樣的設計來建構更好的流程。
先前實作所建構的架構
在數天前的實作教學中:
我們藉由內建在DialogFlow的Inline Editor,
在Cloud Function上建立DialogFlow Fullfiment。
從GCP的架構來看,我們可以得到下方這張圖:
從這張示意圖,我們可以理解Google助理與我們的Action是如何互動的,
當使用者透過Google助理與我們的Action互動後,
Google助理會辨識用戶輸入的語音,並將辨識後得到的文字轉傳給DialogFlow。
執行自然語言處理的DialogFlow會尋找對應的Intent,並設法給予相對應的回應。
如果指定的Intent被設定以Fullfiment來處理回應,則DialogFlow會將擷取到的參數送往Fullfiment。
並由Fullfiment的程式碼進行邏輯盼判斷來產生回應。
上述的說明也可以透過這張圖來表示:
透過Cloud Function直接拉取資料
假定你所使用的資料是Open API。
那麼,你可以透過處理DialogFLow Fullfiment的Cloud Function直接拉取資料。
從GCP的角度,現在你的專案架構會變成以下形式:
例如
介接《萌典》的 OPEN API 所建構的Action
- 臺灣國語辭典|Google 助理
下一步…
在明天的文章中,將會說明如何進行前後端分離。
使兩個不同的Cloud Function分別專注於不同的任務上,
而這麼做可以為我們帶來甚麼好處。