AI-бот перестал отвечать после последнего обновления

Версия Discourse: v3.3.0.beta6
Версия AI: 9d887ad4

  • Не имеет значения, какую модель я выбираю при начале разговора с ботом
  • Я вижу успешные запросы в таблице ai_api_audit_logs.
    • когда пользователь начинает разговор, единственное вызываемое LLM-обращение — это вызов title bot (“. Ты — titlebot. Дана тема, и ты должен придумать заголовок.\nТы никогда не будешь отвечать чем-либо, кроме заголовка темы из 7 слов.”)
    • бот обновляет заголовок, но не отвечает
  • Запросы к нашим провайдерам работают нормально — Discourse AI даже не пытается сделать вызов

Вот скриншот разговора:

Обратите внимание на пустой ответ бота.

Из логов видно, что есть только вызов bot_title, а не bot.

Вот настройки персонажа:

Что произойдет, если вы перейдете в /admin/plugins/discourse-ai/ai-llms и нажмёте Test на этой LLM?

Если вы имеете в виду, что нужно нажать Edit рядом с LLM, затем прокрутить вниз и нажать Run Test, то я получаю сообщение об успехе для всех включенных LLM (Anthropic и OpenAI).

Есть ли что-нибудь в /logs?

Черт возьми, так и есть! Job exception: DiscourseAi::Completions::Llm::UNKNOWN_MODEL

Сообщение (30 сообщений)

Job exception: DiscourseAi::Completions::Llm::UNKNOWN_MODEL

Трассировка стека

/var/www/discourse/plugins/discourse-ai/lib/completions/llm.rb:129:in `proxy'
/var/www/discourse/plugins/discourse-ai/lib/ai_bot/personas/persona.rb:155:in `craft_prompt'
/var/www/discourse/plugins/discourse-ai/lib/ai_bot/bot.rb:54:in `reply'
/var/www/discourse/plugins/discourse-ai/lib/ai_bot/playground.rb:426:in `reply_to'
/var/www/discourse/plugins/discourse-ai/app/jobs/regular/create_ai_reply.rb:18:in `execute'
/var/www/discourse/app/jobs/base.rb:305:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.0.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.0.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:292:in `block in perform'
/var/www/discourse/app/jobs/base.rb:288:in `each'
/var/www/discourse/app/jobs/base.rb:288: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'

env:

hostname	forum-app
process_id	2575726
application_version	a4bfe8adb4aae3e8049ce5e7122ba01f4db1bdb5
current_db	default
current_hostname	community.ankihub.net
job	Jobs::CreateAiReply
problem_db	default
time	17:15
opts	
post_id	334872
bot_user_id	-121
persona_id	1
current_site_id	default

Попробуйте выбрать другую базовую LLM для персоны, сохранить изменения, перезагрузить страницу и затем снова выбрать Claude 3.5 Sonnet.

Это может быть связано с миграцией.

Я изменил модель по умолчанию для персонажа на gpt-4o. Я попытался начать личное сообщение с ботом, но это не сработало. Вернул модель по умолчанию обратно на claude 3.5 sonnet, и всё равно не работает. Также я пробовал отключать и снова включать персонажа.

Я попробовал личное сообщение с другим персонажем, который использует claude 3.5 sonnet, и там всё работает нормально. Одно различие между двумя персонажами заключается в том, что у неработающего персонажа есть связанный пользователь. У другого персонажа его нет, и он отвечает от имени автоматически созданного пользователя claude-3-5-sonnet.

Я мог бы удалить и воссоздать неработающий персонаж. Однако этот персонаж использует загруженные документы. Если я удалю неработающий персонаж, будут ли удалены связанные эмбеддинги из загруженных документов из PostgreSQL? Я не против перегенерировать эмбеддинги, так как это довольно недорого.

Я только что обновился до Discourse 3.4.0.beta1 и Discourse AI 36ce88f3, но это всё ещё не работает. Думаю, я удалю и воссоздам сломанный персонаж.

Для тех, кто может наткнуться на это, могу подтвердить, что удаление и повторное создание персонажа решило проблему. Также удаление человека действительно удаляет связанные записи в таблицах rag_document_fragments и ai_document_fragment_embeddings.

4 лайка

Эта тема была автоматически закрыта через 7 дней после последнего ответа. Новые ответы больше не принимаются.