Description
Library name
Azure.AI.OpenAI
Please describe the feature.
Please review your design strategy to increasingly seal off all the escape hatches available in the OpenAI SDK. We are adults and don't need protecting in this way - if that's the goal. By all means provide conveniences for the happy paths but also make it possible for consumers to drop down the layers, inherit, override, and extend making the full range of options available for working around problems.
By taking this approach you have created an unnecessary hard dependency on the Azure OpenAI SDK team. And hard blocking many issues/features ongoing that could other wise could be worked around.
Examples of real impact:
-
protocol methods are all sealed off in the Azure OpenAI SDK therefore it cannot be used to workaround issues like [BUG] gpt-image-1 model does not work with latest API version 2.2.0-beta4 #49965 where a parameter in the request body needs to be adjusted.
-
ServiceVersion enum used to be able to override using reflection because the property was a string, but that has changed so this method of workaround doesn't work. ideal there would be a first class way of passing the version number as a string. Again the lack of escape hatch is preventing a simple solution to the problem in issue [BUG] gpt-image-1 model does not work with latest API version 2.2.0-beta4 #49965 rather I've had to drop to the HTTP layer and write a policy that intercepts the request and rewrites the API version param.