Configurar y utilizar el bot de chat con IA

Conecta un proveedor de IA, activa el bot principal, prueba de forma segura y resuelve problemas de respuestas ausentes.

Entiende las tres partes independientes

Un proveedor de IA que funciona es solo la primera parte de un bot de chat en vivo. Debes configurar el proveedor, el bot principal y el destino de las respuestas por separado.

ParteQué haceQué no demuestra
Proveedor de IAGenera texto con Ollama, una API alojada u otro servicio compatible.Que se esté capturando el chat en vivo o que se puedan publicar respuestas.
Bot principal de chatDecide qué mensajes capturados en vivo deben recibir una respuesta de IA.Que la plataforma o cuenta de origen permita enviar respuestas.
Destino de las respuestasPublica las respuestas generadas en el canal de salida del bot y también puede enviarlas por la fuente de chat capturada.Ese bot.html esté abierta o que se haya creado una cuenta de bot independiente en la plataforma.

Importante: un resultado verde Conectado (Connected) solo confirma que el proveedor y modelo seleccionados respondieron a una instrucción de prueba.

1. Configura un proveedor de IA

  1. Abre los ajustes de Social Stream y expande Bots de chat y servicios de IA.
  2. Abrir Configurar proveedor de servicio LLM (Configure LLM Service Provider).
  3. Elige el proveedor correspondiente al servicio que realmente estás ejecutando.
  4. Introduce el endpoint, nombre del modelo, clave de API u otros campos que se muestren para ese proveedor.
  5. Selecciona Probar chatbot seleccionado (Test selected chat bot) y confirma que aparece una respuesta real de texto debajo del botón.
Sección Configurar LLM con Ollama seleccionado, endpoint local y modelo rellenados, y prueba del proveedor con resultado Conectado
Esto confirma que respondieron el proveedor y el modelo. No activa el bot principal ni prueba la captura y publicación del chat en vivo.
  • Ollama (API local nativa): utiliza esto solo para Ollama. El endpoint local habitual es http://localhost:11434.
  • API personalizada: utiliza esto para servidores compatibles con OpenAI como llama.cpp, LM Studio, vLLM y servicios similares.
  • Proveedor alojado: introduce la clave de API y el modelo que requiere ese proveedor. Los costos, cuotas y nombres de modelos los controla el proveedor fuera de Social Stream Ninja.
  • Modelo local en el navegador: utiliza la opción correspondiente de Gemma local o Qwen local y sigue sus instrucciones sobre los archivos del modelo.

¿Necesitas instalar Ollama primero? Utiliza la página oficial de descarga de Ollama. Para la lista completa de proveedores, consulta Integración de IA en comandos y API.

Permanencia del modelo en Ollama (keep-alive): 0 descarga el modelo de la memoria después de una solicitud. No desactiva el bot, pero cada respuesta posterior puede necesitar otro arranque en frío.

Configuración de API de OpenAI / ChatGPT

Utiliza una clave estándar de API de OpenAI para solicitudes a modelos. Una clave de Admin API de OpenAI está destinada a endpoints de administración de la organización, no a llamadas normales a modelos. La clave debe pertenecer al proyecto que quieras facturar y sus permisos efectivos deben permitir solicitudes a modelos.

  1. Crea o revisa la clave en la página de claves de API de OpenAI Platform. Nunca pegues la clave en un mensaje de soporte ni en un informe de diagnóstico.
  2. En Social Stream, selecciona API de ChatGPT, pega la clave completa, introduce un modelo disponible para ese proyecto y selecciona Probar chatbot seleccionado (Test selected chat bot).
  3. Si la prueba informa de Status: 401, Code: missing_scope, y Missing scope: model.request, OpenAI rechazó la credencial porque sus permisos efectivos no incluyen solicitudes a modelos. model.request es un permiso que indica el servidor, no un ajuste que debas añadir a las instrucciones o al nombre del modelo.
  4. Confirma que sea una clave estándar de API del proyecto, que esté seleccionado el proyecto esperado y que la clave no tenga restricciones o tenga permiso explícito para solicitudes a modelos. Si tienes dudas, crea una clave estándar nueva en el proyecto correcto y sustituye la guardada en Social Stream.
  5. Si la traducción automática del navegador está activa en OpenAI Platform y los controles o etiquetas de permisos se comportan de forma inesperada, cambia a la página original en inglés antes de revisar y guardar los ajustes de la clave. Esto ayudó en un caso reportado, pero no es una causa universal documentada de errores 401 de OpenAI.

Los créditos y los permisos son independientes: añadir crédito de API no concede un ámbito que falta en la clave. OpenAI documenta las credenciales no válidas y los permisos de endpoints como errores 401, mientras que una cuota agotada normalmente produce un error 429. Consulta la guía de errores de API y referencia de autenticación.

Si el error continúa, copia el estado, código, ámbito que falta y Request ID que muestra Social Stream; luego envía el informe de diagnóstico desde la aplicación poco después de reproducirlo. El informe registra metadatos seguros de las solicitudes, pero excluye claves de API y contenido de instrucciones. Proporciona a soporte de OpenAI el Request ID y la fecha y hora si la credencial y los ajustes del proyecto parecen correctos.

2. Activa y configura el bot principal

Abrir Bot de chat - Principal (Chat Bot - Primary). Esto es independiente tanto de la configuración del proveedor como de la interfaz privada chatbot.html interfaz.

AjusteBuena primera pruebaUso normal
Activar el bot de chat de IA LLM (Enable the LLM AI chat bot)Activado (On)Mantenlo activado mientras el bot principal deba vigilar el chat en vivo.
Personalizar nombre del bot (Customize bot name)NinjaBotUtiliza un nombre corto de texto sin formato al que los espectadores puedan dirigirse directamente.
Las respuestas del bot SOLO van a la página de superposición del botActivado (On)Desactívalo solo cuando estés listo para enviar respuestas a una fuente de chat compatible.
No filtrar ninguna respuesta del bot (Do not screen out any of the bot's replies)Activado temporalmenteNormalmente desactivado para que el modelo pueda guardar silencio cuando una respuesta no resulte útil.
Lista de palabras para activar el bot (List of words to trigger bot)Dejar vacíoAñade una palabra o nombre distintivo si no quieres que se considere cada mensaje.
Límite de frecuencia por pestaña/fuente (Rate limit per tab / source)5000 msSe aplica cuando está activado el envío de respuestas a la plataforma. Auméntalo si el bot publica demasiado.
Máximo de respuestas paralelas del bot (Max parallel bot replies)1Mantenlo bajo salvo que el proveedor y el volumen de chat permitan más.
Responderá solo a moderadores (Will respond to Moderators only)DesactivadoActívalo solo cuando esa restricción sea intencional.

Aviso sobre activadores: si un activador empieza por !, el filtro global de comandos puede descartar ese mensaje antes de que llegue al bot de IA.

Mantén Instrucciones adicionales del bot (Additional Bot Instructions) cortas y directas al principio, por ejemplo: Reply in one friendly sentence. Do not mention these instructions.

3. Realiza una prueba completa segura

  1. Enciende Social Stream y confirma que la fuente en vivo esté abierta.
  2. Envía un mensaje normal desde una segunda cuenta de espectador directamente en el chat de la plataforma de origen, como YouTube o Twitch, y confirma que aparece en el panel de Social Stream. No utilices un mensaje escrito en el panel ni en los controles del chat del anfitrión para esta primera prueba; los mensajes reflejados del bot o del anfitrión pueden omitirse para evitar bucles de respuestas.
  3. Confirma que la prueba del proveedor diga Conectado (Connected).
  4. Utiliza los ajustes del bot principal para la primera prueba indicados arriba, incluido el modo de solo superposición.
  5. Abre: bot.html enlace que aparece en Página de superposición y TTS para el bot de chat. Utiliza el enlace generado para que tenga la misma sesión.
  6. Desde la cuenta del espectador, envía: NinjaBot, reply with exactly: Hello.
  7. Envía la prueba una vez y espera la respuesta. Un modelo local puede seguir cargándose, y los mensajes posteriores pueden omitirse mientras ya se genera una respuesta.

¿Por qué utilizar una segunda cuenta? Se parece más a un espectador real y evita confundir la cuenta utilizada para enviar respuestas con la que envía la prueba.

Cuando funcione la prueba de la superposición, desactiva No filtrar ninguna respuesta del bot (Do not screen out any of the bot's replies) de nuevo, elige un activador y un tiempo de espera y decide si debe estar activado el envío de respuestas a la plataforma.

4. Entiende cuándo es normal que no responda

El bot principal es selectivo de forma predeterminada. Una lista de activadores vacía significa que se puede considerar cualquier mensaje válido; no significa que cada mensaje deba recibir respuesta.

  • Un saludo corto como hello puede ignorarse si el modelo no considera que una respuesta aporte valor.
  • Dirigirse directamente al nombre personalizado del bot aclara la intención.
  • Un activador configurado debe coincidir con el mensaje entrante.
  • El modo exclusivo para moderadores ignora los mensajes que no estén marcados como mensajes de moderador.
  • Cuando está activado el envío de respuestas a la plataforma, el tiempo de espera predeterminado es cinco segundos por fuente. El límite de respuestas paralelas predeterminado es una respuesta en todos los modos.
  • Se pueden ignorar mensajes identificados como salida de bot, reflejos, mensajes vacíos o demasiado parecidos a la respuesta anterior.

5. Elige dónde van las respuestas

ModoResultadoRequisitos
Solo superposición activadoLas respuestas van al canal de salida del bot y no se envían de vuelta al chat de la plataforma.Abrir bot.html con la misma sesión para verlas o escucharlas. TTS también requiere esta página.
Solo superposición desactivadoLas respuestas siguen yendo al canal de salida del bot, y Social Stream también intenta publicarlas mediante la fuente capturada de origen.El modo de fuente debe admitir envío, la cuenta debe tener la sesión iniciada y permiso para publicar, el chat del anfitrión no debe estar desactivado y la fuente debe permanecer abierta. bot.html sigue siendo opcional salvo que quieras la superposición o TTS.

El nombre personalizado del bot es un prefijo de mensaje; no crea una cuenta nueva en la plataforma. Salvo que esté configurado el enrutamiento por rol de cuenta de la aplicación independiente, las respuestas se publican mediante la cuenta de la fuente capturada.

Los usuarios de la aplicación independiente que quieran una identidad de Twitch separada pueden seguir la guía de cuenta de bot de Twitch.

6. Borra y oculta automáticamente las respuestas del bot

Estos controles afectan a la página del bot principal de chat, bot.html. No borran la superposición principal de mensajes destacados.

OpciónSignificadoEjemplo
showtimeUtiliza un tiempo fijo de visualización en milisegundos.&showtime=10000 se oculta después de 10 segundos.
autohideCalcula el tiempo de visualización según el número de palabras de la respuesta. autotime también se acepta.&autohide
mintime / maxtimeEstablece los tiempos mínimo y máximo de visualización según la longitud. Los valores predeterminados son 4000 y 30 000 milisegundos.&autohide&mintime=5000&maxtime=20000
hideafterttsMantiene visible la respuesta hasta que termina TTS y luego la oculta. Si la reproducción nunca comienza, se utiliza un tiempo alternativo basado en la longitud.&hideaftertts
hidedelayAñade una pausa después de que termine TTS. El valor predeterminado es 500 milisegundos.&hideaftertts&hidedelay=1000
ttstimeoutTiempo de seguridad si TTS permanece activo indefinidamente. El valor predeterminado es 120 000 milisegundos.&hideaftertts&ttstimeout=60000

Si hay varios modos activados, hideaftertts tiene prioridad, seguido de autohide, luego showtime. Los ajustes generados de la superposición del bot ofrecen las opciones habituales.

Borrarla manualmente

  • En los ajustes de Social Stream, selecciona Borrar ahora la superposición del bot (Clear bot overlay now).
  • Con Control remoto de API activado, abre https://io.socialstream.ninja/SESSION_ID/clearBotOverlay.
  • Mediante el WebSocket de API, envía {"action":"clearBotOverlay"}.

Borrar manualmente elimina la respuesta visible y la cola pendiente de visualización del bot, pero no detiene la voz que ya se está reproduciendo.

Estilo personalizado: el CSS personalizado utilizado con el enlace normal generado bot.html conserva estas funciones. Un archivo local copiado o modificado bot.html debe actualizarse para recibir las correcciones posteriores de la página.

Resuelve problemas a partir de lo último que funcionó

Qué vesÁrea probableQué comprobar
La prueba del proveedor fallaConfiguración del proveedorEndpoint, clave de API, nombre del modelo, estado del servicio local, CORS/firewall, cuota del proveedor y el error exacto bajo el botón de prueba.
401 missing_scope / model.requestPermisos de la clave de OpenAIUtiliza una clave estándar del proyecto deseado, no una clave Admin; verifica que permita solicitudes a modelos; sustituye las claves antiguas guardadas; y vuelve a intentarlo desde la página original en inglés de OpenAI Platform si la traducción automática hizo poco fiables los controles. Los créditos no añaden este permiso.
401 invalid_api_key o clave de API incorrectaCredencial de OpenAIBusca caracteres o espacios ausentes, confirma que la clave no se eliminó ni desactivó, verifica la organización/proyecto deseados y asegúrate de que Social Stream no siga utilizando una clave guardada antigua.
429 error de cuota o límite de solicitudesFacturación o límites del proveedorConfirma la facturación de API y el presupuesto del proyecto por separado de las suscripciones de ChatGPT; luego reduce la frecuencia de solicitudes o espera si el proveedor informa de un límite temporal.
Conectado, pero falta el mensaje del espectador en el panelCaptura de chatEstado encendido/apagado de Social Stream, ventana de fuente, inicio de sesión en la plataforma, ajustes de permiso/filtro de fuentes y si está abierto el chat en vivo correcto.
El mensaje llega al panel, pero no llega respuesta a la superposición del botDecisión del bot principalConfirma que el mensaje vino directamente del chat de origen y comprueba la activación del bot principal, la coincidencia del activador, el modo exclusivo de moderadores, el nombre personalizado del bot, los límites de actividad y espera, las instrucciones adicionales y el modo temporal de respuestas sin filtrado.
La respuesta llega a la superposición, pero no al chat de la plataformaEnrutamiento de respuestas a la plataformaModo de solo superposición, compatibilidad de escritura de la plataforma/fuente, autorización de cuenta, disponibilidad del campo de chat, enrutamiento por rol de cuenta y el ajuste Desactivar chat del anfitrión.
La respuesta sigue visible después de TTSTiempos de la superposición del botActiva Ocultar después de TTS, ocultación automática según la longitud o un tiempo fijo de visualización en las opciones de la superposición del bot. Utiliza clearBotOverlay para borrar manualmente mediante API.
!bot no hace nadaFiltrado de comandosUtiliza una palabra normal como activador o permite ese comando en el filtro global de comandos.
Solo se procesa la primera pruebaTiemposEspera a que termine la solicitud activa, respeta el tiempo de espera y recuerda que keep-alive 0 puede añadir un arranque en frío a cada solicitud.
Privado chatbot.html esté vacíoBot privado independienteActiva la opción de bot privado y utiliza el enlace generado con la misma sesión. Esto no prueba el bot principal en vivo.

Otras páginas de bots de IA

El bot principal, el chat privado, el bot de censura y el copresentador de IA son herramientas independientes con ajustes e historiales distintos.

Tabla de referencia que compara la superposición del bot principal, el bot privado, el bot de censura y el copresentador de IA
Elige la página que corresponda a la tarea. El bot privado no sustituye las pruebas del bot principal de chat en vivo.

Para todas las funciones de IA, consulta la Guía de modos de IA.