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"], }, ),