Настройка ИИ-чат-бота

Пусть ИИ отвечает вашим зрителям в чате, на экране или вслух.

Настройте за 6 шагов

  1. В настройках Social Stream откройте Чат-боты и службы ИИ → Настроить поставщика LLM.
  2. Выберите ИИ (см. ниже) и заполните появившиеся поля.
  3. Нажмите Проверить выбранного чат-бота. Под кнопкой должен появиться настоящий текстовый ответ.
  4. Открыть Chat Bot - Primary («Основной бот для чата») и включите Включить ИИ-бота для чата на основе языковой модели.
  5. Включите Ответы бота отправляются ТОЛЬКО на страницу оверлея бота на время проверки. Так ответы не попадут в настоящий чат.
  6. Откройте bot.html в разделе Страница оверлея и озвучивание для бота чата.
Раздел Configure LLM с выбранной Ollama, заполненными полями локального адреса и модели и результатом проверки провайдера Connected
«Подключено» означает, что ИИ ответил. Это не включает бота.
Три части, все обязательны: ИИ (пишет ответ), основной бот (выбирает сообщения для ответа) и место назначения (оверлей, чат или оба). Зелёный статус Подключено (Connected) подтверждает только первую часть.

Выберите ИИ

Я использую…Выберите это
Ollama на моём компьютереOllama (Native Local API). Обычный адрес — http://localhost:11434.
LM Studio, llama.cpp, vLLM или аналогСобственный API. Не используйте это для Ollama.
Платный сервис, например OpenAI или GeminiЭтот сервис. Введите его API-ключ и модель. Цены, лимиты и названия моделей устанавливает провайдер.
Пока ничего; хочу запускать в браузереЛокальная Gemma или Локальный Qwen. Следуйте инструкциям по скачиванию модели.

Нужна Ollama? Скачайте её со страницы загрузки Ollama. Полный список провайдеров: Интеграция ИИ в разделе «Команды и API».

Keep-alive Ollama установлен в 0?

Это выгружает модель после каждого запроса. Бот продолжает работать, но каждый ответ может задерживаться из-за повторной загрузки модели.

Проверьте

Используйте эти настройки в Chat Bot - Primary («Основной бот для чата») для первой проверки.

НастройкаПервая проверкаПозже
Включить ИИ-бота для чата на основе языковой моделиНа страницеОставьте включённым, пока бот должен следить за чатом.
Настроить имя ботаNinjaBotКороткое простое имя, которое зрители смогут набрать.
Ответы бота отправляются ТОЛЬКО на страницу оверлея ботаНа страницеВыключите, когда будете готовы писать в настоящий чат.
Не отсеивать ни один ответ ботаНа страницеОбычно выключено, чтобы бот мог пропускать бессмысленные ответы.
Список слов для запуска ботаПустоДобавьте слово, если бот не должен рассматривать каждое сообщение.
Интервал ответов на вкладку / источник5000 мсУвеличьте значение, если бот пишет слишком часто. Влияет только на отправку в чат.
Максимум одновременных ответов бота1Оставьте низкое значение, если ваш ИИ не справляется с большим.
Отвечать только модераторамВыключеноТолько если вам это нужно.

Запустите проверку

  1. Включите Social Stream и откройте источник живого чата.
  2. С другого аккаунта, напишите сообщение в настоящем чате YouTube или Twitch. Проверьте, появилось ли оно в Dock.
  3. С этого аккаунта отправьте: NinjaBot, reply with exactly: Hello
  4. Отправьте один раз и подождите. Локальный ИИ может ещё загружаться.
  5. Ответ должен появиться в bot.html странице.
Не проверяйте через Dock. Сообщения из Dock или чата ведущего могут намеренно пропускаться, чтобы бот не отвечал сам себе.

Когда всё заработает, выключите Не отсеивать ни один ответ бота снова. Затем выберите слово-триггер и интервал ответов и решите, нужно ли отправлять ответы в настоящий чат.

Оставьте Дополнительные инструкции боту сначала короткими, например: Reply in one friendly sentence. Do not mention these instructions.

Триггер начинается с !? Фильтр команд может отбросить сообщение до того, как его увидит бот. Используйте обычное слово.

Куда поступают ответы

Настройка «Только оверлей»Что происходитВам нужно
На страницеОтветы появляются только в оверлее бота. В чат ничего не отправляется.bot.html открытым в той же сессии. Это нужно и для TTS.
ВыключеноОтветы по-прежнему поступают в оверлей, а Social Stream также пытается отправить их в исходный чат.Открытый источник чата с поддержкой отправки, выполненным входом, разрешением писать и включённым чатом ведущего. bot.html необязательна.
Имя бота — не новый аккаунт. Он лишь добавляется в начало ответа. Ответы отправляются с аккаунта, в который вы вошли, если в отдельном приложении не настроены роли аккаунтов. Для отдельного аккаунта бота Twitch см. Руководство по учётной записи бота Twitch.

Почему бот молчит

Бот намеренно избирателен. Пустой список триггеров означает, что он рассматривает каждое сообщение, а не отвечает на каждое.

  • Короткие сообщения вроде hello могут пропускаться. Для ясности назовите бота по имени.
  • Если задано слово-триггер, сообщение должно его содержать.
  • Режим «Только модераторы» пропускает всех остальных.
  • По умолчанию он отвечает на одно сообщение за раз. При отправке в чат также выдерживает 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 и собственное оформление
  • При включённом удалённом управлении через API откройте https://io.socialstream.ninja/SESSION_ID/clearBotOverlay.
  • Или отправьте {"action":"clearBotOverlay"} через WebSocket API.

Собственный CSS в обычном bot.html сохраняет все эти функции. Скопированный или изменённый локальный файл bot.html не получит последующие исправления, пока вы его не обновите.

Устранение неполадок

Найдите последний работающий этап и проверьте следующую строку.

ПроблемаЧто попробовать
Кнопка проверки выдаёт ошибкуПрочтите ошибку под кнопкой. Проверьте адрес, API-ключ, название модели, работу локального ИИ, брандмауэр и лимиты провайдера.
Подключено, но сообщения зрителя нет в DockЧат не захватывается. Проверьте, включён ли Social Stream, открыто ли окно чата и выполнен ли вход, открыт ли нужный живой чат и правильно ли настроены фильтры источников.
Сообщение есть в Dock, но ответа в оверлее нетОтправьте его из настоящего чата платформы, не из Dock. Затем проверьте включение бота, слово-триггер, режим модераторов, имя бота, интервал ответов и инструкции. Включите Не отсеивать ни один ответ бота для проверки.
Ответ есть в оверлее, но не в чатеОтключите режим «Только оверлей». Проверьте поддержку отправки источником, разрешения аккаунта, доступность поля чата, роли аккаунтов и Отключить чат ведущего и функции блокировки.
!bot ничего не делаетИспользуйте обычное слово-триггер или разрешите эту команду в фильтре команд.
Ответ приходит только на первую проверкуДождитесь первого ответа и окончания интервала. Keep-alive 0 замедляет начало каждого ответа.
Ответ остаётся на экране после озвучкиИспользуйте Скрытие после TTS, автоматически или через заданное время.
Ошибка OpenAI, например 401 или 429См. Ошибки ключа OpenAI.
Личный chatbot.html пустоеВключите приватного чат-бота и используйте его ссылку с той же сессией. Это отдельный бот, поэтому основной бот так не проверяется.

Ошибки ключа OpenAI

  1. Создайте обычный API-ключ проекта на странице API-ключей OpenAI. Не ключ администратора.
  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 и настройки ключа ведут себя странно, откройте оригинальную английскую страницу. Это помогло одному пользователю, но не является известной причиной ошибок 401.
  • Скопируйте состояние, код, недостающее разрешение и Request ID из Social Stream. Вскоре после этого отправьте диагностический отчёт из приложения. Ключи API и промпты в него не включаются.
  • Если ключ и проект выглядят правильными, передайте поддержке OpenAI Request ID и время.

Другие страницы об ИИ-ботах

Основной бот, приватный чат, бот-цензор и ИИ-соведущий — отдельные инструменты. У каждого свои настройки и история.

Таблица сравнения оверлея основного бота, личного чат-бота, бота-цензора и ИИ-соведущего
Приватный бот не заменяет проверку основного бота.

Все функции ИИ смотрите в Руководство по режимам ИИ.