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)

我怀疑罪魁祸首是 parallel gem 没有安装在这个插件中,也没有安装在 Discourse 核心中(只在 if ENV["IMPORT"] == "1" 块中找到一个: gem "parallel", require: false)。

我发现 ruby-progressbar gem 也需要执行 rake ai:embeddings:backfill

我在 Github 上做了一个简单的 PR:

2 个赞