From 273a1fa618f9360e002a3117f5437d27221bdd0e Mon Sep 17 00:00:00 2001 From: Keegan George Date: Thu, 17 Jul 2025 09:43:45 -0700 Subject: [PATCH] FIX: occurrences of old model setting --- lib/embeddings/semantic_search.rb | 40 +++++++++++++++++-------------- lib/tasks/create_topics.rake | 2 +- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/lib/embeddings/semantic_search.rb b/lib/embeddings/semantic_search.rb index e4e894ca..2072ff5b 100644 --- a/lib/embeddings/semantic_search.rb +++ b/lib/embeddings/semantic_search.rb @@ -6,8 +6,8 @@ module DiscourseAi def self.clear_cache_for(query) digest = OpenSSL::Digest::SHA1.hexdigest(query) - hyde_key = - "semantic-search-#{digest}-#{SiteSetting.ai_embeddings_semantic_search_hyde_model}" + hyde_model_id = find_ai_hyde_model_id + hyde_key = "semantic-search-#{digest}-#{hyde_model_id}" Discourse.cache.delete(hyde_key) Discourse.cache.delete("#{hyde_key}-#{SiteSetting.ai_embeddings_selected_model}") @@ -20,12 +20,9 @@ module DiscourseAi def cached_query?(query) digest = OpenSSL::Digest::SHA1.hexdigest(query) + hyde_model_id = find_ai_hyde_model_id embedding_key = - build_embedding_key( - digest, - SiteSetting.ai_embeddings_semantic_search_hyde_model, - SiteSetting.ai_embeddings_selected_model, - ) + build_embedding_key(digest, hyde_model_id, SiteSetting.ai_embeddings_selected_model) Discourse.cache.read(embedding_key).present? end @@ -36,14 +33,11 @@ module DiscourseAi def hyde_embedding(search_term) digest = OpenSSL::Digest::SHA1.hexdigest(search_term) - hyde_key = build_hyde_key(digest, SiteSetting.ai_embeddings_semantic_search_hyde_model) + hyde_model_id = find_ai_hyde_model_id + hyde_key = build_hyde_key(digest, hyde_model_id) embedding_key = - build_embedding_key( - digest, - SiteSetting.ai_embeddings_semantic_search_hyde_model, - SiteSetting.ai_embeddings_selected_model, - ) + build_embedding_key(digest, hyde_model_id, SiteSetting.ai_embeddings_selected_model) hypothetical_post = Discourse @@ -111,6 +105,7 @@ module DiscourseAi max_semantic_results_per_page = 100 search = Search.new(query, { guardian: guardian }) search_term = search.term + hyde_model_id = find_ai_hyde_model_id return [] if search_term.nil? || search_term.length < SiteSetting.min_search_term_length @@ -119,11 +114,7 @@ module DiscourseAi digest = OpenSSL::Digest::SHA1.hexdigest(search_term) embedding_key = - build_embedding_key( - digest, - SiteSetting.ai_embeddings_semantic_search_hyde_model, - SiteSetting.ai_embeddings_selected_model, - ) + build_embedding_key(digest, hyde_model_id, SiteSetting.ai_embeddings_selected_model) search_term_embedding = Discourse @@ -221,6 +212,19 @@ module DiscourseAi end end + def find_ai_hyde_model_id + persona_llm_id = + AiPersona.find_by( + id: SiteSetting.ai_embeddings_semantic_search_hyde_persona, + )&.default_llm_id + + if persona_llm_id.present? + persona_llm_id + else + SiteSetting.ai_default_llm_model.to_i || LlmModel.last&.id + end + end + private attr_reader :guardian diff --git a/lib/tasks/create_topics.rake b/lib/tasks/create_topics.rake index 3095345b..f64953e5 100644 --- a/lib/tasks/create_topics.rake +++ b/lib/tasks/create_topics.rake @@ -88,7 +88,7 @@ namespace :ai do messages: [{ type: :user, content: prompt, id: "user" }], ) - DiscourseAi::Completions::Llm.proxy(SiteSetting.ai_helper_model).generate( + DiscourseAi::Completions::Llm.proxy(SiteSetting.ai_defaulit_llm_model).generate( prompt, user: Discourse.system_user, feature_name: "topic-generator",