|  | @@ -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()
 |