Alexa 技能中的搜索功能

Search Functionality in Alexa skill

我正在构建播放音频的 Alexa 技能。音频具有标题、扬声器和其他属性。

问题:我想在我的技能中添加搜索功能,以便用户可以根据标题或演讲者姓名等播放音频。我该如何实现?

用户如何根据一些自定义字符串(演讲者、标题)进行搜索并将该字符串传递给我的技能?,我将在其中编写逻辑来搜索该字符串声音的。

我知道自定义意图和槽,但我不知道它们在我的情况下如何工作。

请指导。我只需要一些起点。谢谢。

是的 - 您需要查看 custom slots

你的intents.json

{
  "intents": [
    {
      "intent": "GetAudio",
      "slots": [
        {
          "name": "Query",
          "type": "QUERY"
        },
      ]
    },
  ],
  ...
}

您定义的话语

您的话语可能会包含以下内容:

GetAudio search for {Query}
GetAudio find audio matching {Query}

正在处理您技能中的请求

当你的技能收到意图时,它会得到一个 IntentRequest 充满了您定义的任何插槽。因此,如果您定义了 Query 的自定义槽(并且理想情况下填充了示例搜索以改进匹配),您可能会收到类似以下内容的信息:

{
  "type": "IntentRequest",
    ...
  "intent": {
    "name": "GetAudio",
    "slots": {
      "Query": {
        "name": "Query",
        "value": "jimi hendrix"
      }
    }
  }
}

这样就可以轻松检索 value 字段并使用您的内部逻辑进行搜索。

希望对您有所帮助。

您可以通过定义 AMAZON.SearchQuery 类型的自定义插槽来实现。 所有详细信息 here