こんにちは、ハルアキです。
ask cliを使ってスキル開発してい難しいことの一つに対話モデルの作成があります。
インテントの名前やサンプル発話、スロットなどをJSONで記述していくのですが、最初はなかなか時間がかかります。
特にビルトインのインテントやスロットを使いたいときにはコンソール上で選ぶほうがわかりやすいですよね。
ask cliで開発しているのについついコンソール上で対話モデルを修正してそのままにしておくと、後でask deploy したら上書きされてしまった。ということにもなってしまいます。
※単にコンソール側で修正しただけだとソースコード側のハッシュは変わらないので通常のask deployでは対話モデル等は更新されません。ソースコード側で何か修正したときに更新されます。
コンソール上で対話モデルを修正したらソースコードに反映させましょう。
使用するコマンドは ask smapi get-interaction-model です。
このコマンド自体は対話モデルを取得するだけなので、ファイルに出力しましょう。
$ ask smapi get-interaction-model --skill-id amzn1.ask.skill.**** --stage development --locale ja-JP > ./skill-package/interactionModels/custom/ja-JP.json
スキルIDがわからない方は↓を参考に確認してください。
VSCode等でPowerShellを使っている場合は注意が必要です。
PowerShellで上記コマンドを実行した場合、作成されたファイルの日本語が文字化けししています。
Windowsで開発している場合はコマンドプロンプトで実行してください。
対話モデルをJSONで扱えるようになると素早く色々修正できると思いますが、コンソール側の方がやりやすい作業もあるかと思います。
コンソールとソースコードでの作業をうまく組み合わせて効率よく開発を進めましょう。
この記事がみなさんの助けになれば幸いです。
それでは、今日も素敵なアレクサライフを!
コメント