Je m’excuse par avance si ce n’est pas le bon endroit pour cette question concernant les tâches rake du plugin AI.
Je peux exécuter des tâches rake (sans bundle exec) dans le conteneur de l’application Discourse sans problème, mais les tâches AI ne fonctionnent pas. Sans bundle exec, le remplissage des embeddings AI échoue en raison de l’absence de ruby-progressbar. Avec bundle exec, cela échoue en raison de l’absence de connexion à la base de données.
J’ai réussi à le faire fonctionner en allant dans le conteneur et en exécutant :
bundle install --with migrations
Le problème est que la tâche rake rake ai:embeddings:backfill fait ceci :
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
ce qui nécessite que ruby-progressbar soit chargé, mais il est ignoré car il se trouve dans le groupe de migrations du Gemfile.
Soit dit en passant, mon expérience avec la barre de progression a été si positive que je referais volontiers ce bundle install si je devais répéter le backfill. La barre de progression a fourni une estimation très précise (dans mon cas, 49 minutes pour six ans de discussion). Je ne savais vraiment pas à quoi m’attendre… ce fut un soulagement mental/émotionnel de voir que le long processus (que je n’avais jamais fait auparavant) fonctionnait.