From 2f1d186b76a311c363884f83a07e42883bca8478 Mon Sep 17 00:00:00 2001 From: Rafael Silva Date: Tue, 11 Feb 2025 19:08:25 -0300 Subject: [PATCH] FIX: Embeddings backfill job compat when transitioning models 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 23bc46b97..4ae9f70cc 100644 --- a/app/jobs/scheduled/embeddings_backfill.rb +++ b/app/jobs/scheduled/embeddings_backfill.rb @@ -26,7 +26,9 @@ def execute(args) 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 @@ def execute(args) #{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 @@ def execute(args) 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])