動態配置 Watson Assistant 服務或服務編排引擎
藉由 IBM® Voice Gateway API,您可以在通話期間動態配置 IBM Watson™ Assistant 服務或服務編排引擎。如果要變更配置,請在 Watson Assistant 對話樹狀結構中,於節點回應的 output 中,定義 vgwActSetConversationConfig 動作。如需使用 API 的相關資訊,請參閱定義動作標籤和狀態變數。
可以定義給 vgwActSetConversationConfig 動作的每一個屬性,各會對應一個 SIP Orchestrator 配置環境變數。若有屬性未定義在 Watson Assistant 中,就會使用相關環境變數中的值。
重要事項:vgwActSetConversationConfig 動作和 vgwActSetWVAConfig 動作不能同時定義在動作序列中。每次只能配置一個 Watson Assistant 工作區聊天機器人。
請參閱下列各節,取得有關定義 vgwActSetConversationConfig 動作的範例:
Watson Assistant 服務
下列範例顯示如何定義 Watson Assistant 工作區。
{
"output": {
"vgwAction": {
"command": "vgwActSetConversationConfig",
"parameters": {
"url":"https://gateway.watsonplatform.net/conversation/api",
"workspaceID":"a23de67h-4e92-4565-c1b5-ebd59a2ffcad",
"username":"9h7f54cb-5epb-80d6-45c3-da41d2bf7a71",
"password":"asxNzDLpIJ6F"
}
}
}
}
| 屬性 | 說明 | 相關的環境變數 |
|---|---|---|
url |
Watson Assistant API 的 url 認證。 |
WATSON_CONVERSATION_URL |
workspaceID |
Watson Assistant API 的工作區 ID。 | WATSON_CONVERSATION_WORKSPACE_ID |
username |
Watson Assistant 的 username 認證。 |
WATSON_CONVERSATION_USERNAME |
password |
Watson Assistant 的 password 認證。 |
WATSON_CONVERSATION_PASSWORD |
動態配置多項 Watson Assistant 服務
您可以在部署配置或 vgwActSetConversationConfig 指令中,定義多個提供者。在與 Watson Assistant 工作區的第一回交談中,如果發生失敗,則 Voice Gateway 會嘗試連接至清單中下一個所定義的提供者。與同一工作區的後續各回交談中,並不會發生此情況,因為環境定義無效。請參閱 配置多個 Watson Assistant 服務提供者,以取得
providers 內容屬性的相關資訊。
下列範例顯示 vgwActSetConversationConfig 指令中所配置的兩個提供者。如果第一個提供者
nyc 在第一回交談中失敗,Voice Gateway 會切換至第二個 dallas。dallas 提供者啟用了記號鑑別,而 nyc 啟用的是基本鑑別。
{
"vgwActSetConversationConfig": {
"command": "vgwActSetConversationConfig",
"parameters": {
"providers": [
{
"name": "nyc",
"url": "https://gateway.watsonplatform.net/assistant/api",
"password": "nTnAEtntq2Tg",
"username": "15a22419-cf6a-4004-a199-49d6a277d111",
"workspaceID": "e6f9e3e2-c27a-49e7-a8ac-d9a8ace43981"
},
{
"name": "dallas",
"url": "https://gateway.watsonplatform.net/assistant/api",
"password": "Qa55C0s473",
"username": "8yw76lm-n5op-43q2-1098-r7s6tu543457",
"tokenAuthEnabled": true,
"tokenServiceProviderUrl": "https://gateway.watsonplatform.net/authorization/api/v1/token",
"tokenServiceUrl": "https://gateway.watsonplatform.net/assistant/api"
}
]
}
}
}
服務編排引擎
在配置服務編排引擎時,由於所用的環境變數與配置 Watson Assistant 時相同,您也要在 vgwActSetConversationConfig 動作中變更這項配置。
重要事項:如果您在直接配置的 Watson Assistant 服務與服務編排引擎之間切換,請將 workspaceID 屬性設為空白值,這樣該配置就不會使用配置中的值。
{
"output": {
"vgwAction": {
"command": "vgwActSetConversationConfig",
"parameters": {
"url":"https://soe-example.net",
"username":"adminuser",
"password":"XgUCZZItgZD0"
}
}
}
}
| 屬性 | 說明 | 相關的環境變數 |
|---|---|---|
url |
服務編排引擎的確切 URL。 | WATSON_CONVERSATION_URL |
workspaceID |
如果從 Watson Assistant 服務切換,請設為 "",以清除工作區配置。 |
WATSON_CONVERSATION_WORKSPACE_ID |
username |
服務編排引擎的使用者名稱(純文字)。只有在 SOE 中啟用鑑別時才需要。 | WATSON_CONVERSATION_USERNAME |
password |
服務編排引擎的密碼(純文字)。只有在 SOE 中啟用鑑別時才需要。 | WATSON_CONVERSATION_PASSWORD |
已淘汰:使用狀態變數來配置 Watson Assistant
在 1.0.0.2 版中,為了支持使用前述章節中的動作標籤,不再藉由定義狀態變數來配置 Watson 服務(該方法已遭淘汰)。
重要事項:雖然這些狀態變數仍可繼續運作,但是您無法在節點內定義這些已淘汰的狀態變數和動作標籤。您的 Watson Assistant 對話中可以混合了動作標籤和已淘汰的狀態變數,但是每一個節點的 JSON 定義只能含有其中的一個。
{
"context": {
"vgwConversationConfigSettings": {
"url":"https://gateway.watsonplatform.net/conversation/api",
"workspaceID":"a23de67h-4e92-4565-c1b5-ebd59a2ffcad",
"username":"9h7f54cb-5epb-80d6-45c3-da41d2bf7a71",
"password":"asxNzDLpIJ6F"
}
}
}
| JSON 內容 | 說明 | 相關的環境變數 |
|---|---|---|
url |
Watson Assistant API 的 url 認證。 |
WATSON_CONVERSATION_URL |
workspaceID |
Watson Assistant API 的工作區 ID。 | WATSON_CONVERSATION_WORKSPACE_ID |
username |
Watson Assistant 的 username 認證。 |
WATSON_CONVERSATION_USERNAME |
password |
Watson Assistant 的 password 認證。 |
WATSON_CONVERSATION_PASSWORD |