您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

将机器人连接到 Alexa

适用于: SDK v4

可以将机器人配置为使用支持自定义技能的 Alexa 设备与用户通信。

重要

机器人必须使用 Bot FRAMEWORK SDK 4.8 版或更高版本。 通过 Azure 门户创建新的机器人时,bot 将使用该时间提供的最新版本。 如果有现成的机器人,可能需要更新 SDK 版本。

创建 Alexa 技能

  1. 登录到 Alexa 开发人员控制台,然后单击“创建技能”按钮。

  2. 在下一个屏幕上,输入新技能的名称。 在此页上,可以选择要添加到技能的模型(默认情况下选择“自定义”),并选择用于托管技能后端资源的方法(默认情况下选择“自行预配”)。 保留选中默认选项,然后单击“创建技能”按钮。

    屏幕快照:选择模型和宿主

  3. 在下一个屏幕上,系统会要求你选择模板。 默认情况下,将选择“从头开始”。 保持选中“从头开始”,然后单击“选择”按钮。

    屏幕截图:选择模板

  4. 现在,你将会看到技能仪表板。 在左侧菜单的“交互模型”部分中,导航到“JSON 编辑器”。

  5. 将下面的 JSON 粘贴到“JSON 编辑器”中,并替换以下值;

    • 技能调用名称 - 这是用户在 Alexa 上调用技能时将使用的名称。 例如,如果技能调用名称为“适配器助手”,则用户可能会说“Alexa,启动适配器助手”以启动该技能。

    • 示例短语 - 应提供用户可用于与技能交互的三个示例短语。 例如,如果用户说“Alexa,请求适配器助手提供 Alexa 适配器的详细信息”,示例短语将为“请提供 Alexa 适配器的详细信息”。

    {
        "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>"
                                }
                            }
                        ]
                    }
                ]
            }
        }
    }
    
  6. 单击“保存模型”按钮,然后单击“生成模型”,这将更新技能的配置。

  7. 从 Alexa 门户的 URL 中获取 Alexa 技能 id ,或转到 Alexa 开发人员控制台 ,并单击 " 查看技能 id"。 你的 Alexa 技能 ID 应该是一个类似于 "amzn1" 的值。

  8. 在 Bot Framework 门户中,导航到“Alexa 通道配置”页,并将“Alexa 技能 ID”粘贴到“输入技能 ID”字段。

  9. 在 Alexa 门户中,导航到左侧菜单上的“终结点”部分。 选择“HTTPS”作为“服务终结点类型”,并将“默认区域”设置为从“Bot Framework Alexa 配置”页复制的“Alexa 服务终结点 URI”值。

  10. 在定义了终结点的文本框下的下拉列表中,需要选择要使用的证书类型。 选择“我的开发终结点是具有来自证书颁发机构的通配符证书的域的子域”。

    屏幕截图:选择服务终结点类型

  11. 单击 Alexa 门户中的“保存终结点”按钮。

  12. 单击“Bot Framework Alexa 通道配置”页中的“保存”按钮。

首先需要在 Alexa 中发布技能,然后才能使除自己以外的其他用户与之通信。 在发布技能之前,可以使用自己的 Alexa 设备在 Alexa 中测试技能,也可以在技能的“测试”选项卡中进行测试。 若要转到“测试”选项卡,请导航到 Alexa 开发人员控制台中的“技能”。