Fix/add or update model credentials (#13952)

This commit is contained in:
Yeuoly 2025-02-18 20:00:39 +08:00 committed by GitHub
parent aa19bb3f30
commit 899f7e125f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

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