Alexa Skills Kit SDK for Pythonのベータリリースのお知らせ

Toshimi Hatanaka Jun 29, 2018
Share:
SDK Python
Blog_Header_Post_Img

Alexa Skills Kit (ASK) Software Development Kit (SDK) for Python (beta) がリリースされました。Python SDK は Java 及び Node.js SDKと同じ機能をサポートし、AlexaからのリクエストやAlexaへのレスポンスを処理するために書かなければならないプログラムコードの量を大幅に減らすことができます。

Pythonでプログラムを書ける方なら、このAlexaのSDKと共に、拡張性の高いPythonのライブラリやツールを活用することで、音声体験を素早く開発し公開することができます。

共通のタスクにはSDKを、独自のアイデアの部分だけコードを書く

通常、Alexaスキルを開発する際、Alexaがユーザーに応答を返すには、開発者はAlexaから送信されるリクエスト(JSON形式)を受け取り、適切なレスポンス(JSON形式)を返すために、クラウドベースのサービスを使用します。このリクエストとレスポンスの処理など、どのスキルでも共通に行われるタスクのために書かなければならないプログラムコードの量を減らすために、Java, Node.js, Python(Beta) SDKでは一貫性のある機能セットを提供します。次のような機能を使うことができます。

  • リクエストハンドリング: SDKのリクエストハンドリングを使用すると、Alexaがリクエストを送信した際に、正しいコードを簡単に呼び出せるようになります。複数のインテントに対して一つのハンドラーで処理したり、ほぼ同じような属性を持つリクエストに対して異なるハンドラーを呼び出せるようにコードを書くこともできます。ASK SDK for Python (Beta) は柔軟なハンドラーレジストレーションを提供しています。ハンドラー機能の実装には、decorators または従来のクラスベースの実装のいずれかを利用できます。
  • レンスポンスビルディング: 音声合成、オーディオやビデオストリーム、さらにカードやその他のビジュアルコンポーネントを使ってユーザーにレスポンスを届けることができます。ユーザーがどのようなタイプのAlexa互換デバイスを使用しているかによって、こちらのうち一つ以上のエレメントを受け取ります。
  • アトリビュート(属性)の管理: SDKのアトリビュートを使用することで、異なるスコープで情報を格納したり取得したりすることができます。アトリビュートは、過去に取得した情報を記録しておき、次に何をすべきかを判断する際にその情報を利用することができます。アトリビュートのスコープは、一度のリクエストの間、一連のユーザーとの会話(セッション)が終了するまでの間、スキルが有効になっている間、のいずれかを定義することができます。
  • Alexa APIの呼び出し: SDKのサービスクライアントを使うと、スキルのロジックの中から様々なAlexa APIをコールすることができます。サービスクライアントではコードを書かなくても自動的に関連するエンドポイントと認証トークンを設定してくれます。

PythonでクイックにAlexaスキルを開発し、ご感想をお寄せください。

"Hello World"のサンプルコードから完全なテクニカルドキュメントまで、Pythonでのスキル開発に必要なものは、GitHubのalexa-skills-kit-sdk-for-pythonリポジトリに全て揃っています。AWS Lambdaや独自のサーバー環境にPythonスキルをホストすることができます。また、AWSの無料枠や、AWSプロモーションクレジットを活用すれば、AWSにAlexaスキルをホストするのにお金はほぼかかりません。

是非ASK SDK for Python(SDK)をお試し頂き、皆様からのご感想をお待ちしております。機能追加のリクエストや問題の報告は、GitHubリポジトリのIssueを通じてお寄せください。

皆様がどんなスキルを作ってくださるか、楽しみにしております。

 

このブログはAnnouncing an Easier Way to Build Alexa Skills Using Pythonを翻訳しました。