Skip to content

Commit a5ae31a

Browse files
authored
DEV: Move AI model to a new dedicated setting (#296)
1 parent 851eb80 commit a5ae31a

File tree

8 files changed

+13
-39
lines changed

8 files changed

+13
-39
lines changed

app/services/discourse_ai/base_translator.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def translate
1515
)
1616

1717
structured_output =
18-
DiscourseAi::Completions::Llm.proxy(SiteSetting.ai_helper_model).generate(
18+
DiscourseAi::Completions::Llm.proxy(SiteSetting.ai_translation_model).generate(
1919
prompt,
2020
user: Discourse.system_user,
2121
feature_name: "translator-translate",

app/services/discourse_ai/language_detector.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def detect
5050
)
5151

5252
structured_output =
53-
DiscourseAi::Completions::Llm.proxy(SiteSetting.ai_helper_model).generate(
53+
DiscourseAi::Completions::Llm.proxy(SiteSetting.ai_translation_model).generate(
5454
prompt,
5555
user: Discourse.system_user,
5656
feature_name: "translator-language-detect",

app/services/discourse_translator/provider/discourse_ai.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def self.translate_text!(text, target_locale_sym = I18n.locale)
5555

5656
def self.validate_required_settings!
5757
unless SiteSetting.translator_enabled && SiteSetting.translator_provider == "DiscourseAi" &&
58-
SiteSetting.discourse_ai_enabled && SiteSetting.ai_helper_enabled
58+
SiteSetting.discourse_ai_enabled
5959
raise TranslatorError.new(
6060
I18n.t(
6161
"translator.discourse_ai.ai_helper_required",

lib/discourse_translator/validators/translator_selection_validator.rb

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,13 @@ def valid_value?(val)
1212

1313
if val == "DiscourseAi"
1414
return false if !defined?(::DiscourseAi)
15-
return false if !SiteSetting.ai_helper_enabled
1615
end
1716

1817
true
1918
end
2019

2120
def error_message
22-
return I18n.t("translator.discourse_ai.not_installed") if !defined?(::DiscourseAi)
23-
24-
if !SiteSetting.ai_helper_enabled
25-
I18n.t("translator.discourse_ai.ai_helper_required", { base_url: Discourse.base_url })
26-
end
21+
I18n.t("translator.discourse_ai.not_installed") if !defined?(::DiscourseAi)
2722
end
2823
end
2924
end

spec/lib/translator_selection_validator_spec.rb

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,10 @@
2121
end
2222
end
2323

24-
context "when DiscourseAi is defined but ai_helper_enabled is false" do
25-
it "returns false" do
26-
SiteSetting.ai_helper_enabled = false
27-
expect(described_class.new.valid_value?("DiscourseAi")).to eq(false)
28-
end
29-
end
30-
31-
context "when DiscourseAi is defined and ai_helper_enabled is true" do
24+
context "when DiscourseAi is defined" do
3225
it "returns true" do
3326
DiscourseAi::Completions::Llm.with_prepared_responses(["OK"]) do
34-
SiteSetting.ai_helper_model = "custom:#{llm_model.id}"
35-
SiteSetting.ai_helper_enabled = true
27+
SiteSetting.ai_translation_model = "custom:#{llm_model.id}"
3628
end
3729
expect(described_class.new.valid_value?("DiscourseAi")).to eq(true)
3830
end
@@ -57,20 +49,10 @@
5749
end
5850
end
5951

60-
context "when DiscourseAi is defined but ai_helper_enabled is false" do
61-
it "returns the ai_helper_required error message" do
62-
SiteSetting.ai_helper_enabled = false
63-
expect(described_class.new.error_message).to eq(
64-
I18n.t("translator.discourse_ai.ai_helper_required", { base_url: Discourse.base_url }),
65-
)
66-
end
67-
end
68-
69-
context "when DiscourseAi is defined and ai_helper_enabled is true" do
52+
context "when DiscourseAi is defined" do
7053
it "returns nil" do
7154
DiscourseAi::Completions::Llm.with_prepared_responses(["OK"]) do
72-
SiteSetting.ai_helper_model = "custom:#{llm_model.id}"
73-
SiteSetting.ai_helper_enabled = true
55+
SiteSetting.ai_translation_model = "custom:#{llm_model.id}"
7456
end
7557
expect(described_class.new.error_message).to be_nil
7658
end

spec/services/discourse_ai/base_translator_spec.rb

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@
55
describe DiscourseAi::BaseTranslator do
66
before do
77
Fabricate(:fake_model).tap do |fake_llm|
8-
SiteSetting.public_send("ai_helper_model=", "custom:#{fake_llm.id}")
8+
SiteSetting.public_send("ai_translation_model=", "custom:#{fake_llm.id}")
99
end
10-
SiteSetting.ai_helper_enabled = true
1110
end
1211

1312
describe ".translate" do
@@ -38,7 +37,7 @@
3837

3938
allow(DiscourseAi::Completions::Prompt).to receive(:new).and_return(mock_prompt)
4039
allow(DiscourseAi::Completions::Llm).to receive(:proxy).with(
41-
SiteSetting.ai_helper_model,
40+
SiteSetting.ai_translation_model,
4241
).and_return(mock_llm)
4342
allow(mock_llm).to receive(:generate).with(
4443
mock_prompt,

spec/services/discourse_ai/language_detector_spec.rb

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@
55
describe DiscourseAi::LanguageDetector do
66
before do
77
Fabricate(:fake_model).tap do |fake_llm|
8-
SiteSetting.public_send("ai_helper_model=", "custom:#{fake_llm.id}")
8+
SiteSetting.public_send("ai_translation_model=", "custom:#{fake_llm.id}")
99
end
10-
SiteSetting.ai_helper_enabled = true
1110
end
1211

1312
describe ".detect" do
@@ -35,7 +34,7 @@
3534

3635
allow(DiscourseAi::Completions::Prompt).to receive(:new).and_return(mock_prompt)
3736
allow(DiscourseAi::Completions::Llm).to receive(:proxy).with(
38-
SiteSetting.ai_helper_model,
37+
SiteSetting.ai_translation_model,
3938
).and_return(mock_llm)
4039
allow(mock_llm).to receive(:generate).with(
4140
mock_prompt,

spec/services/discourse_ai_spec.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@
66

77
before do
88
Fabricate(:fake_model).tap do |fake_llm|
9-
SiteSetting.public_send("ai_helper_model=", "custom:#{fake_llm.id}")
9+
SiteSetting.public_send("ai_translation_model=", "custom:#{fake_llm.id}")
1010
end
11-
SiteSetting.ai_helper_enabled = true
1211
SiteSetting.translator_enabled = true
1312
SiteSetting.translator_provider = "DiscourseAi"
1413
end

0 commit comments

Comments
 (0)