이 AI 플러그인 rake 작업에 관한 질문을 여기에 올리는 것이 적절하지 않을 수도 있으니 미리 양해 부탁드립니다.
Discourse 앱 컨테이너에서 rake 작업을 실행할 때 bundle exec 없이도 문제없이 실행할 수 있지만, AI 관련 작업은 작동하지 않습니다. bundle exec를 사용하지 않으면 ruby-progressbar가 없어 AI 임베딩 백필이 실패하고, bundle exec를 사용하면 데이터베이스 연결이 없어 실패합니다.
문제는 rake ai:embeddings:backfill rake 태스크가 다음을 수행한다는 것입니다:
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 그룹에 포함되어 있어 무시되고 있습니다.
참고로, 진행 바에 대한 제 경험은 매우 긍정적이었습니다. 백필(backfill)을 반복해야 하는 상황이 생기면 다시 기꺼이 bundle install을 실행할 것 같습니다. 진행 바는 매우 정확한 추정치를 제공했습니다(제 경우, 6년 치 토론에 대해 49분이 소요될 것으로 예상되었습니다). 저는 무엇을 기대해야 할지 정말로 몰랐는데, 이전에 한 번도 해본 적 없는 긴 프로세스가 정상적으로 작동하고 있다는 것을 확인하는 것은 정신적, 감정적으로 큰 안도감이었습니다.