diff --git a/app/services/problem_check/ai_llm_status.rb b/app/services/problem_check/ai_llm_status.rb
index f0f01cc43..23739a064 100644
--- a/app/services/problem_check/ai_llm_status.rb
+++ b/app/services/problem_check/ai_llm_status.rb
@@ -8,10 +8,6 @@ def call
llm_errors
end
- def base_path
- Discourse.base_path
- end
-
private
def llm_errors
@@ -26,20 +22,21 @@ def try_validate(model, &blk)
blk.call
nil
rescue => e
- error_message = parse_error_message(e.message)
- message =
- "#{I18n.t("dashboard.problem.ai_llm_status", { base_path: base_path, model_name: model.display_name, model_id: model.id })}"
+ details = {
+ model_id: model.id,
+ model_name: model.display_name,
+ error: parse_error_message(e.message),
+ url: "#{Discourse.base_path}/admin/plugins/discourse-ai/ai-llms/#{model.id}/edit",
+ }
+
+ message = I18n.t("dashboard.problem.ai_llm_status", details)
Problem.new(
message,
priority: "high",
identifier: "ai_llm_status",
target: model.id,
- details: {
- model_id: model.id,
- model_name: model.display_name,
- error: error_message,
- },
+ details:,
)
end
end
diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml
index aeefd76b3..f116f9783 100644
--- a/config/locales/server.en.yml
+++ b/config/locales/server.en.yml
@@ -484,4 +484,4 @@ en:
prompt_message_length: The message %{idx} is over the 1000 character limit.
dashboard:
problem:
- ai_llm_status: "The LLM model: %{model_name} is encountering issues. Please check the model's configuration page."
+ ai_llm_status: "The LLM model: %{model_name} is encountering issues. Please check the model's configuration page."
diff --git a/spec/services/problem_check/ai_llm_status_spec.rb b/spec/services/problem_check/ai_llm_status_spec.rb
index e0f01a81c..b92274eb9 100644
--- a/spec/services/problem_check/ai_llm_status_spec.rb
+++ b/spec/services/problem_check/ai_llm_status_spec.rb
@@ -42,7 +42,13 @@
it "returns a problem with an LLM model" do
stub_request(:post, post_url).to_return(status: 403, body: error_response, headers: {})
message =
- "#{I18n.t("dashboard.problem.ai_llm_status", { base_path: Discourse.base_path, model_name: llm_model.display_name, model_id: llm_model.id })}"
+ I18n.t(
+ "dashboard.problem.ai_llm_status",
+ {
+ model_name: llm_model.display_name,
+ url: "/admin/plugins/discourse-ai/ai-llms/#{llm_model.id}/edit",
+ },
+ )
expect(described_class.new.call).to contain_exactly(
have_attributes(
@@ -53,6 +59,7 @@
details: {
model_id: llm_model.id,
model_name: llm_model.display_name,
+ url: "/admin/plugins/discourse-ai/ai-llms/#{llm_model.id}/edit",
error: JSON.parse(error_response)["message"],
},
),