Discourse AI — Векторные представления

Я обнаружил небольшую ошибку в последней версии, из-за которой команда rake ai:embeddings:backfill завершается неудачей:

root@nbg-webxj:/var/www/discourse# rake ai:embeddings:backfill
rake aborted!
NameError: uninitialized constant Parallel (NameError)

  Parallel.each(topics.all, in_processes: args[:concurrency].to_i, progress: "Topics") do |t|
  ^^^^^^^^
/var/www/discourse/plugins/discourse-ai/lib/tasks/modules/embeddings/database.rake:27:in `block in <main>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => ai:embeddings:backfill
(See full trace by running task with --trace)

Я подозреваю, что проблема в том, что gem parallel не установлен ни в этом плагине, ни в ядре Discourse (нашёл его только в блоке if ENV["IMPORT"] == "1": gem "parallel", require: false).

Также для выполнения rake ai:embeddings:backfill требуется gem ruby-progressbar.

Я создал простой PR на Github:

2 лайка