AI 插件中的 Rake 任务无法运行

我很抱歉,如果这里不适合提问关于 AI 插件 rake 任务的问题。

我可以在 Discourse 应用容器中(不带 bundle exec)运行 rake 任务,但 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,但由于它在 Gemfile 的 migrations 分组中,所以被忽略了。

2 个赞

@Roman / @Falco 我们应该在这里停止使用进度条吗?

2 个赞

FWIW,我使用进度条的体验非常好,如果我需要再次执行回填,我很乐意再次进行 bundle install。进度条提供了非常准确的估计(就我而言,六年的讨论需要 49 分钟)。我真的不知道会发生什么……看到这个漫长的过程(我以前从未做过)正在进行,这让我感到精神和情感上的解脱。

3 个赞