-
Notifications
You must be signed in to change notification settings - Fork 5.2k
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
Azure OpenAI: fix object representation of response_format #26997
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
deyaaeldeen
approved these changes
Dec 7, 2023
Next Steps to MergeNext steps that must be taken to merge this PR:
|
Swagger Generation Artifacts
|
Generated ApiView
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
BreakingChangeReviewRequired
<valid label in PR review process>add this label when breaking change review is required
data-plane
TypeSpec
Authored with TypeSpec
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reference: https://platform.openai.com/docs/api-reference/chat/create#chat-create-response_format
response_format
has valid values of{ "type": "text" }
and{ "type": "json_object" }
. I unwittingly simplified this to an effective"text" | "json_object"
in our TypeSpec, which ultimately leads to request errors when attempting to set the type.This change addresses the problem by consistently aligning with the discriminated type pattern:
ChatCompletionsResponseFormat
is an "abstract" model with a@discriminator
fortype
whileChatCompletionsTextResponseFormat
andChatCompletionsJsonResponseFormat
are extended types. It's a bit odd to have no additional data beyond the discriminator itself set in that manner, but this is the right way to get emission to cooperate and also retains the proper flexibility if configurable response formats are introduced in the future.