[Feat] Unified Responses API - Add Azure Responses API support (#10116)

* initial commit for azure responses api support

* update get complete url

* fixes for responses API

* working azure responses API

* working responses API

* test suite for responses API

* azure responses API test suite

* fix test with complete url

* fix test refactor

* test fix metadata checks

* fix code quality check
This commit is contained in:
Ishaan Jaff 2025-04-17 16:47:59 -07:00 committed by GitHub
parent 8be8022914
commit d3e04eac7f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 428 additions and 191 deletions

View file

@ -60,7 +60,7 @@ class ResponsesAPIRequestUtils:
@staticmethod
def get_requested_response_api_optional_param(
params: Dict[str, Any]
params: Dict[str, Any],
) -> ResponsesAPIOptionalRequestParams:
"""
Filter parameters to only include those defined in ResponsesAPIOptionalRequestParams.
@ -72,7 +72,9 @@ class ResponsesAPIRequestUtils:
ResponsesAPIOptionalRequestParams instance with only the valid parameters
"""
valid_keys = get_type_hints(ResponsesAPIOptionalRequestParams).keys()
filtered_params = {k: v for k, v in params.items() if k in valid_keys}
filtered_params = {
k: v for k, v in params.items() if k in valid_keys and v is not None
}
return cast(ResponsesAPIOptionalRequestParams, filtered_params)
@ -88,7 +90,7 @@ class ResponseAPILoggingUtils:
@staticmethod
def _transform_response_api_usage_to_chat_usage(
usage: Union[dict, ResponseAPIUsage]
usage: Union[dict, ResponseAPIUsage],
) -> Usage:
"""Tranforms the ResponseAPIUsage object to a Usage object"""
response_api_usage: ResponseAPIUsage = (