Skip to content
This repository was archived by the owner on Jul 22, 2025. It is now read-only.

Commit 9152c0d

Browse files
committed
FEATURE: Extend summary backfill to also generate gists
1 parent 9928261 commit 9152c0d

File tree

3 files changed

+14
-7
lines changed

3 files changed

+14
-7
lines changed

app/jobs/scheduled/summaries_backfill.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,13 @@ def execute(_args)
1414
limit_per_job = [SiteSetting.ai_summary_backfill_maximum_topics_per_hour, 12].max / 12
1515
budget = [current_budget, limit_per_job].min
1616

17+
system_user = Discourse.system_user
18+
1719
backfill_candidates
1820
.limit(budget)
1921
.each do |topic|
20-
DiscourseAi::Summarization.topic_summary(topic).force_summarize(Discourse.system_user)
22+
DiscourseAi::Summarization.topic_summary(topic).force_summarize(system_user)
23+
DiscourseAi::Summarization.topic_gist(topic).force_summarize(system_user)
2124
end
2225
end
2326

config/settings.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ discourse_ai:
376376
type: list
377377
list_type: compact
378378
ai_summary_backfill_maximum_topics_per_hour:
379-
default: 10
379+
default: 0
380380
min: 0
381381
max: 1000
382382
ai_summary_backfill_minimum_word_count:

spec/jobs/scheduled/summaries_backfill_spec.rb

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,18 @@
9090
Fabricate(:ai_summary, target: topic, created_at: 3.hours.ago, content_range: (1..1))
9191

9292
summary_1 = "Summary of topic_2"
93+
gist_1 = "Gist of topic_2"
9394
summary_2 = "Summary of topic"
95+
gist_2 = "Gist of topic"
9496

95-
DiscourseAi::Completions::Llm.with_prepared_responses([summary_1, summary_2]) do
96-
subject.execute({})
97-
end
97+
DiscourseAi::Completions::Llm.with_prepared_responses(
98+
[summary_1, gist_1, summary_2, gist_2],
99+
) { subject.execute({}) }
98100

99-
expect(AiSummary.find_by(target: topic_2).summarized_text).to eq(summary_1)
100-
expect(AiSummary.find_by(target: topic).summarized_text).to eq(summary_2)
101+
expect(AiSummary.complete.find_by(target: topic_2).summarized_text).to eq(summary_1)
102+
expect(AiSummary.gist.find_by(target: topic_2).summarized_text).to eq(gist_1)
103+
expect(AiSummary.complete.find_by(target: topic).summarized_text).to eq(summary_2)
104+
expect(AiSummary.gist.find_by(target: topic).summarized_text).to eq(gist_2)
101105
end
102106
end
103107
end

0 commit comments

Comments
 (0)