mirror of
https://github.com/discourse/discourse-ai.git
synced 2025-11-01 06:58:39 +00:00
* FEATURE: HyDE-powered semantic search. It relies on the new outlet added on discourse/discourse#23390 to display semantic search results in an unobtrusive way. We'll use a HyDE-backed approach for semantic search, which consists on generating an hypothetical document from a given keywords, which gets transformed into a vector and used in a asymmetric similarity topic search. This PR also reorganizes the internals to have less moving parts, maintaining one hierarchy of DAOish classes for vector-related operations like transformations and querying. Completions and vectors created by HyDE will remain cached on Redis for now, but we could later use Postgres instead. * Missing translation and rate limiting --------- Co-authored-by: Roman Rizzi <rizziromanalejandro@gmail.com>
18 lines
428 B
Ruby
18 lines
428 B
Ruby
# frozen_string_literal: true
|
|
|
|
module DiscourseAi
|
|
module Embeddings
|
|
module HydeGenerators
|
|
class Base
|
|
def self.current_hyde_model
|
|
DiscourseAi::Embeddings::HydeGenerators::Base.descendants.find do |generator_klass|
|
|
generator_klass.new.models.include?(
|
|
SiteSetting.ai_embeddings_semantic_search_hyde_model,
|
|
)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|