From c62853bfda9a772ee40403de63b6d1ec5b7ae08b Mon Sep 17 00:00:00 2001 From: Lynn Date: Mon, 27 Jul 2026 09:53:22 +0800 Subject: [PATCH] Fix: verify remote model when model_list in argument and factory_llms is empty (#17364) --- api/apps/services/provider_api_service.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/api/apps/services/provider_api_service.py b/api/apps/services/provider_api_service.py index d030074b5b..ec128c2350 100644 --- a/api/apps/services/provider_api_service.py +++ b/api/apps/services/provider_api_service.py @@ -668,7 +668,23 @@ async def verify_api_key(provider_id_or_name: str, api_key: str | dict, base_url else: factory_llms = factory_info[0]["llm"] if not factory_llms: - return False, f"No models found for provider '{provider_id_or_name}'", {} + model_base_url = base_url or factory_info[0].get("url", "") + try: + if provider_name in ModelMeta: + remote_models = await ModelMeta[provider_name](api_key, model_base_url).get_model_list() + if remote_models: + factory_llms = [ + { + "model_type": mt, + "llm_name": m["name"], + } + for m in remote_models + for mt in m.get("model_types", []) + ] + except Exception: + pass + if not factory_llms: + return False, f"No models found for provider '{provider_id_or_name}'", {} model_verify_result = {} # test if api key works