Chatbot de Discourse 🤖

Hola Robert, ¿puedo poner este bot como moderador? Intenté hacerlo pero ni siquiera tengo la opción con el bot.

1 me gusta

Ese primer error no tiene nada que ver con Chat (“Post Embedding”). Este es inofensivo y ocurre cuando eliminas una Publicación poco después de su creación, antes de que el sistema haya tenido tiempo de crear un embedding. El evento de eliminación inicia un trabajo para eliminar el embedding correspondiente, que en tales casos falta. Puedes ignorarlo.

¿Podrías compartir el backtrace del segundo error, por favor? (desde la pestaña de registro).

Para invocar al bot desde Chat, debes @ mencionar al bot o usar la función de Acceso Rápido habilitada en la configuración del plugin. También debes asegurarte de que el bot esté habilitado para Chat (también en la configuración del plugin).

Ten en cuenta que el bot actualmente no admite Hilos de Chat… solo funciona en el nivel superior de Chat. ¿Estás intentando acceder en un Hilo?

2 Me gusta

Es principalmente un bot de llamada y respuesta (aunque se puede invocar automáticamente al crear temas en categorías determinadas). Actualmente no está diseñado para actuar como moderador.

1 me gusta

Ah, acabo de actualizar (solo estaba 100 commits atrasado) y parece que ha habido un cambio importante en el núcleo que afecta al uso del chat. Le echaré un vistazo.

Mientras tanto, podrías cambiar Quick Launch a Mensajes Personales.

1 me gusta

He actualizado el plugin.

El chat debería funcionar como antes:

2 Me gusta

También he añadido compatibilidad con Hilos de Chat

Ahora el contexto del Chatbot se limita al Hilo de Chat actual y solo debe responder al Hilo actual.

Avísame si tienes algún problema.

1 me gusta

La búsqueda en el foro se rompió con la versión 1.3, eso ahora está resuelto.

2 Me gusta

Todavía obtengo el mismo error actualizado hace 3 horas.

activesupport-7.1.4.1/lib/active_support/broadcast_logger.rb:134:in `block in error'

activesupport-7.1.4.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'

activesupport-7.1.4.1/lib/active_support/broadcast_logger.rb:231:in `each'

activesupport-7.1.4.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'

activesupport-7.1.4.1/lib/active_support/broadcast_logger.rb:134:in `error'

/var/www/discourse/plugins/discourse-chatbot/lib/discourse_chatbot/message/message_reply_creator.rb:38:in `rescue in create'

/var/www/discourse/plugins/discourse-chatbot/lib/discourse_chatbot/message/message_reply_creator.rb:11:in `create'

/var/www/discourse/plugins/discourse-chatbot/app/jobs/regular/chatbot_reply.rb:150:in `execute'

/var/www/discourse/app/jobs/base.rb:322:in `block (2 levels) in perform'

rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'

rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'

/var/www/discourse/app/jobs/base.rb:309:in `block in perform'

/var/www/discourse/app/jobs/base.rb:305:in `each'

/var/www/discourse/app/jobs/base.rb:305:in `perform'

sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'

sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'

sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'

/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'

sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'

sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'

sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'

sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'

sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'

sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'

sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'

sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'

sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'

sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'

sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'

sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'

sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'

sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'

sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'

sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'

sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'

¿Y han reconstruido completamente el sitio?

La actualización del plugin debería haber sido suficiente.

¿En qué versión están? ¿Tanto el plugin como Discourse?

Después de lanzar esta corrección y actualizar, no puedo reproducir su problema (pero definitivamente pude hacerlo antes).

1 me gusta

¡Después de una reconstrucción completa, funciona, gracias por su tiempo!

2 Me gusta

El bot dejó de responder después de las actualizaciones recientes, mostrando estos errores:

Chatbot: Hubo un problema, pero se reintentará hasta el límite: variable o método local no definido `res’ para una instancia de DiscourseChatbot::OpenAiBotBasic

Excepción del trabajo: variable o método local no definido `res’ para una instancia de DiscourseChatbot::OpenAiBotBasic

¿Alguna idea de qué se trata?

2 Me gusta

Creo que podría saber qué está pasando. Le echaré un vistazo y te responderé.

Déjame adivinar: ¿no hay ningún problema con el bot RAG?

1 me gusta

Eso debería estar arreglado ahora:

Por favor, actualiza y confirma.

1 me gusta

Esto es hilarante. De nuevo una corrección cobró vida media hora después de que reconstruí la mía :joy:

Gracias [1]


  1. por esa corrección, no por el momento :rofl: ↩︎

2 Me gusta

Sí, ahora funciona, gracias

2 Me gusta

¡Gracias por este plugin! Lo he configurado y todo parece haber ido bien (todas las configuraciones están ahí, tengo las claves de API, créditos de OpenAI, el chatbot se ha añadido como usuario, me he añadido a uno de los grupos de alta confianza), pero no obtengo ninguna respuesta del cuadro de chat, ni en privado ni en público. No estoy seguro de qué estoy haciendo mal o qué información compartir.

Además, el botón “Hablar con el chatbot” no hace nada cuando se hace clic. :thinking:

Hablé demasiado pronto. Fue porque cambié el nombre del bot. Ahora solo necesito averiguar por qué he alcanzado una cuota después de solo un par de mensajes.

1 me gusta

Comprueba en qué nivel de confianza del chatbot se encuentra tu usuario.

Existen tres “niveles de confianza” que son colecciones de Grupos de Discourse.

Normalmente, como administrador, intentarás estar en un grupo incluido en Alto.

Empezaría con la estrategia predeterminada de seguimiento de consultas (chatbot_quota_basis). Si cambiaste esto a tokens, necesitarás aumentar significativamente las cuotas predeterminadas para todos los niveles de confianza, ya que cada consulta puede costar miles de tokens. Los valores predeterminados están configurados para admitir consultas.

Sí, estoy en el grupo de alta confianza. Y tengo la base de cuotas configurada en consultas. El chatbot respondió una pregunta y luego declaró inmediatamente: *


*

1 me gusta

Intenta ejecutar el trabajo de restablecimiento de cuotas en sidekiq presionando el botón de activación asociado:

Después de eso, pregúntale al bot cuál es tu cuota restante.

1 me gusta