mirror of
https://github.com/discourse/discourse-ai.git
synced 2025-03-09 11:48:47 +00:00
32 lines
801 B
Ruby
32 lines
801 B
Ruby
# frozen_string_literal: true
|
|
|
|
module DiscourseAi
|
|
module Embeddings
|
|
class EntryPoint
|
|
def load_files
|
|
require_relative "models"
|
|
require_relative "topic"
|
|
require_relative "jobs/regular/generate_embeddings"
|
|
require_relative "semantic_suggested"
|
|
end
|
|
|
|
def inject_into(plugin)
|
|
callback =
|
|
Proc.new do |topic|
|
|
if SiteSetting.ai_embeddings_enabled
|
|
Jobs.enqueue(:generate_embeddings, topic_id: topic.id)
|
|
end
|
|
end
|
|
|
|
plugin.on(:topic_created, &callback)
|
|
plugin.on(:topic_edited, &callback)
|
|
|
|
DiscoursePluginRegistry.register_list_suggested_for_provider(
|
|
SemanticSuggested.method(:build_suggested_topics),
|
|
plugin,
|
|
)
|
|
end
|
|
end
|
|
end
|
|
end
|