未来のコミュニケーション!ChatGPTとAlexaがつなぐ、驚きの会話体験

ChatGPT便利ですねぇー。娘の(というか自分も含め)英語教師として充分使える気がしたので、ChatGPTと会話できるよう(Alexaを介して)頑張りました!

セキュリティとは関係ないですが、あまりにもChatGPTのインパクトが大きかったので、いろいろ活用してブログにしていこうと思います。

ちなみに、このブログ記事もChatGPTを活用して書いています。…だいぶ堅い(゚Д゚;)
すでにChatGPTのAPIお触りしたことがある方は「Alexaスキルの作成」より下を読んでもらえば大丈夫と思います。

あと、最初に書いておきますが、下の状態を目指します。黄色のメモの箇所は最後の方まで読んでもらうと「あぁ、なるほど」ってなります。




はじめに: ChatGPTとAlexaのコラボレーション

今回はちょっと変わった試みをしてみようと思います。OpenAIのChatGPTとAmazonのAlexaを組み合わせてChatGPTと直接話せる環境を作ってみます。技術的にも面白そうやし、新しいAIアプリケーションとかビジネスチャンスにつながるかもしれないですよね?

この記事では、ChatGPT API、Alexa Skills Kit (ASK)を使って、二つのプラットフォームをどうやって組み合わせるかを説明していこうと思います。最後には、実際にChatGPTとAlexaで話せるようになるのが目標です。

それでは、さっそく具体的な実装方法について見ていきましょう!

必要な技術とツールの紹介

この章では、ChatGPTとAlexaを組み合わせるために必要な技術やツールについて紹介します。まずは、ChatGPT APIについて詳しく見ていきましょう。

ChatGPT APIについて

APIの利用には、OpenAIのアカウント登録が必要で、無料プランから有料プランまで幅広い利用オプションが用意されています。開発者は、自分のニーズに合ったプランを選択し、APIキーを取得することで、ChatGPT APIを利用できるようになります。

APIのリクエストには、主にユーザーの発話や過去の会話履歴などの情報を送信し、ChatGPTからの応答が返ってきます。JSON形式でデータをやり取りするため、多くのプログラミング言語で簡単に扱うことができます。

次に、Alexa Skills Kit (ASK)について解説していきます。

Alexa Skills Kit (ASK)について

Alexa Skills Kit (ASK)は、Amazonが提供するソフトウェア開発キットで、開発者が独自のAlexaスキルを簡単に作成・公開するためのツールです。ASKを使って、音声インタラクションをサポートするアプリケーションやサービスを構築できます。

また、ASKにはLambda関数というサーバーレスコンピューティングサービスが含まれており、これによって開発者は独自のスキルを簡単にデプロイ・実行できます。

ASKの主な機能として、インテント(ユーザーの要求)の定義や音声UIの設計、バックエンド処理の実装などがあります。これらの機能を使って、Alexa対応のデバイスでChatGPTとコミュニケーションできるスキルを開発します。

次の章では、具体的な実装方法について説明していきます。

ChatGPT APIのセットアップ

この章では、ChatGPT APIを利用するためのセットアップ手順について説明します。まずは、OpenAIアカウントの作成から始めます。

OpenAIアカウントの作成

ChatGPT APIを利用するためには、まずOpenAIのアカウントが必要です。以下の手順でアカウントを作成してください。
  • OpenAIの公式ウェブサイト(https://www.openai.com/)にアクセスします。
  • 画面上部の「Sign up」ボタンをクリックして、登録ページに移動します。
  • 必要な情報を入力し、アカウントを作成します。
アカウント作成が完了したら、次にAPIキーを取得します。

APIキーの取得

OpenAIアカウントを作成したら、APIキーを取得する必要があります。このAPIキーを使って、ChatGPT APIにアクセスできます。以下の手順でAPIキーを取得してください。
  • OpenAIのダッシュボード(https://platform.openai.com/dashboard)にログインします。
  • 左側のメニューから「API Keys」をクリックします。
  • 画面右上の「Create API Key」ボタンをクリックし、新しいAPIキーを生成します。
APIキーの取得が完了したら、どこかに保存しておいてください。次の章では、Alexa Skills Kit (ASK)のセットアップ方法を説明します。

Alexaスキルの作成

この章では、実際にAlexaスキルを作成する方法について説明します。スキルの作成には、Amazon Developer Consoleを使用します。
このあと、設定方法を簡単に書きますが、ビルド > 対話モデル > JSONエディター に下記JSONファイルをアップロードする事でも登録可能です。その場合は、この章のスキル作成は不要になります。

Amazon Developer Consoleで新しいスキルを作成

まずはじめに、Amazon Developer Consoleにアクセスし、サインイン(またはアカウント作成)します。

※Amazon Developer Consoleでアカウントを作成する場合は、ChatGPTと会話させたいAlexaデバイスが紐付いたAmazon(amazon.co.jp)のアカウントでログインしてください。(「Amazon Developer アカウント作成」はクリックしない)

※Amazon Developer Consoleでアカウントを作成する場合は、ChatGPTと会話させたいAlexaデバイスが紐付いたAmazon(amazon.co.jp)のアカウントでログインしてください。(「Amazon Developer アカウント作成」はクリックしない)

※Amazon Developer Consoleでアカウントを作成する場合は、ChatGPTと会話させたいAlexaデバイスが紐付いたAmazon(amazon.co.jp)のアカウントでログインしてください。(「Amazon Developer アカウント作成」はクリックしない)

※めちゃくちゃ大事なので、何回も書いたんですが、新規作成すると、Alexaが紐付かず実機にスキルをインストールできないです。(厳密にはできるけど、かなりめんどくさい)作ったスキルをパブリックに配信する場合はこの限りではありません。




次に、コンソールのダッシュボードから「Create Skill」ボタンをクリックし、新しいスキルを作成します。スキル名やデフォルト言語を選択したら、「Create skill」ボタンをクリックしてスキルを作成します。

スキルのInvocation(呼び出し)名の設定

Invocation(呼び出し)名は、ユーザーがAlexaデバイスでスキルを起動するときに使用する名前です。Invocation名は一意であり、他のスキルと区別できるようにする必要があります。スキルのInvocation名を設定したら、「Save Model」ボタンをクリックして変更を保存します。

※今回は、「ちょっとGPT」って言った時にスキルが発動するようにします。
 Alexaはスキルを呼び出した後にインテントとなる言葉を話しかける事で動作します。

インテントとサンプル発話の設定

インテントは、ユーザーの要求を表すもので、サンプル発話はそのインテントを表すフレーズの例です。インテントとサンプル発話を設定することで、Alexaがユーザーの要求を理解し、適切な処理を行うことができます。

インテントを追加するには、「Add Intent」ボタンをクリックし、インテント名を入力します。次に、サンプル発話を設定します。これは、ユーザーがそのインテントを起動するために使用するフレーズの例です。サンプル発話を追加したら、「Save Model」ボタンをクリックして変更を保存します。

※今回は、下記インテントを設定します。
  • toChatgpt(ChatGPTに話しかけるインテント)
    • 「教えて」と言ったら発動します
  • AMAZON.StopIntent / AMAZON.CancelIntent(スキルを止めるインテント)
    • 「ばいばい」と言ったら発動します
これで、基本的なスキルの設定が完了しました。次のステップでは、バックエンド処理を実装し、ChatGPT APIと連携させる方法について説明します。

ChatGPTとAlexaの連携

この章では、ChatGPT APIとAlexaスキルを連携させる方法について説明します。具体的には、Amazon Developer Console内のコードエディタを使用して、インテントに対する処理を実装し、ChatGPT APIとの通信を行います。

コードエディタでコードを書く

コードエディタ画面を開くとファイルが3,4つくらい表示されますので、そのうちの2つを書き換えます。(コピペして使ってください)
中身は、この前のステップで設定したスキルやインテントが呼ばれた時に実行するコードが描かれています。

※このブログはChatGPTにベースを書いてもらってるんですが、このあたりで過去の会話履歴が消えたので、自分で書くことになり簡単になっています_(:3」∠)_

ここまでやれば、Developer Consoleのテスト画面でテストができるようになっていると思うので、確認してみてください。

実機には何もしなくてもスキルがインストールされてるようなので、そちらで確認しても良いと思います。

まとめ

今回、ChatGPTとAlexaを利用した簡単な開発とChatGPTでブログを書いてみるという2点を試してみました。

ChatGPTはとても便利なので、Alexaで会話できるようになる事で、こどももその恩恵を受けられるようになりとても良い事をしたなと感じています。

一方で、ChatGPTにブログを書いてもらう事は課題が多いなと感じました。大きくは2点です。
  • (当たり前だけど)自分らしさがなくなる。
  • 画像は用意できない。
特に画像が無い方は今回やってみてけっこうツラいなと思いました。モジモジしてわかりにくいので、最後まで読んでくれる人がけっこう減るだろうなという気がします。

いずれも使いようでどうになできる事なので、これからももっと活用していこうと思います!

TryHarder!!

このブログの人気の投稿

リスクアセスメント

セキュリティ監視入門! MITRE ATT&CK編 その②現状の評価