fix: Don't sort json schema when using marshal_json#194
Closed
Baptistex wants to merge 1 commit intomistralai:mainfrom
Baptistex:fix_marshal_json_sort
Closed
fix: Don't sort json schema when using marshal_json#194Baptistex wants to merge 1 commit intomistralai:mainfrom Baptistex:fix_marshal_json_sort
Baptistex wants to merge 1 commit intomistralai:mainfrom
Baptistex:fix_marshal_json_sort
Conversation
Contributor
|
Hey @Baptistex thanks for opening a PR ! Nice catch, this is indeed resorting the fields when using the Structured Output feature. As stated in the header of the file that you modified ( We'll fix this with the Speakeasy team ASAP, I will update you on this once it's solved ! |
gastonguy
approved these changes
Mar 11, 2025
Collaborator
|
Thanks for opening this PR 🙇 |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
When using Custom Structured Outputs, the Pydantic model is transformed into a JSON schema, which keeps the order of the fields of the model, until the function
marshal_jsonis used, which sorts all the fields in alphabetical order.Changing the order of the fields of the model makes using structured outputs unpractical when order in which fields are generated is important (for example, when using thinking/reasoning).