AWS IoT Core + Cloud WatchでRapsberry pi pico w から取得したデータを爆速でグラフ化する
Uhara
Uhara 2024.05.20
※今回は弊社の業務とはちょっと外れた、完全に筆者の趣味の内容です。
今日も一人でリモートワーク。ぶつくさ独り言をつぶやきながら仕事しています。
…
あぁ、しゃべる相手が欲しいな
なんかリアクション欲しいな
シュバババ!
PythonでSpeechRecognitionを使用してUSBマイクからとりこんだ音声をテキストに変換します。現状はこのライブラリの一強のようです。簡単なギミックとして、”話聞いて”というキーワードで会話モードに入る、”黙って”というキーワードでスタンバイモードになるようにしました。
開発中はコストを抑えるためGhatGPT-3.5、最終的にはGhatGPT-4oで遊んでいました。執筆時はこれがベストな感じでしたが、世代交代が早そうな箇所ではあります。
出力された言葉からプロンプトを生成してChatGPTのAPIに投げます。ここはアイデア次第でいろいろできそうな部分ですが、今回はroleとして”関西のお笑い芸人”、質問には「”音声認識で取得した文字列”に対して50文字以内で回答して」という感じのシンプルなプロンプトにしています。
会社に転がっていたちょっと世代の古いラズパイ3で動くものという制約もあり、その中でも比較的後発のaquestalkに決めました。
神霊が依り憑く(よりつく)対象物のことで、神体などを指すほか、神域を指すこともある。( ウィキペディアより )
ここではラズパイを内部に入れるための人形を指します。今回お題をAI会話アプリケーションではなくAI会話ロボットとしたのは、誰が喋るかというのを重要視したためです。PCの画面越しに2次元画と会話するより、身近な人形/ロボットが喋ることでより”相棒な感じ”に近づけるかなと考えます。某有名ブロガーでもおなじみのミミクリーペットがちょうど中身を入れ替えるのに都合がよい感じでしたので”ガワ”を一時的にお借りしました。特に深い意味はありません。
目に見える改善の余地は以下のようにいろいろありますが、
とはいえソースコードも100行程度で簡単にAI会話ロボットが作れてしまいました。同種の製品として有名なR〇〇〇がそこそこな金額しますし、それなら自分で作っちゃえと。それが(そこそこ)実現できる時代が現実的になってきていますね。
Uhara Engineer
SEです。AWSやGCPなどサーバやクラウド周りはお任せください。趣味はギターとカフェ巡り。