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

Commit 9928261

Browse files
authored
DEV: Prefer ENV key for seeded models (#893)
This PR ensures we prefer getting the API key from environment variables when it is a seeded model.
1 parent 9505a89 commit 9928261

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

app/models/llm_model.rb

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,16 @@ def lookup_custom_param(key)
9595
end
9696

9797
def seeded?
98-
id < 0
98+
id.present? && id < 0
99+
end
100+
101+
def api_key
102+
if seeded?
103+
env_key = "DISCOURSE_AI_SEEDED_LLM_API_KEY_#{id.abs}"
104+
ENV[env_key] || self[:api_key]
105+
else
106+
self[:api_key]
107+
end
99108
end
100109

101110
private

spec/models/llm_model_spec.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# frozen_string_literal: true
2+
3+
RSpec.describe LlmModel do
4+
describe "api_key" do
5+
fab!(:llm_model) { Fabricate(:seeded_model) }
6+
7+
before { ENV["DISCOURSE_AI_SEEDED_LLM_API_KEY_2"] = "blabla" }
8+
9+
it "should use environment variable over database value if seeded LLM" do
10+
expect(llm_model.api_key).to eq("blabla")
11+
end
12+
end
13+
end

0 commit comments

Comments
 (0)