Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE REQ] Azure OpenAI make the API version a settable string PLEASE #47637

Open
bartczernicki opened this issue Dec 22, 2024 · 5 comments
Open
Assignees
Labels
Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. issue-addressed Workflow: The Azure SDK team believes it to be addressed and ready to close. OpenAI question The issue doesn't require a change to the product in order to be resolved. Most issues start as that

Comments

@bartczernicki
Copy link

Library name

Azure.AI.OpenAI

Please describe the feature.

Why is the API version an ENUM and then stored in an interal string that cannot be changed?! This feels way over-engineered and resembles the old Azure SDK packages where we had ENUMs for Azure regions and the package became useless each time a new region was onboarded nor did it work for "private customer regions". Finally, we made that a string.

We have the same situation now. o1 is GA, customers are being onboarded and the SDK doesn't work because the 2024-12-01 API version is not in the ENUM. We have to wait for a new version of the package to come out. At least provide a mechanism to override this in the constructor or make it a get/set property not internal!

@github-actions github-actions bot added customer-reported Issues that are reported by GitHub users external to the Azure organization. needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. question The issue doesn't require a change to the product in order to be resolved. Most issues start as that labels Dec 22, 2024
@jsquire jsquire self-assigned this Dec 22, 2024
@jsquire jsquire added Client This issue points to a problem in the data-plane of the library. OpenAI labels Dec 22, 2024
@github-actions github-actions bot removed the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Dec 22, 2024
@jsquire
Copy link
Member

jsquire commented Dec 22, 2024

Hi @bartczernicki. Thank you for reaching out and we regret that you're experiencing difficulties. Azure SDK clients are intentionally constrained in what service versions they may interact with to ensure compatibility. Clients support the version of the service they were generated and built against as well as any previous GA versions, under the assumption that the service follows Azure REST guidelines for breaking changes.

The enumeration form is a deliberate design decision and discussed in the Azure SDK Guidelines. As a pattern across the Azure SDK for .NET, this is not something that Azure OpenAI would be permitted to deviate from.

@jsquire jsquire added needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. issue-addressed Workflow: The Azure SDK team believes it to be addressed and ready to close. labels Dec 22, 2024
@github-actions github-actions bot removed issue-addressed Workflow: The Azure SDK team believes it to be addressed and ready to close. needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. labels Dec 22, 2024
Copy link

Hi @bartczernicki. Thank you for opening this issue and giving us the opportunity to assist. We believe that this has been addressed. If you feel that further discussion is needed, please add a comment with the text "/unresolve" to remove the "issue-addressed" label and continue the conversation.

@jsquire jsquire added the issue-addressed Workflow: The Azure SDK team believes it to be addressed and ready to close. label Dec 22, 2024
Copy link

Hi @bartczernicki. Thank you for opening this issue and giving us the opportunity to assist. We believe that this has been addressed. If you feel that further discussion is needed, please add a comment with the text "/unresolve" to remove the "issue-addressed" label and continue the conversation.

@bartczernicki
Copy link
Author

bartczernicki commented Dec 23, 2024

@jsquire For context: I work for MSFT as an AI GBB. I understand the guidelines, it just prevents early access customers to have SDK access. If we need ENUMs for supported service versions...OK. Specifically, for Azure OpenAI many of these services are in "preview" and bugs are expected.

Furthermore, the non-beta and beta versions of the SDK force you to select preview or non-preview Service Versions. I do not understand that decision either, as Azure OpenAI there are certain APIs in preview that have specific model functionality. You would need to break the solution up to use different versions of the SDK package to mix functionality, which ones again forces me to fight the SDK.

It would be nice to override the ServiceVersion, by making that string property settable as an override. Make it a pragma warning directive if needed.

This causes downstream issues like this in Semantic Kernel:
microsoft/semantic-kernel#2833

@sdcb
Copy link

sdcb commented Dec 26, 2024

Hi @bartczernicki , this is my workaround for your reference, it works:

https://github.com/sdcb/chats/blob/d69e56e7c635fb1241cfc0e7f6323918ea95e99c/src/BE/Services/ChatServices/Implementations/OpenAI/AzureChatService.cs#L18-L25

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. issue-addressed Workflow: The Azure SDK team believes it to be addressed and ready to close. OpenAI question The issue doesn't require a change to the product in order to be resolved. Most issues start as that
Projects
None yet
Development

No branches or pull requests

3 participants