Заранее приношу извинения, если это не то место, где стоит задавать вопрос о задачах rake для плагина AI.
Я могу запускать задачи rake (без bundle exec) в контейнере приложения Discourse без проблем, но задачи AI не работают. Без bundle exec заполнение пропущенных эмбеддингов AI завершается ошибкой из-за отсутствия библиотеки ruby-progressbar. С bundle exec оно завершается ошибкой из-за отсутствия подключения к базе данных.
Мне удалось заставить это работать, зайдя в контейнер и выполнив:
bundle install --with migrations
Проблема в том, что задача rake rake ai:embeddings:backfill делает следующее:
Parallel.each(topics.all, in_processes: args[:concurrency].to_i, progress: "Topics") do |t|
ActiveRecord::Base.connection_pool.with_connection do
vector_rep.generate_representation_from(t)
end
end
Для этого требуется загрузка ruby-progressbar, но она игнорируется, так как находится в группе migrations файла Gemfile.
Кстати, мой опыт работы с индикатором прогресса был настолько позитивным, что я с радостью снова выполнил бы bundle install, если бы мне когда-нибудь пришлось повторять обратную загрузку данных. Индикатор прогресса давал очень точную оценку (в моём случае — 49 минут для шести лет обсуждений). Я совершенно не знал, чего ожидать… Это было большим моральным и эмоциональным облегчением увидеть, что длительный процесс (который я никогда раньше не выполнял) идёт успешно.