From 333cb8f21277e3e31f9bd1f022d87271472c2d23 Mon Sep 17 00:00:00 2001 From: Roman Rizzi Date: Mon, 3 Apr 2023 11:48:38 -0300 Subject: [PATCH] FIX: Don't try to use pg headlines for semantic search. (#36) Depends on discourse/discourse#20939. --- .../discourse_ai/embeddings/embeddings_controller.rb | 1 + assets/javascripts/initializers/semantic-full-page-search.js | 4 +++- config/locales/server.en.yml | 1 + config/settings.yml | 3 +++ 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/controllers/discourse_ai/embeddings/embeddings_controller.rb b/app/controllers/discourse_ai/embeddings/embeddings_controller.rb index 8d6e6ee2..66af7261 100644 --- a/app/controllers/discourse_ai/embeddings/embeddings_controller.rb +++ b/app/controllers/discourse_ai/embeddings/embeddings_controller.rb @@ -16,6 +16,7 @@ module DiscourseAi type_filter: SEMANTIC_SEARCH_TYPE, term: query, search_context: guardian, + use_pg_headlines_for_excerpt: false, ) model = diff --git a/assets/javascripts/initializers/semantic-full-page-search.js b/assets/javascripts/initializers/semantic-full-page-search.js index 32906c96..c8641db9 100644 --- a/assets/javascripts/initializers/semantic-full-page-search.js +++ b/assets/javascripts/initializers/semantic-full-page-search.js @@ -55,7 +55,9 @@ export default { initialize(container) { const settings = container.lookup("site-settings:main"); - if (settings.ai_embeddings_enabled) { + const semanticSearch = settings.ai_embeddings_semantic_search_enabled; + + if (settings.ai_embeddings_enabled && semanticSearch) { withPluginApi("1.6.0", initializeSemanticSearch); } }, diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index 6a6b31e1..ce6095fb 100644 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -48,6 +48,7 @@ en: ai_embeddings_semantic_related_topics: "Maximum number of topics to show in related topic section." ai_embeddings_pg_connection_string: "PostgreSQL connection string for the embeddings module. Needs pgvector extension enabled and a series of tables created. See docs for more info." ai_embeddings_semantic_search_model: "Model to use for semantic search." + ai_embeddings_semantic_search_enabled: "Enable full-page semantic search." reviewables: reasons: diff --git a/config/settings.yml b/config/settings.yml index 43907c22..448f5595 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -146,3 +146,6 @@ plugins: ai_embeddings_semantic_related_topics_enabled: false ai_embeddings_semantic_related_topics: 5 ai_embeddings_pg_connection_string: "" + ai_embeddings_semantic_search_enabled: + default: false + client: true