| 
					
				 | 
			
			
				@@ -107,20 +107,33 @@ class AppListApi(Resource): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             # validate config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             model_config_dict = args['model_config'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            # get model provider 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            model_manager = ModelManager() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            model_instance = model_manager.get_default_model_instance( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                tenant_id=current_user.current_tenant_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                model_type=ModelType.LLM 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # Get provider configurations 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            provider_manager = ProviderManager() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            provider_configurations = provider_manager.get_configurations(current_user.current_tenant_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # get available models from provider_configurations 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            available_models = provider_configurations.get_models( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                model_type=ModelType.LLM, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                only_active=True 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if not model_instance: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                raise ProviderNotInitializeError( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    f"No Default System Reasoning Model available. Please configure " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    f"in the Settings -> Model Provider.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                model_config_dict["model"]["provider"] = model_instance.provider 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                model_config_dict["model"]["name"] = model_instance.model 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # check if model is available 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            available_models_names = [f'{model.provider.provider}.{model.model}' for model in available_models] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            provider_model = f"{model_config_dict['model']['provider']}.{model_config_dict['model']['name']}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if provider_model not in available_models_names: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                model_manager = ModelManager() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                model_instance = model_manager.get_default_model_instance( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    tenant_id=current_user.current_tenant_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    model_type=ModelType.LLM 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if not model_instance: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    raise ProviderNotInitializeError( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        f"No Default System Reasoning Model available. Please configure " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        f"in the Settings -> Model Provider.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    model_config_dict["model"]["provider"] = model_instance.provider 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    model_config_dict["model"]["name"] = model_instance.model 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             model_configuration = AppModelConfigService.validate_configuration( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 tenant_id=current_user.current_tenant_id, 
			 |