feat: enhance credential extraction logic based on configurate method (#12853)

This commit is contained in:
Hiroshi Fujita 2025-01-20 22:59:22 +09:00 committed by GitHub
parent bc3a570dda
commit e3c996688d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -22,7 +22,12 @@ from core.helper import encrypter
from core.helper.model_provider_cache import ProviderCredentialsCache, ProviderCredentialsCacheType from core.helper.model_provider_cache import ProviderCredentialsCache, ProviderCredentialsCacheType
from core.helper.position_helper import is_filtered from core.helper.position_helper import is_filtered
from core.model_runtime.entities.model_entities import ModelType from core.model_runtime.entities.model_entities import ModelType
from core.model_runtime.entities.provider_entities import CredentialFormSchema, FormType, ProviderEntity from core.model_runtime.entities.provider_entities import (
ConfigurateMethod,
CredentialFormSchema,
FormType,
ProviderEntity,
)
from core.model_runtime.model_providers import model_provider_factory from core.model_runtime.model_providers import model_provider_factory
from extensions import ext_hosting_provider from extensions import ext_hosting_provider
from extensions.ext_database import db from extensions.ext_database import db
@ -835,11 +840,18 @@ class ProviderManager:
:return: :return:
""" """
# Get provider model credential secret variables # Get provider model credential secret variables
model_credential_secret_variables = self._extract_secret_variables( if ConfigurateMethod.PREDEFINED_MODEL in provider_entity.configurate_methods:
provider_entity.model_credential_schema.credential_form_schemas model_credential_secret_variables = self._extract_secret_variables(
if provider_entity.model_credential_schema provider_entity.provider_credential_schema.credential_form_schemas
else [] if provider_entity.provider_credential_schema
) else []
)
else:
model_credential_secret_variables = self._extract_secret_variables(
provider_entity.model_credential_schema.credential_form_schemas
if provider_entity.model_credential_schema
else []
)
model_settings: list[ModelSettings] = [] model_settings: list[ModelSettings] = []
if not provider_model_settings: if not provider_model_settings: