AIパワードボイスチャット
Eng | 繁中 | 日本語 | 한국어 | 简中 |
AI Powered Voice Chat
Key features
- OpenAI、ローカルまたはリモートのテキスト生成WebUIをAIサービスとして使用するオプション
- AIが生成したメッセージを音声に変換するための組み込みTTSエンジン
- トーク中にキャラクターの顔を自動的にアニメーションさせる組み込みリップシンク
- 音声認識を組み込んで、あなたの声をテキストに変換してAIに送信する
- 選択できる英語の声が900以上用意されており、各キャラクターに独自の声を設定できる
制限事項
- 音声エンジンはWindowsのみ対応です。他のプラットフォームでは音声認識を使用して話すことはできますが、応答はテキストのみです。
AIサービス
キャラクターに知能を与えるためのAIサービスとして使用できるさまざまなオプションがあります。以下ではそれぞれのオプションの利点と欠点について説明します。
OpenAI (ChatGPT)
現時点で最も知能が高いオプションです。
利点:
- スマート
- 速い
- 他のリモートオプションと比較してコスト効果が高い
欠点:
- 検閲されている
セットアップ: DanceXRでOpenAIサービスを使用するには、OpenAI APIキーが必要です。
- OpenAIアカウントに登録してログインします。
- ページの右上隅にあるプロフィールアイコンをクリックします。
- APIページを開くために「View API Keys」を選択します。
- 「Create New Secret Key」をクリックして、キーが表示されたらコピーします。キーはここで1度だけ表示されるので、後でフルキーを取得することはできませんので、紛失しないようにしてください。
- DanceXRを開いて、チャットメニューからConfigアイコンをクリックします。
- AIサービスに移動し、OpenAI APIキーを「OpenAI API Key」ボックスに貼り付けます。
- 次に、「AI Service」ドロップダウンで「OpenAI (ChatGPT)」を選択して、設定が完了します。
- チャット設定で使用するモデルを選択できます。
ローカルでLLMを実行(LM Studio、OobaBoogaなど)
コンピューターが十分に強力な場合、LLMをローカルで実行することもできます。たとえば、最新のLlama3 8bはロールプレイには十分です。OobaBoogaとLM Studioをテストし、DanceXRとの互換性があることを確認しました。
AIの領域は非常に速く発展しており、新しいツールやモデルが常に登場しています。ここでの推奨事項は執筆時点での情報に基づいており、読んでいる時点で時代遅れになっている可能性があります。独自のオプションを探索しても構いません。DanceXRは、OpenAI API仕様をサポートするLLMツールであればどれでも動作するはずです。
利点:
- プライバシーが守られ、何も送信されず、すべてがローカルで処理されます。
- 検閲されていないモデルを含む、任意のモデルを選択できます。
- 無料
欠点:
- オンラインモデルほどスマートではありません
- 少しのセットアップが必要です
- LLMをローカルで実行すると、非常にリソースを消費する場合があります。特にDanceXRとLLMを同じマシンで実行する場合は。
セットアップ: 現時点では、コマンドラインツールをいじることなく使用する場合は、LM Studioがより良い選択肢です。 LM Studioの場合、こちらの手順に従ってください:
- ウェブサイトhttps://lmstudio.ai/からLM Studioをダウンロードしてインストールします。
- LM Studio内からLLMモデルを選択してダウンロードします。現時点では、Llama3 8bの使用をお勧めします。
- チャットタブに切り替えて、ダウンロードしたモデルを読み込みます。
- 「Local Server」タブに移動し、「Start Server」をクリックします。ポート番号をメモしておいてください(デフォルトは1234)。
OobaBoogaの場合、こちらの手順に従ってください:
- ダウンロードしてインストールするための手順はこちらhttps://github.com/oobabooga/text-generation-webuiに従ってください。
- DanceXRでWebUIを使用するためには、APIを有効にする必要があります。これを行うには、CMD_FLAGS.txtファイルを開いて、そこに「–listen –api」と追加し、再起動します。
- 実行中に、モデルタブに移動して、モデルをダウンロードします(すでに持っていない場合)。
- 以下の2つのモデルのいずれかを使用することをお勧めします:https://huggingface.co/TheBloke/Luna-AI-Llama2-Uncensored-GPTQ(7b、実行が容易)https://huggingface.co/TheBloke/Nous-Hermes-Llama2-GPTQ(13b、スマート)
- モデルリストを更新して読み込みます。デフォルトのポート番号は5000です。
DanceXRの設定:
- DanceXRで、AI Service -> Select Serviceから「Local WebUI」を選択します。
- サーバーのURLとポート番号を入力します。たとえば、「http://127.0.0.1:1234」(LM Studio)または「http://127.0.0.1:5000」(OobaBooga)。
Runpodなどのリモートサービスを使用してWebUIを実行
GPUをレンタルしてAIモデルを実行できるサービスがあります。Runpodがその1つです。彼らはWebUI用のテンプレートを持っており、ローカルで実行するよりも簡単にセットアップできます。
利点:
- 速くて簡単
- 実行できないローカルGPU上で実行するモデルを選択できます。
欠点:
- OpenAIよりもやや高価
- モデルを実行するたびにダウンロードする必要がありますが、数分で完了します。
セットアップ:
- 「Community Cloud」からGPUを選択し、「Deploy」をクリックします。3080tiは13bモデルを実行するのに十分です。1時間あたり26セントかかります。
- テンプレートドロップダウンから「RunPod TheBloke LLMs」を選択します。
- 実行中に、接続をクリックすると、WebUIとAPIのリンクが表示されます。APIのURLをコピーして、DanceXRの「Remote WebUI URL」ボックスに貼り付けます。
- WebUIリンクをクリックして、モデルタブに移動して、モデルをダウンロードします。
- 以下の2つのモデルのいずれかを使用することをお勧めします:https://huggingface.co/TheBloke/Luna-AI-Llama2-Uncensored-GPTQ(7b、実行が容易)https://huggingface.co/TheBloke/Nous-Hermes-Llama2-GPTQ(13b、スマート)
- モデルリストを更新して読み込みます。
チャットコントロール
テンプレート
テンプレートは、AIモデルにチャットメッセージを生成させるためのものです。複雑なように思えるかもしれませんが、実際には非常にシンプルです。chat/templatesフォルダを開いて、デフォルトのテンプレートを見ることで、その動作を確認できます。
基本的には、平文で特定のことを誰かに指示するようなものです。デフォルトのテンプレートを変更して、異なる名前で保存して、チャットコンテンツにどのように影響するかを確認できます。たとえば、環境の説明を追加して、チャットのシナリオを設定することができます。
DanceXRでは、Chat Settings -> Templatesに移動して、作成したテンプレートを選択します。
キャラクター
キャラクターは、俳優モデルの名前から派生しています。たとえば、「Koharu Bouquet Cattleya Hair B Side Ponytail」という名前の場合、「Koharu」がキャラクター名として解釈され、残りの「Bouquet Cattleya Hair B Side Ponytail」が彼女の衣装の説明として使用されます。
キャラクター設定では、キャラクターの説明や性格を入力でき、それがチャットでの振る舞いに大きな影響を与えます。たとえば、誇り高く傲慢なキャラクターを「従順で喜んで従う」と表現するだけで、そのキャラクターの振る舞いが大きく変わります。
「Player」も技術的にはキャラクターです。自分自身の名前、説明、性格を変更して、自分が望むようなキャラクターになることができます。
ペルソナ
キャラクター設定には、ペルソナドロップダウンもあります。これにより、TavernAIなどのAIロールプレイプログラムからダウンロードしたキャラクターを使用できます。これらは通常、PNG形式で提供されます。PNG画像のメタデータにはキャラクターの説明が含まれています。
このオンラインキャラクターエディタを使用して、PNGキャラクターをjson形式に変換しますhttps://zoltanai.github.io/character-editor/
次に、jsonを「chat/personas」フォルダに配置すると、キャラクター設定のペルソナドロップダウンに表示されます。これを行うと、ペルソナの説明がキャラクターの説明を上書きします。
チャット履歴
新しいコンテンツを生成するたびに、チャット履歴がAIに送信され、コンテキストを維持するために使用されます。異なるシナリオやトピックに切り替えたい場合は、最初に履歴をクリアして、AIが以前のチャットコンテキストに影響を受けないようにします。これを使用して環境を操作し、チャットを進めることもできます。たとえば、メッセージで何かが起こったことを説明すると、AIはそのコンテキストを継続します。
プロンプト制限に達すると、最も古いメッセージは無視され、コンテキストに含まれません。つまり、AIは過去に遡ることができない可能性があります。
チャットインターフェースでは、チャットメッセージの横にあるアイコンをクリックして、チャット履歴を操作できます。オプションには次のものがあります:
- Regenerate: 以下のすべてのメッセージを削除し、AIにこのメッセージを再生成させる
- Rewrite: メッセージを引き継いで自分で書き直す。これを行う場合は、メッセージの前に名前とコロンを保持する必要があります。そうしないと、システムはこのメッセージの送信元を認識できません。
- Replay: このメッセージからチャット履歴を再生する
- Delete Entry: このメッセージを削除する
- Remove above: これより上のすべてのメッセージを削除する
- Remove below: これより下のすべてのメッセージを削除する
Temperature
この値は、AIモデルがチャットメッセージを生成する際の自由度を制御します。画像生成と同様に、同じ入力でも、生成は毎回わずかに異なり、Temperatureはその変動範囲を制御します。
Presense PenaltyとFrequency Penalty
これらの値を増やすと、AIが繰り返しコンテンツを生成する可能性が低くなります。
Max Generate TokensとMax Prompt Length
LLMにはトークン制限があり、この制限を超えるコンテンツは正しく生成されません。
Auto GenerateとGenerate For Player
「Auto Generate Next」をオンにして、タイマーが終了するとAIが自動的に次のメッセージを生成できるようにします。
「Generate For Player」をオンにして、AIがプレイヤーのためにメッセージを生成できるようにします。