| 
					
				 | 
			
			
				@@ -7,6 +7,7 @@ from json import JSONDecodeError 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from typing import Optional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from pydantic import BaseModel, ConfigDict 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from sqlalchemy import or_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from constants import HIDDEN_VALUE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from core.entities import DEFAULT_PLUGIN_ID 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -28,6 +29,7 @@ from core.model_runtime.entities.provider_entities import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from core.model_runtime.model_providers.__base.ai_model import AIModel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from core.model_runtime.model_providers.model_provider_factory import ModelProviderFactory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from core.plugin.entities.plugin import ModelProviderID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from extensions.ext_database import db 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from models.provider import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     LoadBalancingModelConfig, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -190,8 +192,11 @@ class ProviderConfiguration(BaseModel): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             db.session.query(Provider) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             .filter( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Provider.tenant_id == self.tenant_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Provider.provider_name == self.provider.provider, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Provider.provider_type == ProviderType.CUSTOM.value, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                or_( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Provider.provider_name == ModelProviderID(self.provider.provider).plugin_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Provider.provider_name == self.provider.provider, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             .first() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -279,7 +284,10 @@ class ProviderConfiguration(BaseModel): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             db.session.query(Provider) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             .filter( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Provider.tenant_id == self.tenant_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Provider.provider_name == self.provider.provider, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                or_( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Provider.provider_name == ModelProviderID(self.provider.provider).plugin_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Provider.provider_name == self.provider.provider, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Provider.provider_type == ProviderType.CUSTOM.value, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             .first() 
			 |