Alexa 技能中的交互模型文件应该如何组织和部署?
How should the interaction model files in an Alexa skill be organized and deployed?
我不敢相信我不得不问这个问题,但我已经安静地搜索了一段时间的文档,但找不到答案:How should the files defining the interaction model in an Alexa skill (<locale>.json
、sample_uterrances.txt
、自定义槽类型的值列表)是否已组织和部署?
- 这些文件在项目结构中的什么位置:在根目录中,在模型目录中,在单独的语音资产目录中?
- 相对于
<locale>.json
,我必须将 sample_utterances.txt
放在哪里?
- 如何处理不同语言环境的多个样本话语文件?它们在哪里相互映射?
- 如何在
<locale>.json
中指定哪个自定义槽类型值列表属于哪个槽类型?
- 我如何告诉 ASK CLI 要部署哪些文件?
ask deploy
命令只知道一个 --target
参数,似乎无法准确指定每个目标中包含哪些文件。
None 亚马逊似乎回答了这些问题 official documentation,我真的是唯一一个发现所有这些不明显的人吗?
我认为你混淆了两种不同的东西。
"old" 创建 Alexa Skill 的风格,仍然可以通过 developer.amazon.com 使用(没有新的 Skill Builder)。以及通过 Skill Builder 的新方式。 ASK CLI 以某种方式使用 :D 的 "mixed" 形式。使用 Skill Builder,您最终会得到一个包含所有信息的 .json 文件,使用 "old" 方式,您可以填写许多输入字段。 ASK CLI 有:
- λ/
- skill.json(一般技能定义)
- 型号/
- .json(槽、样本话语等)
我建议您只在终端中执行 ask new
,CLI 将创建您需要的所有文件夹。您关于该技能的所有信息(包括样本话语、自定义插槽等)将进入 'models/.json',所有关于您技能的一般信息将进入 'skill.json'。没有 [=72] =],它现在在您的 .json 中,并针对每个意图进行分组。我还可以建议在网络控制台中创建示例技能,然后使用 ask clone
了解它的结构。
以下是您的问题的答案:
这些文件在项目结构中的什么位置:在根目录中,在模型目录中,在单独的语音资产目录中?
--> 使用ask new
创建默认项目结构。
相对于 .json 我必须将 sample_utterances.txt 放在哪里?
--> 示例语句放在 .json
如何处理不同语言环境的多个样本话语文件?它们在哪里相互映射?
--> 由于样本话语在 .json 中,它们对于每个语言环境都是不同的
如何在 .json 中指定哪个自定义槽类型值列表属于哪个槽类型?
--> 它们也在"types"
下的.json中定义
我如何告诉 ASK CLI 要部署哪些文件? ask deploy 命令只知道一个 --target 参数,似乎无法准确指定哪些文件是每个目标的一部分。
--> ASK CLI 的模型是文件夹中的所有内容都属于一个技能。您可以在 "models" 文件夹中拥有一项技能 "Sample Skill",例如 us-US 和 us-UK 语言环境,一个 skill.json 定义和 "lambda" 文件夹中的 lambda。我认为没有办法用 'ask deploy'
指定文件
我不敢相信我不得不问这个问题,但我已经安静地搜索了一段时间的文档,但找不到答案:How should the files defining the interaction model in an Alexa skill (<locale>.json
、sample_uterrances.txt
、自定义槽类型的值列表)是否已组织和部署?
- 这些文件在项目结构中的什么位置:在根目录中,在模型目录中,在单独的语音资产目录中?
- 相对于
<locale>.json
,我必须将sample_utterances.txt
放在哪里? - 如何处理不同语言环境的多个样本话语文件?它们在哪里相互映射?
- 如何在
<locale>.json
中指定哪个自定义槽类型值列表属于哪个槽类型? - 我如何告诉 ASK CLI 要部署哪些文件?
ask deploy
命令只知道一个--target
参数,似乎无法准确指定每个目标中包含哪些文件。
None 亚马逊似乎回答了这些问题 official documentation,我真的是唯一一个发现所有这些不明显的人吗?
我认为你混淆了两种不同的东西。 "old" 创建 Alexa Skill 的风格,仍然可以通过 developer.amazon.com 使用(没有新的 Skill Builder)。以及通过 Skill Builder 的新方式。 ASK CLI 以某种方式使用 :D 的 "mixed" 形式。使用 Skill Builder,您最终会得到一个包含所有信息的 .json 文件,使用 "old" 方式,您可以填写许多输入字段。 ASK CLI 有:
- λ/
- skill.json(一般技能定义)
- 型号/
- .json(槽、样本话语等)
我建议您只在终端中执行 ask new
,CLI 将创建您需要的所有文件夹。您关于该技能的所有信息(包括样本话语、自定义插槽等)将进入 'models/.json',所有关于您技能的一般信息将进入 'skill.json'。没有 [=72] =],它现在在您的 .json 中,并针对每个意图进行分组。我还可以建议在网络控制台中创建示例技能,然后使用 ask clone
了解它的结构。
以下是您的问题的答案:
这些文件在项目结构中的什么位置:在根目录中,在模型目录中,在单独的语音资产目录中? --> 使用
ask new
创建默认项目结构。相对于 .json 我必须将 sample_utterances.txt 放在哪里? --> 示例语句放在 .json
如何处理不同语言环境的多个样本话语文件?它们在哪里相互映射? --> 由于样本话语在 .json 中,它们对于每个语言环境都是不同的
如何在 .json 中指定哪个自定义槽类型值列表属于哪个槽类型? --> 它们也在"types"
下的.json中定义
我如何告诉 ASK CLI 要部署哪些文件? ask deploy 命令只知道一个 --target 参数,似乎无法准确指定哪些文件是每个目标的一部分。 --> ASK CLI 的模型是文件夹中的所有内容都属于一个技能。您可以在 "models" 文件夹中拥有一项技能 "Sample Skill",例如 us-US 和 us-UK 语言环境,一个 skill.json 定义和 "lambda" 文件夹中的 lambda。我认为没有办法用 'ask deploy'
指定文件