mirror of
https://github.com/langgenius/dify-plugin-sdks.git
synced 2026-07-22 10:25:23 -04:00
b3e0612e53
Signed-off-by: -LAN- <laipz8200@outlook.com>
30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
import logging
|
|
from collections.abc import Mapping
|
|
|
|
from dify_plugin import ModelProvider
|
|
from dify_plugin.entities.model import ModelType
|
|
from dify_plugin.errors.model import CredentialsValidateFailedError
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class OpenAIProvider(ModelProvider):
|
|
def validate_provider_credentials(self, credentials: Mapping) -> None:
|
|
"""
|
|
Validate provider credentials
|
|
if validate failed, raise exception
|
|
|
|
:param credentials: provider credentials, credentials form defined in `provider_credential_schema`.
|
|
"""
|
|
try:
|
|
model_instance = self.get_model_instance(ModelType.LLM)
|
|
|
|
# Use `gpt-3.5-turbo` model for validate,
|
|
# no matter what model you pass in, text completion model or chat model
|
|
model_instance.validate_credentials(model="gpt-3.5-turbo", credentials=credentials)
|
|
except CredentialsValidateFailedError as ex:
|
|
raise ex
|
|
except Exception as ex:
|
|
logger.exception(f"{self.get_provider_schema().provider} credentials validate failed")
|
|
raise ex
|