我很抱歉,如果这里不适合提问关于 AI 插件 rake 任务的问题。
我可以在 Discourse 应用容器中(不带 bundle exec)运行 rake 任务,但 AI 任务却不行。不带 bundle exec 时,AI 嵌入回填因缺少 ruby-progressbar 而失败。带 bundle exec 时,它又因没有数据库连接而失败。
有什么办法可以解决这个问题吗?
我很抱歉,如果这里不适合提问关于 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 分组中,所以被忽略了。
FWIW,我使用进度条的体验非常好,如果我需要再次执行回填,我很乐意再次进行 bundle install。进度条提供了非常准确的估计(就我而言,六年的讨论需要 49 分钟)。我真的不知道会发生什么……看到这个漫长的过程(我以前从未做过)正在进行,这让我感到精神和情感上的解脱。