feat: improve multi model credentials (#25009)

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
非法操作 2025-09-03 13:52:31 +08:00 • committed by GitHub
commit b673560b92
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 332 additions and 150 deletions

View file

@ -72,6 +72,7 @@ class ModelProviderService:
provider_config = provider_configuration.custom_configuration.provider
model_config = provider_configuration.custom_configuration.models
can_added_models = provider_configuration.custom_configuration.can_added_models
provider_response = ProviderResponse(
tenant_id=tenant_id,
@ -95,6 +96,7 @@ class ModelProviderService:
current_credential_name=getattr(provider_config, "current_credential_name", None),
available_credentials=getattr(provider_config, "available_credentials", []),
custom_models=model_config,
can_added_models=can_added_models,
),
system_configuration=SystemConfigurationResponse(
enabled=provider_configuration.system_configuration.enabled,
@ -152,7 +154,7 @@ class ModelProviderService:
provider_configuration.validate_provider_credentials(credentials)
def create_provider_credential(
self, tenant_id: str, provider: str, credentials: dict, credential_name: str
self, tenant_id: str, provider: str, credentials: dict, credential_name: str | None
) -> None:
"""
Create and save new provider credentials.
@ -172,7 +174,7 @@ class ModelProviderService:
provider: str,
credentials: dict,
credential_id: str,
credential_name: str,
credential_name: str | None,
) -> None:
"""
update a saved provider credential (by credential_id).
@ -249,7 +251,7 @@ class ModelProviderService:
)
def create_model_credential(
self, tenant_id: str, provider: str, model_type: str, model: str, credentials: dict, credential_name: str
self, tenant_id: str, provider: str, model_type: str, model: str, credentials: dict, credential_name: str | None
) -> None:
"""
create and save model credentials.
@ -278,7 +280,7 @@ class ModelProviderService:
model: str,
credentials: dict,
credential_id: str,
credential_name: str,
credential_name: str | None,
) -> None:
"""
update model credentials.