.Net: Fixed JSON schema name in Structured Outputs for generic types#9490
Merged
dmytrostruk merged 7 commits intomicrosoft:mainfrom Nov 1, 2024
Merged
Conversation
westey-m
reviewed
Oct 31, 2024
dotnet/src/Connectors/Connectors.OpenAI/Core/ClientCore.ChatCompletion.cs
Show resolved
Hide resolved
westey-m
approved these changes
Oct 31, 2024
dotnet/src/Connectors/Connectors.OpenAI.UnitTests/Services/OpenAIChatCompletionServiceTests.cs
Outdated
Show resolved
Hide resolved
|
Wouldn't it better to use fully qualified type names, as they are truly unique, and because OpenAI doesn't support symbols, use for example hash of string? |
Member
Author
@asvishnyakov Thanks for your feedback! I don't see a requirement for this property to be unique in OpenAI docs or usage of hash in their examples. It would be also nice to be consistent with Python implementation, which uses just a name. |
markwallace-microsoft
approved these changes
Nov 1, 2024
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.
Motivation and Context
Resolves: #9416
When C# type is passed as a response format to OpenAI chat completion service, we use the type name as JSON schema name. When the type is generic, its name will contain characters that are not allowed in JSON schema name according to OpenAI API. This PR fixes the issue by replacing invalid characters with empty string.
Contribution Checklist