ブログ製品化研修スタックチャン製品化研修

ChatGPTとスタックチャンで「おしゃべりロボット」作ってみた(後半) – スタックチャン製品化研修 Part.7

ブログ

ししかわです。

オープンソースのコミュニケーションロボット「スタックチャン」の製品化プロジェクトを社内研修の一環として進めています。

スタックチャン製品化研修を始めます
ししかわです。 久しぶりのブログ投稿となります。 「二足ロボ研修」の前回投稿からかなり間が空いてしまいましたが、 実はこれまでの間に、別のプロジェクトを始めるための準備をしていました。 今回はそのお披露目となります! アールティ秘伝の「製品...

巷で大流行中の「ChatGPT」とスタックチャンを連携させて「おしゃべりロボット」を作りました。

こちらは後半の記事になります。前半はこちら。

ChatGPTとスタックチャンで「おしゃべりロボット」作ってみた(前半) - スタックチャン製品化研修 Part.6
ししかわです。 オープンソースのコミュニケーションロボット「スタックチャン」の製品化プロジェクトを社内研修の一環として進めています。 巷で大流行中の「ChatGPT」とスタックチャンコミュニティについて紹介します。 ChatGPTの衝撃とス...

スタックチャン × ChatGPTデモ

スタックチャンとChatGPT APIの連携を実装したデモがこちらです。

ユーザがスタックチャンに話しかけると、スタックチャンがかわいい声で答えてくれます。

ユーザの「自己紹介して」という問いかけに「わたしは スタックチャンというロボットです」と答えています。つまりChatGPTがスタックチャンとして振る舞っています。Web版のChatGPTをお使いの方はご存知だと思いますが、最初に「あなたはスーパーカワイイロボットのスタックチャンです」という設定を与えて会話をスタートすることで、ChatGPTはこの設定を守った応答を考えてくれます。

デモの仕組み

仕組みは次のとおりです。音声認識や音声合成などの重たい処理は外部のPCで行います。

  1. PCはユーザの音声を認識します(音声認識ライブラリのVOSKを使います)
  2. PCは認識結果のテキストをスタックチャンに送信します
  3. スタックチャンはChatGPT APIにユーザの発言内容を送り、AIからの返答を得ます。
    • このとき認証用のAPIキーに加えてチャット履歴を送信します。
    • チャットのメッセージは、役割(role)と内容(content)を持ちます。roleは、ユーザーやAI、システムのどれかを示し、contentは実際のメッセージ内容を表します。
    • システムロールを使って、ChatGPTのキャラクター設定や受け答えの指示を与えることができます。
  4. AIからの返答を音声データに変換します(音声合成エンジンのVOICEVOXを使います)
  5. 音声データを再生します。

以上のデモは私が開発するModdable版のファームウェアでお試しいただけます(起動方法はドキュメント参照)。 基本となるモジュールを全てJavaScriptで実装しているため、Arduino(C++)に馴染みの無い方やWebエンジニアの方でも使えます。

今後は環境構築なしでWebブラウザを使ってアプリを書き込めるようにするなど、始めやすく、使いやすく改善する予定です。

応用例

この構成を出発点に色々な改造が可能です。

  • ユーザの発話だけではなく、特定の時刻(12時になりました。お昼休みにしましょう!)やセンサの値の変化(二酸化炭素が増えてきたので窓を開けませんか?)、あるいは他のWeb APIをトリガーにしてスタックチャンに喋ってもらう。
  • スタックチャンの数を増やす。ユーザとスタックチャンだけでなく、スタックチャン同士で会話してもらう。
  • ChatGPTの返答に特別なコマンドを埋め込んで、発話以外のアクションを実行してもらう。外部のAPIと繋いで、スタックチャンにテレビやPCを操作してもらう。

あなたならスタックチャンと一緒に何をしますか?

ChatGPTを使ってみた感想

何よりまず、受け答えがとても自然で驚きました!初めて「ロボットとちゃんと会話できた」と実感しました。

APIの使い方も簡単で、すぐに色々なシステムに組み込んで使えそうです。

一方、ChatGPTはあくまで「テキストによるチャット」を前提としたAIであり、コミュニケーションロボットの「音声による会話」に本格的に組み込むにあたり課題もあります。

  • 返答の精度:与えたキャラクター設定が効かなかったり、返答が固い(AIの地が出てしまう?)ときがあります。デモで使ったのはGPT-3.5というモデルですが、この次世代にあたるGPT-4がすでにリリースされており、精度の向上が期待できます。
  • 応答速度:返答までに数秒のタイムラグがかかります。処理中であることがユーザに伝わるように、スタックチャンの表情を変えるなどの工夫が必要です。
  • 対話管理:ユーザが発話を区切った時にロボットが応答するべきか、もっと聞くべきなのかを判断するなど、スマートスピーカー的な「一問一答」のやりとりから脱却することでより自然な会話が実現できます。

スタックチャンキット化計画

スタックチャンは「机の上にロボットがいる日常」を広めるために生まれてきました。何もしなくてもカワイイスタックチャンですが、ChatGPTとのコラボレーションによって様々な用途が生まれ、さらなる普及への道筋が見えてきました。

この感動をたくさんの人に体験してほしい!

ということで、次の記事ではキットの詳細についてご紹介していきます。

タイトルとURLをコピーしました