From 77c6543c5d6320fae93fc6074bd1a56a907a8050 Mon Sep 17 00:00:00 2001 From: Rafael dos Santos Silva Date: Wed, 12 Feb 2025 10:37:45 -0300 Subject: [PATCH] FIX: Embeddings backfill job compat when transitioning models (#1122) When you already have embeddings for a model stored and change models, our backfill script was failing to backfill the newly configured model. Regression introduced most likely in 1686a8a --- app/jobs/scheduled/embeddings_backfill.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/jobs/scheduled/embeddings_backfill.rb b/app/jobs/scheduled/embeddings_backfill.rb index 23bc46b9..4ae9f70c 100644 --- a/app/jobs/scheduled/embeddings_backfill.rb +++ b/app/jobs/scheduled/embeddings_backfill.rb @@ -26,7 +26,9 @@ module Jobs topics = Topic - .joins("LEFT JOIN #{table_name} ON #{table_name}.topic_id = topics.id") + .joins( + "LEFT JOIN #{table_name} ON #{table_name}.topic_id = topics.id AND #{table_name}.model_id = #{vector_def.id}", + ) .where(archetype: Archetype.default) .where(deleted_at: nil) .order("topics.bumped_at DESC") @@ -43,7 +45,7 @@ module Jobs #{table_name}.strategy_version < #{vector_def.strategy_version} SQL - rebaked += populate_topic_embeddings(vector, relation) + rebaked += populate_topic_embeddings(vector, relation, force: true) return if rebaked >= limit @@ -67,7 +69,9 @@ module Jobs posts = Post - .joins("LEFT JOIN #{table_name} ON #{table_name}.post_id = posts.id") + .joins( + "LEFT JOIN #{table_name} ON #{table_name}.post_id = posts.id AND #{table_name}.model_id = #{vector_def.id}", + ) .where(deleted_at: nil) .where(post_type: Post.types[:regular])