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

Commit 27de71f

Browse files
authored
FIX: Proper default LLM detection for inferred concepts (#1392)
1 parent 478f31d commit 27de71f

File tree

2 files changed

+22
-10
lines changed

2 files changed

+22
-10
lines changed

lib/inferred_concepts/finder.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def identify_concepts(content)
1515
.find { |p| p.id == SiteSetting.inferred_concepts_generate_persona.to_i }
1616
.new
1717

18-
llm = LlmModel.find(persona.default_llm_id)
18+
llm = LlmModel.find(persona.class.default_llm_id)
1919
context =
2020
DiscourseAi::Personas::BotContext.new(
2121
messages: [{ type: :user, content: content }],
@@ -154,7 +154,7 @@ def deduplicate_concepts(concept_names)
154154
.find { |p| p.id == SiteSetting.inferred_concepts_deduplicate_persona.to_i }
155155
.new
156156

157-
llm = LlmModel.find(persona.default_llm_id)
157+
llm = LlmModel.find(persona.class.default_llm_id)
158158

159159
# Create the input for the deduplicator
160160
input = { type: :user, content: concept_names.join(", ") }

spec/lib/inferred_concepts/finder_spec.rb

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,12 @@
3131
bot_double = instance_double("DiscourseAi::Personas::Bot")
3232

3333
allow(AiPersona).to receive(:all_personas).and_return([persona_class_double])
34-
allow(persona_class_double).to receive(:id).and_return(SiteSetting.inferred_concepts_generate_persona.to_i)
34+
allow(persona_class_double).to receive(:id).and_return(
35+
SiteSetting.inferred_concepts_generate_persona.to_i,
36+
)
3537
allow(persona_class_double).to receive(:new).and_return(persona_instance_double)
36-
allow(persona_instance_double).to receive(:default_llm_id).and_return(llm_model.id)
38+
allow(persona_instance_double).to receive(:class).and_return(persona_class_double)
39+
allow(persona_class_double).to receive(:default_llm_id).and_return(llm_model.id)
3740
allow(LlmModel).to receive(:find).with(llm_model.id).and_return(llm_model)
3841
allow(DiscourseAi::Personas::Bot).to receive(:as).and_return(bot_double)
3942
allow(bot_double).to receive(:reply).and_yield(
@@ -57,9 +60,12 @@
5760
bot_double = instance_double("DiscourseAi::Personas::Bot")
5861

5962
allow(AiPersona).to receive(:all_personas).and_return([persona_class_double])
60-
allow(persona_class_double).to receive(:id).and_return(SiteSetting.inferred_concepts_generate_persona.to_i)
63+
allow(persona_class_double).to receive(:id).and_return(
64+
SiteSetting.inferred_concepts_generate_persona.to_i,
65+
)
6166
allow(persona_class_double).to receive(:new).and_return(persona_instance_double)
62-
allow(persona_instance_double).to receive(:default_llm_id).and_return(llm_model.id)
67+
allow(persona_instance_double).to receive(:class).and_return(persona_class_double)
68+
allow(persona_class_double).to receive(:default_llm_id).and_return(llm_model.id)
6369
allow(LlmModel).to receive(:find).with(llm_model.id).and_return(llm_model)
6470
allow(DiscourseAi::Personas::Bot).to receive(:as).and_return(bot_double)
6571
allow(bot_double).to receive(:reply).and_yield(nil, nil, :text)
@@ -229,9 +235,12 @@
229235
bot_double = instance_double("DiscourseAi::Personas::Bot")
230236

231237
allow(AiPersona).to receive(:all_personas).and_return([persona_class_double])
232-
allow(persona_class_double).to receive(:id).and_return(SiteSetting.inferred_concepts_deduplicate_persona.to_i)
238+
allow(persona_class_double).to receive(:id).and_return(
239+
SiteSetting.inferred_concepts_deduplicate_persona.to_i,
240+
)
233241
allow(persona_class_double).to receive(:new).and_return(persona_instance_double)
234-
allow(persona_instance_double).to receive(:default_llm_id).and_return(llm_model.id)
242+
allow(persona_instance_double).to receive(:class).and_return(persona_class_double)
243+
allow(persona_class_double).to receive(:default_llm_id).and_return(llm_model.id)
235244
allow(LlmModel).to receive(:find).with(llm_model.id).and_return(llm_model)
236245
allow(DiscourseAi::Personas::Bot).to receive(:as).and_return(bot_double)
237246
allow(bot_double).to receive(:reply).and_yield(
@@ -255,9 +264,12 @@
255264
bot_double = instance_double("DiscourseAi::Personas::Bot")
256265

257266
allow(AiPersona).to receive(:all_personas).and_return([persona_class_double])
258-
allow(persona_class_double).to receive(:id).and_return(SiteSetting.inferred_concepts_deduplicate_persona.to_i)
267+
allow(persona_class_double).to receive(:id).and_return(
268+
SiteSetting.inferred_concepts_deduplicate_persona.to_i,
269+
)
259270
allow(persona_class_double).to receive(:new).and_return(persona_instance_double)
260-
allow(persona_instance_double).to receive(:default_llm_id).and_return(llm_model.id)
271+
allow(persona_instance_double).to receive(:class).and_return(persona_class_double)
272+
allow(persona_class_double).to receive(:default_llm_id).and_return(llm_model.id)
261273
allow(LlmModel).to receive(:find).with(llm_model.id).and_return(llm_model)
262274
allow(DiscourseAi::Personas::Bot).to receive(:as).and_return(bot_double)
263275
allow(bot_double).to receive(:reply).and_yield(nil, nil, :text)

0 commit comments

Comments
 (0)