From 7a54455cf60efc625b1796fbb91008ab99044b61 Mon Sep 17 00:00:00 2001 From: Roman Rizzi Date: Fri, 31 Mar 2023 16:15:10 -0300 Subject: [PATCH] FIX: Use correct variable and method for embeddings (#35) --- assets/javascripts/initializers/semantic-full-page-search.js | 4 +--- lib/modules/embeddings/jobs/regular/generate_embeddings.rb | 4 ++-- lib/modules/embeddings/topic.rb | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/assets/javascripts/initializers/semantic-full-page-search.js b/assets/javascripts/initializers/semantic-full-page-search.js index dc21b537..32906c96 100644 --- a/assets/javascripts/initializers/semantic-full-page-search.js +++ b/assets/javascripts/initializers/semantic-full-page-search.js @@ -1,6 +1,5 @@ import { withPluginApi } from "discourse/lib/plugin-api"; import { translateResults, updateRecentSearches } from "discourse/lib/search"; -import { setTransient } from "discourse/lib/page-tracker"; import { ajax } from "discourse/lib/ajax"; const SEMANTIC_SEARCH = "semantic_search"; @@ -9,7 +8,7 @@ function initializeSemanticSearch(api) { api.addFullPageSearchType( "discourse_ai.embeddings.semantic_search", SEMANTIC_SEARCH, - (searchController, args, searchKey) => { + (searchController, args) => { if (searchController.currentUser) { updateRecentSearches(searchController.currentUser, args.searchTerm); } @@ -32,7 +31,6 @@ function initializeSemanticSearch(api) { ); } } else { - setTransient("lastSearch", { searchKey, model }, 5); model.grouped_search_result = results.grouped_search_result; searchController.set("model", model); } diff --git a/lib/modules/embeddings/jobs/regular/generate_embeddings.rb b/lib/modules/embeddings/jobs/regular/generate_embeddings.rb index 2004aaa3..43c1e617 100644 --- a/lib/modules/embeddings/jobs/regular/generate_embeddings.rb +++ b/lib/modules/embeddings/jobs/regular/generate_embeddings.rb @@ -8,10 +8,10 @@ module Jobs topic = Topic.find_by_id(topic_id) return if topic.nil? || topic.private_message? && !SiteSetting.ai_embeddings_generate_for_pms - post = Topic.find_by_id(topic_id).first_post + post = topic.first_post return if post.nil? || post.raw.blank? - DiscourseAi::Embeddings::Topic.new(post.topic).perform! + DiscourseAi::Embeddings::Topic.new.generate_and_store_embeddings_for(topic) end end end diff --git a/lib/modules/embeddings/topic.rb b/lib/modules/embeddings/topic.rb index b9072dc8..0044efd5 100644 --- a/lib/modules/embeddings/topic.rb +++ b/lib/modules/embeddings/topic.rb @@ -46,7 +46,7 @@ module DiscourseAi end def asymmetric_semantic_search(model, query, limit, offset) - query_embedding = model.generate_embedding(query) + embedding = model.generate_embedding(query) candidate_ids = DiscourseAi::Database::Connection