fix(validation): respect settings-bound provider and correct multimodal heuristic

This commit is contained in:
2026-02-24 16:04:14 +03:00
parent 5f6e9c0cc0
commit e0c0dd3221
3 changed files with 1 additions and 24 deletions

View File

@@ -74,7 +74,7 @@ def test_render_prompt_replaces_known_placeholders():
def test_is_multimodal_model_detects_known_vision_models():
assert is_multimodal_model("gpt-4o") is True
assert is_multimodal_model("claude-3-5-sonnet") is True
assert is_multimodal_model("stepfun/step-3.5-flash:free", "openrouter") is True
assert is_multimodal_model("stepfun/step-3.5-flash:free", "openrouter") is False
assert is_multimodal_model("text-only-model") is False
# [/DEF:test_is_multimodal_model_detects_known_vision_models:Function]

View File

@@ -161,13 +161,9 @@ def is_multimodal_model(model_name: str, provider_type: Optional[str] = None) ->
"internvl",
"qwen-vl",
"qwen2-vl",
"stepfun/step-3.5",
)
if any(marker in token for marker in multimodal_markers):
return True
# OpenRouter model ids are heterogeneous; keep permissive path for known StepFun family.
if provider == "openrouter" and token.startswith("stepfun/step-3.5"):
return True
return False
# [/DEF:is_multimodal_model:Function]

View File

@@ -51,30 +51,11 @@
validatingIds = new Set(validatingIds);
try {
// TODO: Get provider_id from settings or prompt user
// For now, we assume a default provider or let the backend handle it if possible,
// but the plugin requires provider_id.
// In a real implementation, we might open a modal to select provider if not configured globally.
// Or we pick the first active one.
// Fetch active provider first
const providers = await api.fetchApi("/llm/providers");
const activeProvider = providers.find((p: any) => p.is_active);
if (!activeProvider) {
toast(
"No active LLM provider found. Please configure one in settings.",
"error",
);
return;
}
await api.postApi("/tasks", {
plugin_id: "llm_dashboard_validation",
params: {
dashboard_id: dashboard.id.toString(),
environment_id: environmentId,
provider_id: activeProvider.id,
},
});