縮短對 Text to Speech 服務的回應時間

若要縮短 Watson Text to Speech 服務的回應時間,您可以配置 Media Relay 來快取 Text to Speech 服務的回應,如此可更快速回應發話端。通常,您可能使用此功能來快取歡迎訊息、一般問題,以及不含機密性資訊或動態資訊的任何常用回應,例如帳戶號碼。

依預設,Media Relay 不會快取任何 Text to Speech 回應。啟用快取之後,Media Relay 會快取所有 Text to Speech 回應。因此,配置回應快取時需要分成兩部分進行:啟用 Media Relay 儲存器的快取,以及從快取中排除含有機密性或動態資訊的回應。除了這些步驟,建議您將 Voice Gateway 部署所在的磁碟加密,來保護所有快取的回應。

  1. TTS_CACHE_TIME_TO_LIVE 環境變數設為快取回應要保留的時數,以啟用快取。

    例如,當使用下列配置時,Text to Speech 服務的回應一旦在過去 336 個小時(兩週2)內都未使用,則會從快取移除。

    TTS_CACHE_TIME_TO_LIVE=336
    
  2. 在 Watson Assistant 對話中的各個節點上設定 vgwActExcludeFromTTSCache 動作標籤,以便排除含有機密性或動態資訊的回應不要快取。

    {
     "output": {
       "vgwAction": {
         "command": "vgwActExcludeFromTTSCache"
       }
     }
    }
    

    絕不要快取含有「受保護的健康資訊 (PHI)」、個人識別資訊 (PII) 或「PCI 資料安全標準 (PCI DSS)」資料的回應,以維護資訊的安全性。

    不應該快取動態資訊,例如隨著客戶或日期而改變的任何回應,因為新增的每個獨特回應會在快取中填入極少重複使用的資料。

使用 Docker 磁區建立持續性快取

在 Media Relay 儲存器內,快取的回應儲存在 /vgw-media-relay/tmp/text-to-speech/ 目錄中。依預設,每當移除 Media Relay 儲存器時,就會刪除 Text to Speech 的快取。若要持續保存快取,您必須使用 Docker 磁區。快取的回應將儲存在 Docker 磁區,可輕鬆地重複使用。

若為「Docker 引擎」

若要將本端目錄裝載為 Docker 磁區,請開啟 docker-compose.yml 檔案,然後定義本端目錄來儲存快取。

media.relay:
  ...
  volumes:
    -"./text-to-speech-cache/":"/vgw-media-relay/tmp/text-to-speech"