mirror of
https://github.com/discourse/discourse-ai.git
synced 2025-02-07 12:08:13 +00:00
27b5542357
* Display gists in the hot topics list * Adjust hot topics gist strategy and add a job to generate gists * Replace setting with a configurable batch size * Avoid loading summaries for other topic lists * Tweak gist prompt to focus on latest posts in the context of the OP * Remove serializer hack and rely on core change from discourse/discourse#29291 * Update lib/summarization/strategies/hot_topic_gists.rb Co-authored-by: Rafael dos Santos Silva <xfalcox@gmail.com> --------- Co-authored-by: Rafael dos Santos Silva <xfalcox@gmail.com>
40 lines
1.3 KiB
Ruby
40 lines
1.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module DiscourseAi
|
|
module Summarization
|
|
def self.topic_summary(topic)
|
|
if SiteSetting.ai_summarization_model.present? && SiteSetting.ai_summarization_enabled
|
|
DiscourseAi::Summarization::FoldContent.new(
|
|
DiscourseAi::Completions::Llm.proxy(SiteSetting.ai_summarization_model),
|
|
DiscourseAi::Summarization::Strategies::TopicSummary.new(topic),
|
|
)
|
|
else
|
|
nil
|
|
end
|
|
end
|
|
|
|
def self.topic_gist(topic)
|
|
if SiteSetting.ai_summarization_model.present? && SiteSetting.ai_summarization_enabled
|
|
DiscourseAi::Summarization::FoldContent.new(
|
|
DiscourseAi::Completions::Llm.proxy(SiteSetting.ai_summarization_model),
|
|
DiscourseAi::Summarization::Strategies::HotTopicGists.new(topic),
|
|
)
|
|
else
|
|
nil
|
|
end
|
|
end
|
|
|
|
def self.chat_channel_summary(channel, time_window_in_hours)
|
|
if SiteSetting.ai_summarization_model.present? && SiteSetting.ai_summarization_enabled
|
|
DiscourseAi::Summarization::FoldContent.new(
|
|
DiscourseAi::Completions::Llm.proxy(SiteSetting.ai_summarization_model),
|
|
DiscourseAi::Summarization::Strategies::ChatMessages.new(channel, time_window_in_hours),
|
|
persist_summaries: false,
|
|
)
|
|
else
|
|
nil
|
|
end
|
|
end
|
|
end
|
|
end
|