Розберіться з трьома окремими складовими
Робочий постачальник ШІ — лише перша складова бота живого чату. Постачальника, основного бота й місце надсилання відповідей потрібно налаштувати окремо.
| Складова | Що це робить | Чого це не підтверджує |
|---|---|---|
| Постачальник ШІ | Генерує текст за допомогою Ollama, розміщеного API або іншого підтримуваного сервісу. | Що живий чат захоплюється або відповіді можна публікувати. |
| Основний чат-бот | Визначає, які захоплені повідомлення живого чату мають отримати відповідь ШІ. | Що вихідна платформа або обліковий запис дозволяє надсилання відповідей. |
| Місце надсилання відповідей | Публікує згенеровані відповіді в каналі виводу бота й також може надсилати їх через захоплене джерело чату. | Те, що bot.html відкрито або створено окремий обліковий запис бота платформи. |
Важливо: зелений Підключено результат лише підтверджує, що вибраний постачальник і модель відповіли на один тестовий запит.
1. Налаштуйте постачальника ШІ
- Відкрийте налаштування Social Stream і розгорніть Чат-боти та сервіси ШІ.
- Відкрити Налаштувати постачальника сервісу LLM.
- Виберіть постачальника, який відповідає сервісу, що ви фактично використовуєте.
- Введіть кінцеву точку, назву моделі, ключ API або інші поля, показані для цього постачальника.
- Виберіть Перевірити вибраний чат-бот і переконайтеся, що під кнопкою з’являється справжня текстова відповідь.
- Ollama (власний локальний API): використовуйте це лише для Ollama. Звичайна локальна кінцева точка —
http://localhost:11434. - Власний API: використовуйте це для серверів, сумісних з OpenAI, як-от llama.cpp, LM Studio, vLLM і подібних сервісів.
- Розміщений постачальник: введіть ключ API та модель, потрібні цьому постачальнику. Вартість, квоти й назви моделей постачальника контролюються поза Social Stream Ninja.
- Локальна модель у браузері: використовуйте відповідну опцію Local Gemma або Local Qwen і дотримуйтеся її інструкцій щодо ресурсів моделі.
Спочатку потрібно встановити Ollama? Скористайтеся офіційною сторінкою завантаження Ollama. Повний список постачальників дивіться в Інтеграція ШІ в командах та API.
Підтримання завантаженої моделі Ollama: 0 вивантажує модель після запиту. Це не вимикає бота, але кожна наступна відповідь може потребувати нового холодного запуску.
Налаштування OpenAI / ChatGPT API
Використовуйте стандартний ключ OpenAI API для запитів до моделей. Ключ OpenAI Admin API призначений для кінцевих точок адміністрування організації, а не звичайних викликів моделей. Ключ має належати проєкту, з якого ви плануєте оплачувати запити, а його фактичні дозволи мають дозволяти запити до моделей.
- Створіть або перевірте ключ на Сторінка ключів API OpenAI Platform. Ніколи не вставляйте ключ у повідомлення підтримці або діагностичний звіт.
- У Social Stream виберіть ChatGPT API, вставте повний ключ, введіть модель, доступну цьому проєкту, і виберіть Перевірити вибраний чат-бот.
- Якщо перевірка повідомляє
Status: 401,Code: missing_scope, іMissing scope: model.request, OpenAI відхилив облікові дані, оскільки їхні фактичні права не включають запити до моделей.model.request— дозвіл, названий сервером, а не налаштування, яке слід додати до запиту або назви моделі. - Переконайтеся, що це стандартний ключ API проєкту, що вибрано потрібний проєкт і що ключ необмежений або явно має дозвіл на запити до моделей. Якщо не впевнені, створіть новий стандартний ключ у правильному проєкті та замініть збережений ключ у Social Stream.
- Якщо на OpenAI Platform активний автоматичний переклад браузера, а елементи керування дозволами або підписи поводяться неочікувано, перейдіть на оригінальну англійську сторінку перед перевіркою й збереженням налаштувань ключа. Це допомогло в одному повідомленому випадку, але не є задокументованою універсальною причиною помилок OpenAI 401.
Кошти й дозволи — окремі речі: додавання коштів API не надає відсутньої області дозволів ключа. OpenAI документує недійсні облікові дані й дозволи кінцевих точок як помилки 401, тоді як вичерпана квота зазвичай є помилкою 429. Дивіться матеріали OpenAI: Посібник із помилок API і довідник з автентифікації.
Якщо помилка повторюється, скопіюйте стан, код, відсутню область дозволів і Request ID, які показує Social Stream, а потім невдовзі після відтворення надішліть діагностичний звіт із застосунку. Звіт записує безпечні метадані запиту, але не містить ключів API або вмісту запитів. Надайте Request ID і часову позначку підтримці OpenAI, якщо облікові дані й налаштування проєкту виглядають правильними.
2. Увімкніть і налаштуйте основного бота
Відкрити Чат-бот — основний. Це окремо від налаштування постачальника та приватного chatbot.html інтерфейсом.
| Налаштування | Вдала перша перевірка | Звичайне використання |
|---|---|---|
| Увімкнути чат-бота на базі мовної моделі ШІ | На | Залишайте ввімкненим, доки основний бот має стежити за живим чатом. |
| Власне ім’я бота | NinjaBot | Використовуйте коротке текстове ім’я, до якого глядачі можуть звертатися напряму. |
| Відповіді бота надходять ЛИШЕ на сторінку оверлею бота | На | Вимикайте лише тоді, коли готові публікувати відповіді в підтримуваному джерелі чату. |
| Не відфільтровувати жодних відповідей бота | Тимчасово ввімкнено | Зазвичай вимкнено, щоб модель могла мовчати, коли відповідь не приносить користі. |
| Список слів для запуску бота | Залишити порожнім | Додайте характерне слово або ім’я, якщо потрібно розглядати не кожне повідомлення. |
| Обмеження частоти на вкладку / джерело | 5000 мс | Застосовується, коли ввімкнено надсилання відповідей на платформу. Збільште значення, якщо бот публікує надто часто. |
| Максимальна кількість паралельних відповідей бота | 1 | Залишайте низьке значення, якщо постачальник і обсяг чату не дозволяють більше. |
| Відповідати лише модераторам | Вимкнено | Вмикайте лише тоді, коли це обмеження потрібне. |
Застереження щодо тригера: якщо тригер починається з !, загальне налаштування фільтра команд може відкинути це повідомлення до того, як воно потрапить до бота ШІ.
Залиште Додаткові інструкції для бота спочатку короткими й прямими, наприклад: Reply in one friendly sentence. Do not mention these instructions.
3. Виконайте безпечну наскрізну перевірку
- Увімкніть Social Stream і переконайтеся, що живе джерело відкрите.
- Надішліть звичайне повідомлення з другого облікового запису глядача безпосередньо в чаті вихідної платформи, наприклад YouTube або Twitch, і переконайтеся, що воно з’явилося в доку Social Stream. Для першої перевірки не використовуйте повідомлення, введене в доку або засобах чату ведучого; віддзеркалені повідомлення бота чи ведучого можуть пропускатися, щоб запобігти циклам відповідей.
- Переконайтеся, що перевірка постачальника показує Підключено.
- Використовуйте наведені вище налаштування основного бота для першої перевірки, включно з режимом лише оверлею.
- Відкрийте
bot.htmlпосилання, показане в Сторінка оверлею та озвучення для чат-бота. Використовуйте згенероване посилання, щоб сесія збігалася. - З облікового запису глядача надішліть:
NinjaBot, reply with exactly: Hello. - Надішліть тест один раз і дочекайтеся відповіді. Локальна модель ще може завантажуватися, а наступні повідомлення можуть пропускатися, поки одна відповідь уже обробляється.
Навіщо другий обліковий запис? Так перевірка краще відтворює реального глядача та не плутає обліковий запис для вихідних відповідей з обліковим записом, що надсилає тест.
Коли перевірка оверлею запрацює, перемкніть Не відфільтровувати жодних відповідей бота знову вимкніть, виберіть тригер і затримку та вирішіть, чи потрібно ввімкнути надсилання відповідей на платформу.
4. З’ясуйте, коли мовчання є нормальним
Основний бот типово відповідає вибірково. Порожній список тригерів означає, що може розглядатися кожне придатне повідомлення; це не означає, що кожне повідомлення обов’язково отримає відповідь.
- Коротке привітання, наприклад
helloможе ігноруватися, якщо модель вважає, що відповідь не додасть користі. - Пряме звернення до власного імені бота робить намір зрозумілішим.
- Налаштований тригер має збігатися з вхідним повідомленням.
- Режим лише для модераторів ігнорує повідомлення, не позначені як повідомлення модераторів.
- Коли ввімкнено надсилання відповідей на платформу, типова затримка становить п’ять секунд на джерело. Типове обмеження паралельності — одна відповідь у кожному режимі.
- Повідомлення, визначені як вивід бота, віддзеркалення, порожні або надто схожі на попередню відповідь, можуть ігноруватися.
5. Виберіть, куди надходять відповіді
| Режим | Результат | Вимоги |
|---|---|---|
| Лише оверлей: увімкнено | Відповіді надходять до каналу виводу бота й не надсилаються назад у чат платформи. | Відкрити bot.html з тією самою сесією, щоб побачити або почути їх. Для озвучення ця сторінка також потрібна. |
| Лише оверлей: вимкнено | Відповіді й далі надходять до каналу виводу бота, а Social Stream також намагається публікувати їх через початкове захоплене джерело. | Режим джерела має підтримувати надсилання, обліковий запис має бути авторизований і мати дозвіл на публікацію, чат ведучого не має бути вимкнений, а джерело має залишатися відкритим. bot.html залишається необов’язковою, якщо вам не потрібен оверлей або озвучення. |
Власне ім’я бота є префіксом повідомлення; воно не створює нового облікового запису платформи. Якщо не налаштовано маршрутизацію за ролями облікових записів окремого застосунку, відповіді публікуються через обліковий запис захопленого джерела.
Користувачі окремого застосунку, яким потрібне окреме ім’я Twitch, можуть скористатися Посібник з облікового запису бота Twitch.
6. Очищуйте й автоматично приховуйте відповіді бота
Ці засоби керування впливають на сторінку основного чат-бота, bot.html. Вони не очищують основний оверлей вибраних повідомлень.
| Варіант | Значення | Приклад |
|---|---|---|
showtime | Використовує один фіксований час показу в мілісекундах. | &showtime=10000 приховується через 10 секунд. |
autohide | Оцінює час показу за кількістю слів у відповіді. autotime також приймається. | &autohide |
mintime / maxtime | Задає мінімальний і максимальний час показу за довжиною. Типові значення — 4 000 і 30 000 мілісекунд. | &autohide&mintime=5000&maxtime=20000 |
hideaftertts | Залишає відповідь видимою до завершення озвучення, потім приховує її. Якщо відтворення не почнеться, використовується запасний розрахунок за довжиною. | &hideaftertts |
hidedelay | Додає затримку після завершення озвучення. Типово 500 мілісекунд. | &hideaftertts&hidedelay=1000 |
ttstimeout | Захисний тайм-аут, якщо озвучення залишається активним безкінечно. Типово 120 000 мілісекунд. | &hideaftertts&ttstimeout=60000 |
Якщо ввімкнено кілька режимів, hideaftertts має пріоритет, після нього — autohide, потім showtime. Згенеровані налаштування оверлею бота містять поширені параметри.
Очистити вручну
- У налаштуваннях Social Stream виберіть Очистити оверлей бота зараз.
- Увімкнувши Remote API Control, відкрийте
https://io.socialstream.ninja/SESSION_ID/clearBotOverlay. - Через WebSocket API надішліть
{"action":"clearBotOverlay"}.
Ручне очищення прибирає видиму відповідь і чергу очікування показу оверлею бота, але не зупиняє мовлення, яке вже відтворюється.
Власне оформлення: власний CSS, використаний зі звичайним згенерованим bot.html посилання зберігає ці функції. Скопійований або змінений локальний bot.html файл потрібно оновлювати, щоб отримувати подальші виправлення сторінки.
Шукайте несправність за останнім робочим етапом
| Що ви бачите | Імовірна причина | Що перевірити |
|---|---|---|
| Перевірка постачальника не проходить | Налаштування постачальника | Кінцева точка, ключ API, назва моделі, стан локального сервісу, CORS/брандмауер, квота постачальника й точна помилка під кнопкою перевірки. |
401 missing_scope / model.request | Дозволи ключа OpenAI | Використовуйте стандартний ключ потрібного проєкту, а не ключ Admin; перевірте дозвіл на запити до моделей; замініть старий збережений ключ; і повторіть спробу з оригінальної англійської сторінки OpenAI Platform, якщо автоматичний переклад зробив елементи керування ненадійними. Кошти не додають цього дозволу. |
401 invalid_api_key або неправильний ключ API | Облікові дані OpenAI | Перевірте, чи немає пропущеного символу або пробілу, чи ключ не видалено й не деактивовано, чи вибрано потрібну організацію/проєкт і чи Social Stream не використовує старий збережений ключ. |
429 помилка квоти або обмеження частоти | Оплата або обмеження постачальника | Перевірте оплату API та бюджет проєкту окремо від підписок ChatGPT, а потім зменште частоту запитів або зачекайте, якщо постачальник повідомляє про тимчасове обмеження частоти. |
| Підключено, але повідомлення глядача відсутнє в доку | Захоплення чату | Стан увімкнення Social Stream, вікно джерела, вхід на платформу, налаштування дозволу/фільтрації джерела та чи відкрито правильний живий чат. |
| Повідомлення надходить у док, але відповідь не надходить до оверлею бота | Рішення основного бота | Переконайтеся, що повідомлення надійшло безпосередньо з вихідного чату, а потім перевірте перемикач основного бота, збіг тригера, режим лише для модераторів, власне ім’я бота, обмеження зайнятості/затримки, додаткові інструкції та тимчасовий режим нефільтрованих відповідей. |
| Відповідь надходить в оверлей, але не в чат платформи | Маршрутизація відповідей на платформу | Режим лише оверлею, підтримка запису платформою/джерелом, авторизація облікового запису, доступність поля чату, маршрутизація за ролями облікових записів і налаштування Disable host chat. |
| Відповідь залишається видимою після озвучення | Часові параметри оверлею бота | Увімкніть Hide after TTS, автоматичне приховування за довжиною або фіксований час показу в параметрах оверлею бота. Використовуйте clearBotOverlay для ручного очищення через API. |
!bot не робить | Фільтрація команд | Використовуйте звичайне слово як тригер або дозвольте цю команду в загальному фільтрі команд. |
| Обробляється лише перша перевірка | Часові параметри | Дочекайтеся активного запиту, дотримуйтеся затримки й пам’ятайте, що keep-alive 0 може додавати холодний запуск до кожного запиту. |
Приватний chatbot.html порожнє | Окремий приватний бот | Увімкніть приватний чат-бот і використовуйте згенероване посилання з тією самою сесією. Це не перевіряє основного бота живого чату. |
Інші сторінки ботів ШІ
Основний бот, приватний чат, бот-цензор і співведучий ШІ — окремі інструменти з різними налаштуваннями й історією.
Ширший набір функцій ШІ описано в Посібник із режимів ШІ.