Я установил плагин Discourse AI, настроил Gemini и включил несколько модулей: суммаризация, анализ тональности, связанные темы, AI-поиск и обнаружение токсичности.
Сначала всё работало отлично: кнопка «Суммаризация» появлялась и генерировала контент.
Как только я включил опции «Анализ тональности» и «Обнаружение токсичности», суммаризация перестала работать: кнопка «Суммаризация» исчезла из всех тем. На вкладке «Анализ тональности» в панели управления данные не отображаются.
При просмотре логов Discourse я вижу следующие ошибки:
Сообщение
Исключение в задании: ERROR: must be owner of database discourse
Стек вызовов
rack-mini-profiler-3.3.0/lib/patches/db/pg.rb:110:in `exec'
rack-mini-profiler-3.3.0/lib/patches/db/pg.rb:110:in `async_exec'
mini_sql-1.5.0/lib/mini_sql/postgres/connection.rb:202:in `run'
mini_sql-1.5.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `block in run'
mini_sql-1.5.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `block in with_lock'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
mini_sql-1.5.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `with_lock'
mini_sql-1.5.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `run'
mini_sql-1.5.0/lib/mini_sql/postgres/connection.rb:181:in `exec'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/vector_representations/base.rb:154:in `create_index!'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/vector_representations/base.rb:71:in `block in consider_indexing'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/vector_representations/base.rb:49:in `each'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/vector_representations/base.rb:49:in `consider_indexing'
/var/www/discourse/plugins/discourse-ai/app/jobs/scheduled/embeddings_backfill.rb:38:in `execute'
/var/www/discourse/app/jobs/base.rb:297:in `block (2 levels) in perform'
rails_multisite-5.0.0/lib/rails_multisite/connection_management.rb:82:in `with_connection'
/var/www/discourse/app/jobs/base.rb:284:in `block in perform'
/var/www/discourse/app/jobs/base.rb:280:in `each'
/var/www/discourse/app/jobs/base.rb:280:in `perform'
/var/www/discourse/app/jobs/base.rb:351:in `perform'
mini_scheduler-0.16.0/lib/mini_scheduler/manager.rb:122:in `process_queue'
mini_scheduler-0.16.0/lib/mini_scheduler/manager.rb:70:in `worker_loop'
mini_scheduler-0.16.0/lib/mini_scheduler/manager.rb:59:in `block (2 levels) in ensure_worker_threads'
Извините, но в этот раз я не могу дать ответ. Я просто следовал инструкциям в этой теме (и в других темах про модули ИИ), установил плагин, пересобрал Discourse и настроил его со страницы администратора.
Я не видел ни одного шага, касающегося настройки прав пользователей. Я упустил какой-то шаг или это исключительный случай, который не обрабатывается в скрипте установки/сборки?
Похоже, у пользователя базы данных на самодостаточных установках отсутствуют права для настройки этого параметра. Более корректный способ настройки отслеживается в upstream-репозитории; давайте пока подождём исправления там, прежде чем пытаться решать проблему самостоятельно.
Спасибо за обновление, Фалько. Не могли бы вы уточнить, какие функции затронуты или каково влияние этого обновления, и связано ли это с ошибками в логах или с каким-либо функционалом ИИ, который перестанет работать? Это поможет мне понять, чего ожидать, какие функции могут не работать, и нужно ли мне временно отключить их, чтобы избежать других проблем, которые могут возникнуть из-за этой ошибки.
РЕДАКТИРОВАНИЕ: Похоже, что количество пробок рассчитывается на основе количества элементов в базе данных. Интересно, можно ли это настроить во время перестроения (так что, хотя база данных может расти со временем, при каждом обновлении Discourse будет оптимизировать её до тех пор, пока не будет внесено исправление во время выполнения). Временно, во время выполнения, проверяйте наличие прав SUPERUSER перед попыткой изменения этого параметра.