AIチャットボットを設定する

AIが視聴者にチャット、画面表示、または音声で答えます。

6つの手順で設定する

  1. Social Streamの設定で次を開きます: Chat Bots and AI services → Configure LLM Service Provider.
  2. 使うAI(下記を参照)を選び、表示された欄を入力します。
  3. クリックする項目: 選択したチャットボットをテスト。ボタンの下に実際の文章の回答が表示されるはずです。
  4. 開く項目: チャットボット - メイン(Chat Bot - Primary) で、次を有効にします: LLM AIチャットボットを有効化(Enable the LLM AI chat bot).
  5. オンにする項目: ボットの返信をボットオーバーレイページだけに送る(Bot replies ONLY go to the bot overlay page) をひとまず使います。テスト中に実際のチャットへ投稿されなくなります。
  6. 開く項目: bot.html のリンクを次の項目から開きます: チャットボット用オーバーレイページと読み上げ.
Ollamaを選択し、ローカルのエンドポイントとモデルを入力済みで、プロバイダーテストがConnectedとなっているConfigure LLMセクション
ConnectedはAIが応答したという意味です。ボットは自動では有効になりません。
3つすべてが必要です: AI(回答を書く)、Primaryボット(どのチャットに答えるか選ぶ)、回答先(オーバーレイ、チャット、または両方)です。緑色の 接続済み(Connected) で確認できるのは最初の部分だけです。

AIを選ぶ

利用しているもの…選ぶ項目
自分のパソコン上のOllamaOllama(ネイティブローカルAPI)。一般的なアドレスは、 http://localhost:11434.
LM Studio、llama.cpp、vLLMなど独自API。Ollamaには使わないでください。
OpenAIやGeminiなどの有料サービスそのサービスを選び、APIキーとモデルを入力します。料金、制限、モデル名はサービス側が決めます。
まだ何もなく、ブラウザーで動かしたいLocal Gemma または Local Qwen。モデルのダウンロード手順に従います。

Ollamaが必要なら、次から入手してください: Ollamaのダウンロードページ。プロバイダーの全一覧: コマンドとAPIのAI連携.

Ollamaのkeep-aliveが0ですか?

要求のたびにモデルをメモリーから外します。ボットは動きますが、毎回モデルを読み直すため回答が遅くなる場合があります。

試す

次の場所で設定します: チャットボット - メイン(Chat Bot - Primary) を最初のテストに使います。

設定最初のテスト後で
LLM AIチャットボットを有効化(Enable the LLM AI chat bot)次のページで:ボットがチャットを監視する間はオンにします。
ボット名のカスタマイズ(Customize bot name)NinjaBot視聴者が入力しやすい、短くわかりやすい名前。
ボットの返信をボットオーバーレイページだけに送る(Bot replies ONLY go to the bot overlay page)次のページで:実際のチャットへ投稿する準備ができたらオフにします。
ボットの返信を一切選別しない(Do not screen out any of the bot's replies)次のページで:無意味な返信を省けるよう、通常はオフにします。
ボットを呼び出す単語一覧(List of words to trigger bot)空欄すべてのメッセージを検討させたくない場合は、単語を追加します。
タブ/ソースごとの回答頻度制限5000 ミリ秒投稿が多すぎる場合は増やします。チャットに投稿するときだけ適用されます。
ボット返信の最大並列数(Max parallel bot replies)1AIに十分な処理能力がない限り、低めにしてください。
モデレーターのみに返信(Will respond to Moderators only)オフ必要な場合だけです。

テストを実行する

  1. Social Streamをオンにして、ライブチャットのソースを開きます。
  2. 次を使います: 2つ目のアカウントを設定し、実際のYouTubeやTwitchのチャットにメッセージを送ります。Dockに表示されることを確認してください。
  3. そのアカウントから次を送ります: NinjaBot, reply with exactly: Hello
  4. 1回送ったら待ってください。ローカルAIがまだ読み込み中の場合があります。
  5. 回答は次に表示されるはずです: bot.html のページです。
Dockからテストしないでください。 ボットが自分に返信しないよう、Dockやホストチャットで入力したメッセージは意図的に無視されることがあります。

動作を確認したら、次を ボットの返信を一切選別しない(Do not screen out any of the bot's replies) を再びオフにします。その後、トリガーの単語と頻度制限を選び、実際のチャットにも投稿するか決めます。

次の項目は維持します: ボットへの追加指示(Additional Bot Instructions) は最初は短くします。例: Reply in one friendly sentence. Do not mention these instructions.

トリガーの先頭が !? ボットが見る前にコマンドフィルターで除外されている可能性があります。通常の単語に変えてください。

回答の送信先

overlay-onlyの設定動作必要なもの:
次のページで:回答はボットのオーバーレイだけに表示されます。チャットには投稿しません。bot.html を同じセッションで開きます。TTSにも必要です。
オフ回答はオーバーレイに表示され、Social Streamは元のチャットへの投稿も試みます。送信に対応し、ログイン済みで投稿権限があり、開いたままのチャットソース。ホストチャットを無効にしないでください。 bot.html は任意です。
ボット名を設定しても新しいアカウントは作られません。 名前は回答の先頭に付くだけです。デスクトップアプリでアカウントの役割を設定しない限り、ログイン中のアカウントから投稿されます。別のTwitchボット用アカウントについては、次をご覧ください: Twitchボットアカウントガイド.

ボットが応答しない理由

ボットは意図的に対象を選びます。トリガー一覧が空の場合は、 すべてのメッセージを検討する という意味で、すべてに答えるという意味ではありません。

  • 次のような短いメッセージ: hello などは無視される場合があります。ボットの名前を呼んで明確にしてください。
  • トリガーの単語を設定した場合、メッセージにその単語が含まれる必要があります。
  • モデレーター限定モードでは、それ以外の人を無視します。
  • 初期設定では1件ずつ回答します。チャットに投稿する場合は、ソースごとに5秒待ちます。
  • 自分のメッセージ、空のメッセージ、直前の返信から時間が空いていないメッセージは無視します。

古い回答を隠す

これらはボットオーバーレイ(bot.html)にのみ適用され、注目チャットのオーバーレイには適用されません。一般的な項目は設定画面のオーバーレイオプションにあります。

したいこと…リンクに追加
設定時間が過ぎたら回答を隠す&showtime=10000 (ミリ秒、つまり10秒)
長い回答は長く、短い回答は短く表示する&autohide (または &autotime)
自動で隠すまでの最短・最長時間を設定する&mintime=5000&maxtime=20000 (初期値4000と30000)
音声が終わったら隠す&hideaftertts
音声終了後に少し待つ&hidedelay=1000 (初期値500)
止まった音声を待つのをやめる&ttstimeout=60000 (初期値120000)

複数使っていますか? hideaftertts が優先され、次に autohide、次に showtime。音声が再生されない場合、 hideaftertts は、文章の長さに基づく時間へ切り替わります。

今すぐ消す

クリックする項目: 今すぐボットオーバーレイを消去 を設定で使います。表示中と待機中の回答は消えますが、すでに再生中の音声は止まりません。

APIから消す・見た目のカスタマイズ
  • Remote API Controlを有効にして、次を開きます: https://io.socialstream.ninja/SESSION_ID/clearBotOverlay.
  • または次を送ります: {"action":"clearBotOverlay"} をAPI WebSocket経由で送信します。

通常のオーバーレイに独自CSSを適用: bot.html のリンクはこれらすべてに対応します。コピーや編集したローカルの bot.html は自分で更新しない限り、後の修正が反映されません。

問題を解決する

最後に動いていた箇所を見つけ、その次の行を確認してください。

問題試すこと
テストボタンが失敗するボタン下のエラーを読んでください。アドレス、APIキー、モデル名、ローカルAIが実行中か、ファイアウォール、プロバイダーの制限を確認します。
接続済みだが視聴者のメッセージがDockにないチャットを取得できていません。Social Streamがオンか、チャットウィンドウが開いてログイン済みか、対象のライブチャットが開いているか、ソースフィルターを確認してください。
Dockにメッセージはあるがオーバーレイに回答がないDockではなく実際のプラットフォームのチャットから送信します。その後、ボットの有効状態、トリガーの単語、モデレーター限定、ボット名、頻度制限、指示を確認します。次を有効にしてください: ボットの返信を一切選別しない(Do not screen out any of the bot's replies) を試します。
オーバーレイに回答は出るがチャットには出ないoverlay-onlyを無効にしてください。ソースの送信対応、アカウントの投稿権限、入力欄の有無、アカウントの役割、次の設定を確認します: ホストチャットとブロック機能を無効にする.
!bot 何も起こりません通常の単語をトリガーにするか、コマンドフィルターでそのコマンドを許可してください。
最初のテストにしか返信がない最初の回答と頻度制限の解除を待ってください。keep-aliveの 0 だと、毎回回答の開始が遅くなります。
音声が終わっても回答が画面に残る使う項目: TTSの終了後、自動、または指定時間後に隠す.
次のようなOpenAIエラー: 401 または 429参照: OpenAIキーのエラー.
非公開 chatbot.html が空欄の場合プライベートチャットボットを有効にし、同じセッションのリンクを使います。別のボットなので、Primaryボットのテストにはなりません。

OpenAIキーのエラー

  1. 次のページで通常のプロジェクトAPIキーを作成します: OpenAIのAPIキーページ。Adminキーではありません。
  2. 請求先にしたいプロジェクト内にあり、モデルへの要求が許可されていることを確認してください。
  3. Social Streamで次を選びます: ChatGPT APIを選び、キー全体を貼り付け、プロジェクトで利用できるモデルを入力して、次をクリックします: 選択したチャットボットをテスト.
キーは絶対に貼り付けないでください: サポートへのメッセージや診断レポート。
エラー意味試すこと
401 missing_scope / model.requestそのキーにはモデルへの要求権限がありません。 model.request はOpenAIの権限名です。Social Streamへ入力するものではありません。正しいプロジェクトの通常のキーで、モデルへの要求が許可されているか確認してください。不明なら新しいキーを作り、保存済みのキーを置き換えます。
401 invalid_api_keyキーが間違っているか、削除されています。文字の抜けや余分な空白を確認してください。キーが削除されていないか、正しいプロジェクトか、Social Streamが古い保存済みキーを使っていないかも確認します。
429割り当て不足、または要求が多すぎます。APIの支払いと予算を確認してください。ChatGPTのサブスクリプションとは別です。頻度を下げるか、待ってください。

残高を追加しても401エラーは直りません。 残高と権限は別です。OpenAIの次の資料をご覧ください: エラーガイド および 認証リファレンス.

まだ解決しない場合
  • ブラウザーがOpenAIのサイトを自動翻訳していて、キーの設定がおかしい場合は、元の英語ページに切り替えてください。1人の利用者では改善しましたが、401エラーの既知の原因ではありません。
  • Social Streamに表示された状態、コード、不足している権限、Request IDをコピーしてください。その後すぐにアプリ内の診断レポートを送信してください。APIキーとプロンプトは含まれません。
  • キーとプロジェクトに問題がなさそうなら、Request IDと時刻をOpenAIサポートへ伝えてください。

その他のAIボットページ

Primaryボット、プライベートチャット、検閲ボット、AI共同ホストは別々のツールです。それぞれ独自の設定と履歴があります。

メインボットのオーバーレイ、非公開チャットボット、検閲ボット、AI共同司会の比較表
プライベートボットのテストでPrimaryボットのテストを代用できません。

すべてのAI機能はこちら: AIモードガイド.