ネットでmebo(ミーボ)の記事を読み、興味を持ったのでYouTubeのRiotBlue Player24時間配信に実装しました。YouTubeのコメントをYouTube Data APIを使って拾って、OBSのブラウザ表示で画面に返答を表示できるようにしています。
meboは、トレーニングにより覚えた会話を返答するのと同時に、分からない質問に対しては、今話題のChatGPT相当の言語モデルGPT-3.5 (text-davinci-003)を利用して良い感じの返答をするようになっています。
ChatGPTによる返答は、良い感じでありますが、あまり正確な情報でないと思います。
Google検索のように複数の回答の中からユーザーが選択するのではなく、1つの回答しか無いので間違えることが多いのかなと思います。このあたりを改善して使えるものにしているのがBeing AIなのかもしれませんね。
このページの左側にも「AIチャット」のボタンを置きました。
meboの記事は、爆速でAI Vtuberを作成するという物でしたが、私の用途としてはコメントを拾って応答を画面に表示するだけで良いので、サンプルとして提供されているhtml, css, Javascriptを少しだけ変更しています。
具体的には、
- AI Vtuberの表示イメージを外す
- 音声合成による発話の実装を外す
- 表示する文字のスタイルを変更する
YouTube配信への実装手順は、チャット欄に答えて雑談配信する「AI VTuber」の作り方 – Zenn の記事を読めばできると思います。
今回、機能を削除して実装したのですが、1つだけ問題がありました。
オリジナルの処理に音声合成の発話時間をタイミングとして利用している部分があるため、音声合成の処理を外すとうまく動作しません。
下記のコード修正をしました。
- 次のコメントを拾うためのタイミングを音声合成処理の外に記述する
- 次のコメント処理の待ちにテキスト表示が終了するまでを追加
- “Thinking…………….”の表示終了前にユーザーコメントを表示され、ユーザーコメント内に”.”が表示されるので、”Thinking…………….”の表示スピードを50->25msに変更(1秒以内に表示)
実装テストする時に注意しないといけないのは、「エージェントの設定」でAIモデルを「GPT-3.5」にしていると、テストで会話するたび無料で使える会話数1000回を20ずつ消費して、上限に達して実装テストができなくなります。実装テストが終わるまでは、AIモデルを「me-bo-幅広い雑談」にして会話の消費量を節約するのが良いかと思います。