ChatdollKitでChatGPTのStream対応したサンプルコードが公開されたので検証しました。今までのサンプルコードはStreamに対応してなかったのでBotが会話するまでに若干のラグがありました。
ChatdollKitの説明
ChatdollKitは、お好みの3Dモデルを使って音声対話可能なチャットボットを作るためのフレームワークです。
公式から引用
検証環境
- Unity Version 2021.3.24f1
- ChatdollKit.unitypackage v0.6
ChatdollKitの導入
こちらの記事を参考にChatdollKitを導入します
ChatGPT+3Dモデルの音声対話エージェントを15分で開発する方法
躓いたポイント
JSON.NET For Unityのインポート
JSON.NETの公式をドキュメントを参考にパッケージマネージャー経由でインストールします。
ChatGPTStreamSkillを試してみる
ChatGPTStreamSkill.csのインポート
https://github.com/uezo/ChatdollKit/blob/master/Examples/ChatGPT/ChatGPTStreamSkill.cs からChatGPTStreamSkill.csをダウンロードしてUnityのエディタの画面からChatdollKit/Example/ChatGPT/ChatGPTSkillのフォルダに追加します。
DemoChatシーンを編集
ChatGPTStreamSkillをAdd Component
ChatdollKit/Demoフォルダの中のDemoChatを開いて、ChatdollLKitVRMにChatGPTStreamSkillをAdd Componentします。追加したらApi Keyの欄にChatGPTのAPI Keyを記載しておきます。
既存のChatGPTSKillはRemoveしておきましょう。
TTSの設定
自分が試した際はVoiceVox TTS Loaderではうまく動作しなかったので、Google TTS Loaderを使ってます。
躓いたポイント
NullReferenceException: Object reference not set to an instance of an object
NullReferenceException: Object reference not set to an instance of an object
ChatdollKit.UI.MicrophoneVolumeController.LateUpdate () (at Assets/ChatdollKit/Scripts/UI/MicrophoneVolumeController.cs:31)
シーンを再生すると上記のエラーが起きたので、下記のスクリプトをChatdollKitVRMのオブジェクトに追加して解決しました。
- GoogleVoiceRequestProvider
- GoogleWakeWordListener
検証
シーンを再生して話しかけてみましょう!
かなりはやい!!
検証に使ったモデル