共用方式為


將 Bot 連線至 Alexa

適用於: SDK v4

您可以設定 Bot,透過 Alexa 自定義技能與人員通訊。 本文說明如何使用 Alexa 開發人員控制台建立 Alexa 技能、將 Bot 連線至 Azure 中的 Alexa 技能,以及在 Alexa 中測試您的 Bot。

必要條件

  • Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶
  • 發佈至 Azure 的 Bot,您想要連線到 Alexa。
  • Amazon 帳戶。

重要

您的 Bot 必須使用 Bot Framework SDK 4.8 版或更新版本。 如果您有現有的 Bot,您可能需要更新 SDK 版本並重新發布 Bot。

建立 Alexa 技能

  1. 登入 Alexa 開發人員控制台 ,然後選取 [ 建立技能]。

  2. 在下一個頁面上:

    1. 輸入新技能的名稱。
    2. 請確定 [ 選擇要新增至技能 的模型] 設定為 [自定義]。
    3. 請確定 [ 選擇裝載技能後端資源 的方法] 設定為 [ 布建您自己的資源]。
    4. 選取 [ 建立技能]。

    選擇模型和裝載

  3. 在下一個頁面上:

    1. 確定 [ 選擇範本 ] 設定為 [從頭開始]
    2. 選取 [選擇]

    選擇範本

  4. 在 [互動模型] 底下的技能儀錶板上,選取 [JSON 編輯器]。

  5. 在 JSON 編輯器中:

    1. 以下列 JSON 取代現有的內容。

      {
          "interactionModel": {
              "languageModel": {
                  "invocationName": "<your-skill-invocation-name>",
                  "intents": [
                      {
                          "name": "GetUserIntent",
                          "slots": [
                              {
                                  "name": "phrase",
                                  "type": "phrase"
                              }
                          ],
                          "samples": [
                              "{phrase}"
                          ]
                      },
                      {
                          "name": "AMAZON.StopIntent",
                          "samples": []
                      }
                  ],
                  "types": [
                      {
                          "name": "phrase",
                          "values": [
                              {
                                  "name": {
                                      "value": "<example-phrase>"
                                  }
                              },
                              {
                                  "name": {
                                      "value": "<example-phrase>"
                                  }
                              },
                              {
                                  "name": {
                                      "value": "<example-phrase>"
                                  }
                              }
                          ]
                      }
                  ]
              }
          }
      }
      
    2. 針對 invocationName,將your-skill-invocation-name>變更<為使用者將在Alexa上叫用技能的名稱。 例如,如果您的技能調用名稱是「配接器協助程式」,則使用者可以說出 「Alexa,啟動配接器協助程式」來啟動技能。

    3. 在的 values 陣列中 types,將的 <example-phrase> 三個實例取代為使用者可說觸發技能的片語。 例如,如果使用者說「Alexa,請要求配接器協助程式給我 alexa 配接器的詳細數據」,其中一個範例詞組可能是「給我 alexa 配接器的詳細數據」。

  6. 選取 [ 儲存模型],然後選取 [ 建置模型]。 這會更新 Alexa 上的技能設定。

在 Azure 中設定 Bot

若要完成此步驟,您需要 Alexa 技能識別碼。 從 Alexa 入口網站中的 URL 取得識別碼,或移至 Alexa 開發人員控制台 ,然後選取 [ 複製技能標識符]。 您的Alexa技能標識碼應該是 「amzn1.ask.skill」 之類的值。<some-guid>”。

  1. 開啟 Azure 入口網站
  2. 開啟 Bot 的 [Azure Bot 資源] 刀鋒視窗。
  3. 開啟 [頻道] ,然後選取 [Alexa]。
  4. Alexa信道組態中,輸入您在上一個步驟中複製的資訊。
    1. [輸入技能標識符] 中,輸入您從 Alexa 開發人員控制台複製的 Alexa 技能標識碼。
    2. 選取套用
    3. 複製 Azure 產生的 Alexa 服務端點 URI。

更新您的 Alexa Bot 註冊

  1. 登入 Alexa 開發人員控制台

  2. 尋找並開啟技能的設定頁面。

  3. 選取 [端點]

  4. 針對 [ 服務端點類型],選取 [ HTTPS]。

  5. 針對 預設區域

    1. 輸入您從 Azure 入口網站 複製的 Alexa 服務端點 URI。
    2. 在下拉式清單中,選取 [我的開發端點] 是具有證書頒發機構單位通配符憑證之網域的子域。
  6. 選取 [ 儲存端點]。

測試及發佈您的技能

如果您擁有 Alexa 裝置,您可以在發佈技能之前先測試技能。

如需有關如何在其平台上測試及發佈技能的資訊,請參閱自定義語音模型技能的 Alexa Skills Kit 開發人員檔。

其他資訊

如需 Alexa 技能的詳細資訊,請參閱 Amazon 開發人員檔:

Alexa 中的用戶驗證

Alexa 中的使用者驗證是透過在 Alexa 技能上設定和使用帳戶連結來完成。 如需詳細資訊,請參閱 瞭解Alexa技能的帳戶連結。 當用戶啟用技能時,您可以要求帳戶連結,也可以要求它作為交談流程的一部分。

如果您在交談中新增使用者驗證:

  1. 在傳出活動上附加登入卡片。 這會轉換成 Alexa LinkAccount 卡片,提示使用者使用 Alexa 應用程式登入。

  2. 如果使用者成功將帳戶連結至應用程式,則通道數據中的後續要求會提供令牌。

下一步