はじめに
初めまして!Qiitaの記事初投稿です。
Alexa Skills、各AIのAPI、Flutterを組み合わせることで、ユーザーがAlexaに質問をするとスマホアプリで設定した「AI、任意の口調」で回答するシステムを開発しました。
何番煎じだよ、と思う方も多いと思いますが、一つ違うのは「スマホアプリでオプション(使用するAI、回答の口調)を指定可能」というところです。
本記事について
開発のふりかえりも兼ねた、一連のアプリ紹介となります。
地味に登場人物が多く、1記事にまとめると公開するのがだいぶ先になってしまうと思ったので、3部作くらいに分けて公開させていただきます。
主要なコードの紹介はしますが、あくまで「紹介」です。
Flutter(Dart)やLambda(Python)は、その言語の初心者が書いた内容のため、「参考程度」に留めてください。
対象読者
- AlexaとAI(ChatGPT)などを連携させたい人
- Flutterの開発に興味がある人
本記事の紹介範囲
- 開発背景
- デモ動画
- 全体の構成図
- 各種フローの説明
開発背景
以下の2点が今回の開発に至った背景です。
Alexaの進化
タイマー、音楽、テレビのON/OFFくらいしか使ってないAlexaをワンランク上の存在に導きたかった。
Flutter開発
業務でWebアプリの開発しか経験がなかったので、最近話題のFlutterでスマホアプリを開発してみたかった。
AlexaスキルはGUIがないので、任意の口調を変更するUIを持たせるのにスマホアプリはちょうどよかったです。
デモ動画
すみません、古いiPhoneで撮影したので、音が小さいかもしれません。
※設定画面のUIも初期時点なのでChatGPTのみになってます
全体の構成図
各種フローの説明
スマホアプリ
-
AIの口調を設定(構成図の赤線)
-
設定内容のお試し
詳細記事
リポジトリ
Alexaスキル
- 開発したスキルの起動(構成図の青線)
- 以下の形式でAlexaに話しかける
「質問 {ChatGPTに聞きたいこと}」 - Alexaスキル経由(Lambda)で以下を実行
- DynamoDBからスマホアプリで保存した口調を取得
- 取得した口調と{ChatGPTに聞きたいこと}を連結してChatGPTにリクエスト
- ChatGPTのレスポンスをそのまま返却
- AlexaがユーザーにChatGPTのレスポンスを発音
おわりに
短いですが、本記事ではここまでとさせていただきます。(本当に短くてすみません)
励みになりますので、「いいね」、「コメント」お待ちしてます!
次回はスマホアプリ(Flutter)の開発にフォーカスして紹介します。
⇨記事作成したので、以下の関連記事にリンクを載せました。
次回はAlexa Skillsの開発にフォーカスして紹介します。
関連記事