Python: Improved exception messages in client initialization (#539)

* Improved exception messages in client initialization

* Fixed tests
This commit is contained in:
Dmytro Struk
2025-08-28 20:52:59 +00:00
committed by GitHub
parent f5043e4fc1
commit 0c28935382
8 changed files with 47 additions and 23 deletions
@@ -86,7 +86,10 @@ class AzureAssistantsClient(OpenAIAssistantsClient):
raise ServiceInitializationError("Failed to create Azure OpenAI settings.", ex) from ex
if not azure_openai_settings.chat_deployment_name:
raise ServiceInitializationError("The Azure OpenAI deployment name is required.")
raise ServiceInitializationError(
"Azure OpenAI deployment name is required. Set via 'deployment_name' parameter "
"or 'AZURE_OPENAI_CHAT_DEPLOYMENT_NAME' environment variable."
)
# Handle authentication: try API key first, then AD token, then Entra ID
if (
@@ -98,15 +98,16 @@ class AzureChatClient(AzureOpenAIConfigBase, OpenAIChatClientBase):
raise ServiceInitializationError(f"Failed to validate settings: {exc}") from exc
if not azure_openai_settings.chat_deployment_name:
raise ServiceInitializationError("chat_deployment_name is required.")
if not azure_openai_settings.api_version:
raise ServiceInitializationError("api_version is required.")
raise ServiceInitializationError(
"Azure OpenAI deployment name is required. Set via 'deployment_name' parameter "
"or 'AZURE_OPENAI_CHAT_DEPLOYMENT_NAME' environment variable."
)
super().__init__(
deployment_name=azure_openai_settings.chat_deployment_name,
endpoint=azure_openai_settings.endpoint,
base_url=azure_openai_settings.base_url,
api_version=azure_openai_settings.api_version,
api_version=azure_openai_settings.api_version, # type: ignore
api_key=azure_openai_settings.api_key.get_secret_value() if azure_openai_settings.api_key else None,
ad_token=ad_token,
ad_token_provider=ad_token_provider,
@@ -94,15 +94,16 @@ class AzureResponsesClient(AzureOpenAIConfigBase, OpenAIResponsesClientBase):
raise ServiceInitializationError(f"Failed to validate settings: {exc}") from exc
if not azure_openai_settings.responses_deployment_name:
raise ServiceInitializationError("responses_deployment_name is required.")
if not azure_openai_settings.api_version:
raise ServiceInitializationError("api_version is required.")
raise ServiceInitializationError(
"Azure OpenAI deployment name is required. Set via 'deployment_name' parameter "
"or 'AZURE_OPENAI_RESPONSES_DEPLOYMENT_NAME' environment variable."
)
super().__init__(
deployment_name=azure_openai_settings.responses_deployment_name,
endpoint=azure_openai_settings.endpoint,
base_url=azure_openai_settings.base_url,
api_version=azure_openai_settings.api_version,
api_version=azure_openai_settings.api_version, # type: ignore
api_key=azure_openai_settings.api_key.get_secret_value() if azure_openai_settings.api_key else None,
ad_token=ad_token,
ad_token_provider=ad_token_provider,