Discourse Chatbot 🤖

Ответ бота будет задержан, если есть большая очередь задач.

Полагаю, что и сработавшая задача может быть задержана.

Сначала разберитесь с очередью :).

Я несколько раз пытался подготовить для вас ответ, но в итоге не смог. Пожалуйста, обратитесь к администратору, если проблема сохранится. Спасибо!

Вам стоит посмотреть, в чём причина. В логах должно быть сообщение об ошибке.

Проверьте ответ ИИ, включив подробное логирование (последние настройки) и перенаправив лог на уровень Warn (в продакшене вы не сможете читать логи уровня Info).

Затем просмотрите их в /logs.

Часто это происходит из-за того, что вы не предоставили действительный ключ или на вашем счёте недостаточно средств, но причина может быть и в чём-то другом.

Похоже, у меня большая очередь Sidekiq. Можно ли увеличить пропускную способность Sidekiq, чтобы обрабатывать задачи быстрее?

Это несколько выходит за рамки возможностей этого плагина :slight_smile:

Комбинация следующих действий:

  1. Переход на более мощный сервер с большим количеством ядер и памяти.
  2. Увеличение лимитов скорости на стороне вашего провайдера почтовых услуг (возможно).

Обычно ваши очереди должны быть практически пустыми.

Чат-бот: Возникла проблема, но будет выполнена повторная попытка до достижения лимита: nil не может быть преобразован в Integer

Это ошибка, которую я получаю

У вас включены встраивания чат-бота?

Предположительно, ваш бот относится к типу RAG? (если да, то вышеуказанная функция должна быть включена)

Какую модель вы используете?

Без RAG.

gpt-4o-mini

Вы можете увидеть трассировку стека в /logs для этой ошибки?

Сообщение (4 копии)

Чат-бот: Возникла проблема, но будет повторная попытка до достижения лимита: nil не может быть приведен к Integer

Стек вызовов

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:134:in `block in error'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:134:in `error'
/var/www/discourse/plugins/discourse-chatbot/app/jobs/regular/chatbot_reply.rb:140:in `rescue in execute'
/var/www/discourse/plugins/discourse-chatbot/app/jobs/regular/chatbot_reply.rb:121:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'
/var/www/discourse/app/jobs/base.rb:299:in `each'
/var/www/discourse/app/jobs/base.rb:299:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'

Пожалуйста, настройте это соответствующим образом и дайте знать, если вы заметите в логах что-то ещё, что выглядит подозрительно:

P.S. Я подтвердил, что базовые боты и боты с RAG работают на последней версии.

Вывод из частного обсуждения: задача сброса квоты всё ещё не была выполнена.

Она должна быть выполнена один раз, прежде чем вы сможете использовать бота.

В настоящее время, возможно, потребуется запустить её вручную один раз после установки плагина.

В ближайшее время я изучу возможность автоматического выполнения этого однократного первоначального запуска.

Надеюсь, это окончательно решит проблему.

3 лайка

Шумиха вокруг DeepSeek :sweat_smile:

Подключайтесь к чат-боту :rocket:

Вы можете использовать бота хотя бы в базовом режиме для доступа к V3 и R1.

Я использовал:

(не аффилированный партнер)

который размещает их модели.

Настройка выглядит так:

Обязательно выберите базовый режим бота и подставьте свой ключ.

Однако, возможно, вы сможете использовать DeepSeek AI напрямую, если у вас есть доступ к их веб-сайту для регистрации :sweat_smile:

Базовый URL будет «https://api.deepseek.com».

4 лайка

См. последний пост о способе использования альтернативных моделей, особенно крупных размещённых моделей с открытым исходным кодом.

Привет, @merefield.

Мой автоответчик чат-бота для тем теперь отвечает дважды в теме. То есть, когда пользователь задаёт вопрос, чат-бот отвечает, а затем сразу же отвечает на тот же вопрос во второй раз, два раза подряд. Есть какие-нибудь идеи, как его успокоить? :sunglasses:

1 лайк

Это очень странно.

Я только что протестировал это на последней версии и получил только один ответ на каждый пост: исходный пост → автоответ → ответ пользователя → ещё один ответ бота.

Можете ли вы подробнее описать вашу настройку, так как я не уверен, что смогу воспроизвести вашу проблему в данный момент?

Или именно такое поведение вы наблюдаете?

Обратите внимание: бот будет продолжать отвечать всегда, пока в теме не появится ещё один пользователь. Таким образом, изначально, пока разговор идёт между пользователем и ботом, бот всегда отвечает последним (это, кстати, описано в первом посте).

Кто-то собирался профинансировать функциональное улучшение, но так и не оплатил счёт, поэтому пока мы вынуждены оставаться с текущим поведением.

Спасибо, Роберт. Я попробую разобраться в нескольких моментах. Это происходит не всегда. Не был уверен, может ли это быть связано с ответом боту и одновременным упоминанием @bot, или, возможно, с проблемой кэширования при входе и выходе из разных аккаунтов в одном браузере. Думал, что, возможно, что-то связано с недавними обновлениями. Моя конфигурация тоже обновлена. Если я найду конкретную ситуацию, которая вызывает это, я дам тебе знать.

Я тоже это проверил — двойного ответа не сработало.

Оценка сообщения происходит только один раз, и бот ответит, если его упомянули или ему ответили, но дублировать ответ не должен.

Он также никогда не должен пытаться ответить сам себе, так как при оценке посты бота должны игнорироваться.

Дайте знать, если сможете уточнить какие-либо детали о конкретных обстоятельствах.

1 лайк

Я не смог найти/увидеть, какая модель ИИ используется этим ботом, который отображается в виде значка робота на моей домашней странице:

И, возможно, могу ли я изменить модель ИИ для этого бота или нет? Какие еще варианты возможны?

Иногда он отвечал (что НЕ МОГ ответить):

В других случаях он продолжает пытаться ответить, но так и не отвечает: