AIまえっちの改善


RiotBlue Playerを使って24時間配信しているのですが、面白機能としてチャットのコメントに対してAI(AIまえっち)が回答する仕組みを搭載していました。
今回、色々と見直しを実施しました。

1.回答の仕組みの変更

AIの回答にはmiiboという有料サービスのTRIALプランで無料で使っています。
TRIALプランは1ヶ月に1000ポイントが与えられ、このポイント数が無くなるmiiboによる回答を生成してくれます。

回答に使うAIのシステムによりポイント数が変わります。
決められた定型文に対する回答:1ポイント
Chat-GPT3.5を使用した回答:5ポイント
が消費されます。

決められた定型文による回答は、AIとは言えないものですが、決まった質問に対して正しく答えられる可能性が高いです。
少しでもmiiboの使用ポイントを減らすべく、定型文に対する回答を自前のプログラムで実行するようにしました。
定型文で回答できない難しい質問だけmiiboにお願いすることにしました。

日本語の文章を解析するなんて高度な事はしていません。
文章に含まれる単語で類推して回答を作成しています。
実際に試しても貰えればわかりますが、これが意外と正確に回答にヒットします。

2.コメント取得が停止するバグの改修

これまで24時間の連続稼働をしていると、コメントを取得する処理が止まってしまって、回答できなくなることがありました。
これも、コメントを処理する別のプログラムを作成時にバグとなる箇所を見つけて修正したので、回答が止まることは無いと思います。

3.音声合成機能の追加

元々、miiboのサンプルプログラムは、配信のコメントを取得してVOICEVOXで音声を再生させる処理が書いてありました。
RiotBlue Playerで音楽を再生しているので、あえて音声出力の処理を動作しないように修正していました。

今回、この処理を解放して音声出力ができるようになりました。

ここで問題となるのは、24時間配信用に使っているPCは、高性能と言える物では無いので、VIOCEVOXによる音声合成の処理に時間がかかってしまうことです。
150文字程度の音声変換に1分以上かかってしまいます。

この問題を改善するために、GPU付きの高性能PCで音声合成する仕組みを作りました。
高性能PCは、Windowsのタスクスケジューラーでログイン時に自動的にVOICEVOX engineを起動するようにしています。
通常の起動オプションはネットで調べたら出てきましたが、GPUモードで起動するオプションについてはGitにあるコードから調べて追加しました。
例)
“C:\Program Files\VOICEVOX\run.exe” –host 192.168.10.103 –use_gpu

192.168.10.103は、VOICEVOX engineを動作させる高性能PCのIPアドレスです。

音声合成のAPIを使うときは、
http://192.168.10.103:50021
で始まるURLにアクセスすれば、音声合成の結果を応答してくれます。
GPUによる変換が使えるようになったので、1分以上かかっていた処理が3秒で完了します!

以前から気になっていても手を付けられなかった様々な問題をすべて解決することができました。