From 428b558a6b6cf4997d5dab65896f47b9871dc8d2 Mon Sep 17 00:00:00 2001 From: Dan Begallie Date: Wed, 3 May 2023 09:15:14 -0400 Subject: [PATCH] Fixes Nullability warnings --- .../TestHelpers/ChatCompletionTestHelper.cs | 6 +- .../TestHelpers/FileTestHelper.cs | 103 +++++++++--------- .../TestHelpers/FineTuningTestHelper.cs | 3 +- OpenAI.SDK/Managers/OpenAIAudioService.cs | 34 +----- OpenAI.SDK/Managers/OpenAIImage.cs | 18 ++- .../AudioCreateTranscriptionRequest.cs | 13 +-- .../ChatCompletionCreateRequest.cs | 8 +- .../RequestModels/CompletionCreateRequest.cs | 4 +- .../RequestModels/EditCreateRequest.cs | 2 +- .../RequestModels/EmbeddingCreateRequest.cs | 2 +- .../RequestModels/FineTuneCancelRequest.cs | 4 +- .../RequestModels/FineTuneCreateRequest.cs | 4 +- .../RequestModels/ImageCreateRequest.cs | 4 +- .../RequestModels/ImageEditCreateRequest.cs | 6 +- .../ImageVariationCreateRequest.cs | 6 +- .../AudioCreateTranscriptionResponse.cs | 14 +-- .../ChatCompletionCreateResponse.cs | 10 +- .../CompletionCreateResponse.cs | 10 +- .../CreateModerationResponse.cs | 28 ++--- .../ResponseModels/EditCreateResponse.cs | 8 +- .../ResponseModels/EmbeddingCreateResponse.cs | 10 +- .../FileResponseModels/FileDeleteResponse.cs | 4 +- .../FileResponseModels/FileListResponse.cs | 4 +- .../FileResponseModels/FileUploadResponse.cs | 8 +- .../FineTuneListEventsResponse.cs | 4 +- .../FineTuneListResponse.cs | 4 +- .../FineTuneResponse.cs | 22 ++-- .../ImageResponseModel/ImageCreateResponse.cs | 8 +- .../ModelResponseModels/ModelListResponse.cs | 4 +- .../ModelRetrieveResponse.cs | 14 +-- .../SharedModels/ChatChoiceResponse.cs | 8 +- .../SharedModels/ChoiceResponse.cs | 8 +- .../SharedModels/EventResponse.cs | 8 +- .../ObjectModels/SharedModels/FileResponse.cs | 10 +- .../SharedModels/IOpenAiModels.cs | 9 +- .../SharedModels/LogProbsResponse.cs | 12 +- 36 files changed, 205 insertions(+), 219 deletions(-) diff --git a/OpenAI.Playground/TestHelpers/ChatCompletionTestHelper.cs b/OpenAI.Playground/TestHelpers/ChatCompletionTestHelper.cs index 8a1e02fa..d5ff9e2c 100644 --- a/OpenAI.Playground/TestHelpers/ChatCompletionTestHelper.cs +++ b/OpenAI.Playground/TestHelpers/ChatCompletionTestHelper.cs @@ -28,7 +28,7 @@ public static async Task RunSimpleChatCompletionTest(IOpenAIService sdk) if (completionResult.Successful) { - Console.WriteLine(completionResult.Choices.First().Message.Content); + Console.WriteLine(completionResult.Choices.First().Message?.Content); } else { @@ -70,7 +70,7 @@ public static async Task RunSimpleCompletionStreamTest(IOpenAIService sdk) { if (completion.Successful) { - Console.Write(completion.Choices.First().Message.Content); + Console.Write(completion.Choices.First().Message?.Content); } else { @@ -92,4 +92,4 @@ public static async Task RunSimpleCompletionStreamTest(IOpenAIService sdk) throw; } } -} \ No newline at end of file +} diff --git a/OpenAI.Playground/TestHelpers/FileTestHelper.cs b/OpenAI.Playground/TestHelpers/FileTestHelper.cs index a3651b8c..735ed1ea 100644 --- a/OpenAI.Playground/TestHelpers/FileTestHelper.cs +++ b/OpenAI.Playground/TestHelpers/FileTestHelper.cs @@ -36,67 +36,70 @@ public static async Task RunSimpleFileTest(IOpenAIService sdk) await Task.Delay(10_000); foreach (var uploadedFile in uploadedFiles.Data) { - ConsoleExtensions.WriteLine($"Retrieving {uploadedFile.FileName}", ConsoleColor.DarkCyan); - var retrieveFileResponse = await sdk.Files.RetrieveFile(uploadedFile.Id); - if (retrieveFileResponse.Successful) + if (uploadedFile != null) { - ConsoleExtensions.WriteLine($"{retrieveFileResponse.FileName} retrieved", ConsoleColor.DarkGreen); - } - else - { - ConsoleExtensions.WriteLine($"Retrieve {retrieveFileResponse.FileName} failed", ConsoleColor.Red); - } + ConsoleExtensions.WriteLine($"Retrieving {uploadedFile.FileName}", ConsoleColor.DarkCyan); + var retrieveFileResponse = await sdk.Files.RetrieveFile(uploadedFile.Id); + if (retrieveFileResponse.Successful) + { + ConsoleExtensions.WriteLine($"{retrieveFileResponse.FileName} retrieved", ConsoleColor.DarkGreen); + } + else + { + ConsoleExtensions.WriteLine($"Retrieve {retrieveFileResponse.FileName} failed", ConsoleColor.Red); + } - var retrieveFileContentResponse = await sdk.Files.RetrieveFileContent(uploadedFile.Id); - if (retrieveFileContentResponse.Successful && retrieveFileContentResponse.Content?.Equals(sampleFileAsString) == true) - { - ConsoleExtensions.WriteLine($"retrieved content as string:{Environment.NewLine}{retrieveFileContentResponse.Content} ", ConsoleColor.DarkGreen); - } - else - { - ConsoleExtensions.WriteLine($"Retrieve {retrieveFileResponse.FileName} failed", ConsoleColor.Red); - } + var retrieveFileContentResponse = await sdk.Files.RetrieveFileContent(uploadedFile.Id); + if (retrieveFileContentResponse.Successful && retrieveFileContentResponse.Content?.Equals(sampleFileAsString) == true) + { + ConsoleExtensions.WriteLine($"retrieved content as string:{Environment.NewLine}{retrieveFileContentResponse.Content} ", ConsoleColor.DarkGreen); + } + else + { + ConsoleExtensions.WriteLine($"Retrieve {retrieveFileResponse.FileName} failed", ConsoleColor.Red); + } - var retrieveFileContentResponseAsByteArray = await sdk.Files.RetrieveFileContent(uploadedFile.Id); - if (retrieveFileContentResponseAsByteArray.Content != null && sampleFileAsString == Encoding.UTF8.GetString(retrieveFileContentResponseAsByteArray.Content)) - { - ConsoleExtensions.WriteLine($"retrieved content as byteArray:{Environment.NewLine}{Encoding.UTF8.GetString(retrieveFileContentResponseAsByteArray.Content)} ", ConsoleColor.DarkGreen); - } - else - { - ConsoleExtensions.WriteLine($"Retrieve {retrieveFileResponse.FileName} failed", ConsoleColor.Red); - } + var retrieveFileContentResponseAsByteArray = await sdk.Files.RetrieveFileContent(uploadedFile.Id); + if (retrieveFileContentResponseAsByteArray.Content != null && sampleFileAsString == Encoding.UTF8.GetString(retrieveFileContentResponseAsByteArray.Content)) + { + ConsoleExtensions.WriteLine($"retrieved content as byteArray:{Environment.NewLine}{Encoding.UTF8.GetString(retrieveFileContentResponseAsByteArray.Content)} ", ConsoleColor.DarkGreen); + } + else + { + ConsoleExtensions.WriteLine($"Retrieve {retrieveFileResponse.FileName} failed", ConsoleColor.Red); + } - var retrieveFileContentResponseAsStream = await sdk.Files.RetrieveFileContent(uploadedFile.Id); + var retrieveFileContentResponseAsStream = await sdk.Files.RetrieveFileContent(uploadedFile.Id); - if (retrieveFileContentResponseAsStream.Content != null) - { - var reader = new StreamReader(retrieveFileContentResponseAsStream.Content!); - var content = await reader.ReadToEndAsync(); - if (content.Equals(sampleFileAsString)) + if (retrieveFileContentResponseAsStream.Content != null) { - ConsoleExtensions.WriteLine($"retrieved content as Stream:{Environment.NewLine}{content} ", ConsoleColor.DarkGreen); + var reader = new StreamReader(retrieveFileContentResponseAsStream.Content!); + var content = await reader.ReadToEndAsync(); + if (content.Equals(sampleFileAsString)) + { + ConsoleExtensions.WriteLine($"retrieved content as Stream:{Environment.NewLine}{content} ", ConsoleColor.DarkGreen); + } + else + { + ConsoleExtensions.WriteLine($"Retrieve {retrieveFileResponse.FileName} failed", ConsoleColor.Red); + } } else { ConsoleExtensions.WriteLine($"Retrieve {retrieveFileResponse.FileName} failed", ConsoleColor.Red); } - } - else - { - ConsoleExtensions.WriteLine($"Retrieve {retrieveFileResponse.FileName} failed", ConsoleColor.Red); - } - // var fileContent = sdk.Files.RetrieveFileContent(file.Id); - ConsoleExtensions.WriteLine($"Deleting file {uploadedFile.FileName}", ConsoleColor.DarkCyan); - var deleteResponse = await sdk.Files.DeleteFile(uploadedFile.Id); - if (deleteResponse.Successful) - { - ConsoleExtensions.WriteLine($"{retrieveFileResponse.FileName} deleted", ConsoleColor.DarkGreen); - } - else - { - ConsoleExtensions.WriteLine($"Delete {retrieveFileResponse.FileName} failed", ConsoleColor.Red); + // var fileContent = sdk.Files.RetrieveFileContent(file.Id); + ConsoleExtensions.WriteLine($"Deleting file {uploadedFile.FileName}", ConsoleColor.DarkCyan); + var deleteResponse = await sdk.Files.DeleteFile(uploadedFile.Id); + if (deleteResponse.Successful) + { + ConsoleExtensions.WriteLine($"{retrieveFileResponse.FileName} deleted", ConsoleColor.DarkGreen); + } + else + { + ConsoleExtensions.WriteLine($"Delete {retrieveFileResponse.FileName} failed", ConsoleColor.Red); + } } } } @@ -125,4 +128,4 @@ public static async Task CleanAllFiles(IOpenAIService sdk) Console.WriteLine(e); } } -} \ No newline at end of file +} diff --git a/OpenAI.Playground/TestHelpers/FineTuningTestHelper.cs b/OpenAI.Playground/TestHelpers/FineTuningTestHelper.cs index 0a5a4854..58d3ac5a 100644 --- a/OpenAI.Playground/TestHelpers/FineTuningTestHelper.cs +++ b/OpenAI.Playground/TestHelpers/FineTuningTestHelper.cs @@ -84,7 +84,8 @@ public static async Task CleanUpAllFineTunings(IOpenAIService sdk) var fineTunes = await sdk.FineTunes.ListFineTunes(); foreach (var datum in fineTunes.Data) { + if (datum.FineTunedModel == null) continue; await sdk.FineTunes.DeleteFineTune(datum.FineTunedModel); } } -} \ No newline at end of file +} diff --git a/OpenAI.SDK/Managers/OpenAIAudioService.cs b/OpenAI.SDK/Managers/OpenAIAudioService.cs index 1575a3f0..cf5f97c9 100644 --- a/OpenAI.SDK/Managers/OpenAIAudioService.cs +++ b/OpenAI.SDK/Managers/OpenAIAudioService.cs @@ -24,32 +24,11 @@ public async Task CreateTranslation(AudioCreat private async Task Create(AudioCreateTranscriptionRequest audioCreateTranscriptionRequest, string uri, CancellationToken cancellationToken = default) { - var multipartContent = new MultipartFormDataContent(); - - if (audioCreateTranscriptionRequest is {File: not null, FileStream: not null}) - { - throw new ArgumentException("Either File or FileStream must be set, but not both."); - } - - if (audioCreateTranscriptionRequest.File != null) - { - multipartContent.Add( - new ByteArrayContent(audioCreateTranscriptionRequest.File), - "file", - audioCreateTranscriptionRequest.FileName - ); - } - else if (audioCreateTranscriptionRequest.FileStream != null) + var multipartContent = new MultipartFormDataContent { - multipartContent.Add( - new StreamContent(audioCreateTranscriptionRequest.FileStream), - "file", - audioCreateTranscriptionRequest.FileName - ); - } - - multipartContent.Add(new StringContent(audioCreateTranscriptionRequest.Model), "model"); - + {new ByteArrayContent(audioCreateTranscriptionRequest.File), "file", audioCreateTranscriptionRequest.FileName ?? string.Empty}, + {new StringContent(audioCreateTranscriptionRequest.Model ?? string.Empty), "model"} + }; if (audioCreateTranscriptionRequest.Language != null) { multipartContent.Add(new StringContent(audioCreateTranscriptionRequest.Language), "language"); @@ -71,8 +50,7 @@ private async Task Create(AudioCreateTranscrip } - if (null == audioCreateTranscriptionRequest.ResponseFormat || - StaticValues.AudioStatics.ResponseFormat.Json == audioCreateTranscriptionRequest.ResponseFormat || + if (StaticValues.AudioStatics.ResponseFormat.Json == audioCreateTranscriptionRequest.ResponseFormat || StaticValues.AudioStatics.ResponseFormat.VerboseJson == audioCreateTranscriptionRequest.ResponseFormat) { return await _httpClient.PostFileAndReadAsAsync(uri, multipartContent, cancellationToken); @@ -83,4 +61,4 @@ private async Task Create(AudioCreateTranscrip Text = await _httpClient.PostFileAndReadAsStringAsync(uri, multipartContent, cancellationToken) }; } -} \ No newline at end of file +} diff --git a/OpenAI.SDK/Managers/OpenAIImage.cs b/OpenAI.SDK/Managers/OpenAIImage.cs index 7767101e..8b857bb7 100644 --- a/OpenAI.SDK/Managers/OpenAIImage.cs +++ b/OpenAI.SDK/Managers/OpenAIImage.cs @@ -11,6 +11,7 @@ public partial class OpenAIService : IImageService /// Creates an image given a prompt. /// /// + /// /// public async Task CreateImage(ImageCreateRequest imageCreateModel, CancellationToken cancellationToken = default) { @@ -21,6 +22,7 @@ public async Task CreateImage(ImageCreateRequest imageCreat /// Creates an edited or extended image given an original image and a prompt. /// /// + /// /// public async Task CreateImageEdit(ImageEditCreateRequest imageEditCreateRequest, CancellationToken cancellationToken = default) { @@ -45,13 +47,17 @@ public async Task CreateImageEdit(ImageEditCreateRequest im multipartContent.Add(new StringContent(imageEditCreateRequest.N.ToString()!), "n"); } - if (imageEditCreateRequest.Mask != null) + if (imageEditCreateRequest.Mask != null && imageEditCreateRequest.MaskName != null) { multipartContent.Add(new ByteArrayContent(imageEditCreateRequest.Mask), "mask", imageEditCreateRequest.MaskName); } multipartContent.Add(new StringContent(imageEditCreateRequest.Prompt), "prompt"); - multipartContent.Add(new ByteArrayContent(imageEditCreateRequest.Image), "image", imageEditCreateRequest.ImageName); + + if (imageEditCreateRequest.Image != null && imageEditCreateRequest.ImageName != null) + { + multipartContent.Add(new ByteArrayContent(imageEditCreateRequest.Image), "image", imageEditCreateRequest.ImageName); + } return await _httpClient.PostFileAndReadAsAsync(_endpointProvider.ImageEditCreate(), multipartContent, cancellationToken); } @@ -60,6 +66,7 @@ public async Task CreateImageEdit(ImageEditCreateRequest im /// Creates a variation of a given image. /// /// + /// /// public async Task CreateImageVariation(ImageVariationCreateRequest imageEditCreateRequest, CancellationToken cancellationToken = default) { @@ -84,8 +91,11 @@ public async Task CreateImageVariation(ImageVariationCreate multipartContent.Add(new StringContent(imageEditCreateRequest.N.ToString()!), "n"); } - multipartContent.Add(new ByteArrayContent(imageEditCreateRequest.Image), "image", imageEditCreateRequest.ImageName); + if (imageEditCreateRequest.Image != null && imageEditCreateRequest.ImageName != null) + { + multipartContent.Add(new ByteArrayContent(imageEditCreateRequest.Image), "image", imageEditCreateRequest.ImageName); + } return await _httpClient.PostFileAndReadAsAsync(_endpointProvider.ImageVariationCreate(), multipartContent, cancellationToken); } -} \ No newline at end of file +} diff --git a/OpenAI.SDK/ObjectModels/RequestModels/AudioCreateTranscriptionRequest.cs b/OpenAI.SDK/ObjectModels/RequestModels/AudioCreateTranscriptionRequest.cs index 3e0b4f7c..5834828a 100644 --- a/OpenAI.SDK/ObjectModels/RequestModels/AudioCreateTranscriptionRequest.cs +++ b/OpenAI.SDK/ObjectModels/RequestModels/AudioCreateTranscriptionRequest.cs @@ -25,22 +25,17 @@ public record AudioCreateTranscriptionRequest : IModel, ITemperature, IFile /// /// The audio file to transcribe, in one of these formats: mp3, mp4, mpeg, mpga, m4a, wav, or webm. /// - public byte[]? File { get; set; } - - /// - /// The stream of the audio file to transcribe, in one of these formats: mp3, mp4, mpeg, mpga, m4a, wav, or webm. - /// - public Stream? FileStream { get; set; } + public byte[] File { get; set; } = Array.Empty(); /// /// FileName /// - public string FileName { get; set; } + public string? FileName { get; set; } = string.Empty; /// /// ID of the model to use. Only whisper-1 is currently available. /// - public string Model { get; set; } + public string? Model { get; set; } /// /// The sampling temperature, between 0 and 1. Higher values like 0.8 will make the output more random, while lower @@ -48,4 +43,4 @@ public record AudioCreateTranscriptionRequest : IModel, ITemperature, IFile /// automatically increase the temperature until certain thresholds are hit. /// public float? Temperature { get; set; } -} \ No newline at end of file +} diff --git a/OpenAI.SDK/ObjectModels/RequestModels/ChatCompletionCreateRequest.cs b/OpenAI.SDK/ObjectModels/RequestModels/ChatCompletionCreateRequest.cs index 5cdde6bf..2fe39144 100644 --- a/OpenAI.SDK/ObjectModels/RequestModels/ChatCompletionCreateRequest.cs +++ b/OpenAI.SDK/ObjectModels/RequestModels/ChatCompletionCreateRequest.cs @@ -14,7 +14,7 @@ public class ChatCompletionCreateRequest : IModelValidate, IOpenAiModels.ITemper /// short as 1 message or fill many pages. /// [JsonPropertyName("messages")] - public IList Messages { get; set; } + public IList? Messages { get; set; } /// /// An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the @@ -64,7 +64,7 @@ public IList? StopCalculated if (Stop != null) { - return new List {Stop}; + return new List { Stop }; } return StopAsList; @@ -133,5 +133,5 @@ public IEnumerable Validate() /// A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. Learn more. /// [JsonPropertyName("user")] - public string User { get; set; } -} \ No newline at end of file + public string? User { get; set; } +} diff --git a/OpenAI.SDK/ObjectModels/RequestModels/CompletionCreateRequest.cs b/OpenAI.SDK/ObjectModels/RequestModels/CompletionCreateRequest.cs index 50224c83..8859a5db 100644 --- a/OpenAI.SDK/ObjectModels/RequestModels/CompletionCreateRequest.cs +++ b/OpenAI.SDK/ObjectModels/RequestModels/CompletionCreateRequest.cs @@ -41,7 +41,7 @@ public IList? PromptCalculated if (Prompt != null) { - return new List {Prompt}; + return new List { Prompt }; } @@ -125,7 +125,7 @@ public IList? StopCalculated if (Stop != null) { - return new List {Stop}; + return new List { Stop }; } return StopAsList; diff --git a/OpenAI.SDK/ObjectModels/RequestModels/EditCreateRequest.cs b/OpenAI.SDK/ObjectModels/RequestModels/EditCreateRequest.cs index 95ebdd71..779911bc 100644 --- a/OpenAI.SDK/ObjectModels/RequestModels/EditCreateRequest.cs +++ b/OpenAI.SDK/ObjectModels/RequestModels/EditCreateRequest.cs @@ -22,7 +22,7 @@ public record EditCreateRequest : IModelValidate, IOpenAiModels.ITemperature, IO /// The instruction that tells the model how to edit the prompt. /// [JsonPropertyName("instruction")] - public string Instruction { get; set; } + public string? Instruction { get; set; } /// /// Defaults to 1 diff --git a/OpenAI.SDK/ObjectModels/RequestModels/EmbeddingCreateRequest.cs b/OpenAI.SDK/ObjectModels/RequestModels/EmbeddingCreateRequest.cs index 922276ca..0cc178e0 100644 --- a/OpenAI.SDK/ObjectModels/RequestModels/EmbeddingCreateRequest.cs +++ b/OpenAI.SDK/ObjectModels/RequestModels/EmbeddingCreateRequest.cs @@ -44,7 +44,7 @@ public IList? InputCalculated if (Input != null) { - return new List {Input}; + return new List { Input }; } return InputAsList; diff --git a/OpenAI.SDK/ObjectModels/RequestModels/FineTuneCancelRequest.cs b/OpenAI.SDK/ObjectModels/RequestModels/FineTuneCancelRequest.cs index b85cc445..af65dee0 100644 --- a/OpenAI.SDK/ObjectModels/RequestModels/FineTuneCancelRequest.cs +++ b/OpenAI.SDK/ObjectModels/RequestModels/FineTuneCancelRequest.cs @@ -4,5 +4,5 @@ namespace OpenAI.GPT3.ObjectModels.RequestModels; public record FineTuneCancelRequest { - [JsonPropertyName("fine_tune_id")] public string FineTuneId { get; set; } -} \ No newline at end of file + [JsonPropertyName("fine_tune_id")] public string? FineTuneId { get; set; } +} diff --git a/OpenAI.SDK/ObjectModels/RequestModels/FineTuneCreateRequest.cs b/OpenAI.SDK/ObjectModels/RequestModels/FineTuneCreateRequest.cs index 8d8d3826..af23c2c7 100644 --- a/OpenAI.SDK/ObjectModels/RequestModels/FineTuneCreateRequest.cs +++ b/OpenAI.SDK/ObjectModels/RequestModels/FineTuneCreateRequest.cs @@ -15,7 +15,7 @@ public record FineTuneCreateRequest : IOpenAiModels.IModel /// more details. /// [JsonPropertyName("training_file")] - public string TrainingFile { get; set; } + public string? TrainingFile { get; set; } /// /// The ID of an uploaded file that contains validation data. @@ -119,4 +119,4 @@ public record FineTuneCreateRequest : IOpenAiModels.IModel /// [JsonPropertyName("model")] public string? Model { get; set; } -} \ No newline at end of file +} diff --git a/OpenAI.SDK/ObjectModels/RequestModels/ImageCreateRequest.cs b/OpenAI.SDK/ObjectModels/RequestModels/ImageCreateRequest.cs index 73fd68d9..691e1512 100644 --- a/OpenAI.SDK/ObjectModels/RequestModels/ImageCreateRequest.cs +++ b/OpenAI.SDK/ObjectModels/RequestModels/ImageCreateRequest.cs @@ -21,5 +21,5 @@ public ImageCreateRequest(string prompt) /// A text description of the desired image(s). The maximum length is 1000 characters. /// [JsonPropertyName("prompt")] - public string Prompt { get; set; } -} \ No newline at end of file + public string Prompt { get; set; } = string.Empty; +} diff --git a/OpenAI.SDK/ObjectModels/RequestModels/ImageEditCreateRequest.cs b/OpenAI.SDK/ObjectModels/RequestModels/ImageEditCreateRequest.cs index 5c892da2..1289fb35 100644 --- a/OpenAI.SDK/ObjectModels/RequestModels/ImageEditCreateRequest.cs +++ b/OpenAI.SDK/ObjectModels/RequestModels/ImageEditCreateRequest.cs @@ -5,12 +5,12 @@ public record ImageEditCreateRequest : ImageCreateRequest /// /// The image to edit. Must be a valid PNG file, less than 4MB, and square. /// - public byte[] Image { get; set; } + public byte[]? Image { get; set; } /// /// Image file name /// - public string ImageName { get; set; } + public string? ImageName { get; set; } /// /// An additional image whose fully transparent areas (e.g. where alpha is zero) indicate where image should be edited. @@ -22,4 +22,4 @@ public record ImageEditCreateRequest : ImageCreateRequest /// Mask file name /// public string? MaskName { get; set; } -} \ No newline at end of file +} diff --git a/OpenAI.SDK/ObjectModels/RequestModels/ImageVariationCreateRequest.cs b/OpenAI.SDK/ObjectModels/RequestModels/ImageVariationCreateRequest.cs index 4a967768..7cd76f69 100644 --- a/OpenAI.SDK/ObjectModels/RequestModels/ImageVariationCreateRequest.cs +++ b/OpenAI.SDK/ObjectModels/RequestModels/ImageVariationCreateRequest.cs @@ -7,10 +7,10 @@ public record ImageVariationCreateRequest : SharedImageRequestBaseModel /// /// The image to edit. Must be a valid PNG file, less than 4MB, and square. /// - public byte[] Image { get; set; } + public byte[]? Image { get; set; } /// /// Image file name /// - public string ImageName { get; set; } -} \ No newline at end of file + public string? ImageName { get; set; } +} diff --git a/OpenAI.SDK/ObjectModels/ResponseModels/AudioCreateTranscriptionResponse.cs b/OpenAI.SDK/ObjectModels/ResponseModels/AudioCreateTranscriptionResponse.cs index 3a00f02e..ce78e82b 100644 --- a/OpenAI.SDK/ObjectModels/ResponseModels/AudioCreateTranscriptionResponse.cs +++ b/OpenAI.SDK/ObjectModels/ResponseModels/AudioCreateTranscriptionResponse.cs @@ -4,15 +4,15 @@ namespace OpenAI.GPT3.ObjectModels.ResponseModels; public record AudioCreateTranscriptionResponse : BaseResponse { - [JsonPropertyName("text")] public string Text { get; set; } + [JsonPropertyName("text")] public string? Text { get; set; } - [JsonPropertyName("task")] public string Task { get; set; } + [JsonPropertyName("task")] public string? Task { get; set; } - [JsonPropertyName("language")] public string Language { get; set; } + [JsonPropertyName("language")] public string? Language { get; set; } [JsonPropertyName("duration")] public float Duration { get; set; } - [JsonPropertyName("segments")] public List Segments { get; set; } + [JsonPropertyName("segments")] public List? Segments { get; set; } public class Segment { @@ -24,9 +24,9 @@ public class Segment [JsonPropertyName("end")] public float End { get; set; } - [JsonPropertyName("text")] public string Text { get; set; } + [JsonPropertyName("text")] public string? Text { get; set; } - [JsonPropertyName("tokens")] public List Tokens { get; set; } + [JsonPropertyName("tokens")] public List? Tokens { get; set; } [JsonPropertyName("temperature")] public float Temperature { get; set; } @@ -39,4 +39,4 @@ public class Segment [JsonPropertyName("transient")] public bool Transient { get; set; } } -} \ No newline at end of file +} diff --git a/OpenAI.SDK/ObjectModels/ResponseModels/ChatCompletionCreateResponse.cs b/OpenAI.SDK/ObjectModels/ResponseModels/ChatCompletionCreateResponse.cs index 49e5cd0d..807267ae 100644 --- a/OpenAI.SDK/ObjectModels/ResponseModels/ChatCompletionCreateResponse.cs +++ b/OpenAI.SDK/ObjectModels/ResponseModels/ChatCompletionCreateResponse.cs @@ -5,13 +5,13 @@ namespace OpenAI.GPT3.ObjectModels.ResponseModels; public record ChatCompletionCreateResponse : BaseResponse, IOpenAiModels.IId, IOpenAiModels.ICreatedAt { - [JsonPropertyName("model")] public string Model { get; set; } + [JsonPropertyName("model")] public string? Model { get; set; } - [JsonPropertyName("choices")] public List Choices { get; set; } + [JsonPropertyName("choices")] public List Choices { get; set; } = new(); - [JsonPropertyName("usage")] public UsageResponse Usage { get; set; } + [JsonPropertyName("usage")] public UsageResponse Usage { get; set; } = new(); [JsonPropertyName("created")] public int CreatedAt { get; set; } - [JsonPropertyName("id")] public string Id { get; set; } -} \ No newline at end of file + [JsonPropertyName("id")] public string Id { get; set; } = string.Empty; +} diff --git a/OpenAI.SDK/ObjectModels/ResponseModels/CompletionCreateResponse.cs b/OpenAI.SDK/ObjectModels/ResponseModels/CompletionCreateResponse.cs index e3e38de8..99d461cd 100644 --- a/OpenAI.SDK/ObjectModels/ResponseModels/CompletionCreateResponse.cs +++ b/OpenAI.SDK/ObjectModels/ResponseModels/CompletionCreateResponse.cs @@ -5,13 +5,13 @@ namespace OpenAI.GPT3.ObjectModels.ResponseModels; public record CompletionCreateResponse : BaseResponse, IOpenAiModels.IId, IOpenAiModels.ICreatedAt { - [JsonPropertyName("model")] public string Model { get; set; } + [JsonPropertyName("model")] public string? Model { get; set; } - [JsonPropertyName("choices")] public List Choices { get; set; } + [JsonPropertyName("choices")] public List Choices { get; set; } = new(); - [JsonPropertyName("usage")] public UsageResponse Usage { get; set; } + [JsonPropertyName("usage")] public UsageResponse? Usage { get; set; } [JsonPropertyName("created")] public int CreatedAt { get; set; } - [JsonPropertyName("id")] public string Id { get; set; } -} \ No newline at end of file + [JsonPropertyName("id")] public string Id { get; set; } = string.Empty; +} diff --git a/OpenAI.SDK/ObjectModels/ResponseModels/CreateModerationResponse.cs b/OpenAI.SDK/ObjectModels/ResponseModels/CreateModerationResponse.cs index a5014efb..05fa748e 100644 --- a/OpenAI.SDK/ObjectModels/ResponseModels/CreateModerationResponse.cs +++ b/OpenAI.SDK/ObjectModels/ResponseModels/CreateModerationResponse.cs @@ -5,18 +5,18 @@ namespace OpenAI.GPT3.ObjectModels.ResponseModels; public record CreateModerationResponse : BaseResponse, IOpenAiModels.IModel, IOpenAiModels.IId { - [JsonPropertyName("results")] public List Results { get; set; } + [JsonPropertyName("results")] public List Results { get; set; } = new(); - [JsonPropertyName("id")] public string Id { get; set; } + [JsonPropertyName("id")] public string Id { get; set; } = string.Empty; - [JsonPropertyName("model")] public string Model { get; set; } + [JsonPropertyName("model")] public string? Model { get; set; } } public record Result { - [JsonPropertyName("categories")] public Categories Categories { get; set; } + [JsonPropertyName("categories")] public Categories Categories { get; set; } = new(); - [JsonPropertyName("category_scores")] public CategoryScores CategoryScores { get; set; } + [JsonPropertyName("category_scores")] public CategoryScores CategoryScores { get; set; } = new(); [JsonPropertyName("flagged")] public bool Flagged { get; set; } } @@ -25,32 +25,32 @@ public record Categories { [JsonPropertyName("hate")] public bool Hate { get; set; } - [JsonPropertyName("hate/threatening")] public bool HateThreatening { get; set; } + [JsonPropertyName("hatethreatening")] public bool HateThreatening { get; set; } - [JsonPropertyName("self-harm")] public bool SelfHarm { get; set; } + [JsonPropertyName("selfharm")] public bool Selfharm { get; set; } [JsonPropertyName("sexual")] public bool Sexual { get; set; } - [JsonPropertyName("sexual/minors")] public bool SexualMinors { get; set; } + [JsonPropertyName("sexualminors")] public bool SexualMinors { get; set; } [JsonPropertyName("violence")] public bool Violence { get; set; } - [JsonPropertyName("violence/graphic")] public bool ViolenceGraphic { get; set; } + [JsonPropertyName("violencegraphic")] public bool Violencegraphic { get; set; } } public record CategoryScores { [JsonPropertyName("hate")] public float Hate { get; set; } - [JsonPropertyName("hate/threatening")] public float HateThreatening { get; set; } + [JsonPropertyName("hatethreatening")] public float HateThreatening { get; set; } - [JsonPropertyName("self-harm")] public float SelfHarm { get; set; } + [JsonPropertyName("selfharm")] public float Selfharm { get; set; } [JsonPropertyName("sexual")] public float Sexual { get; set; } - [JsonPropertyName("sexual/minors")] public float SexualMinors { get; set; } + [JsonPropertyName("sexualminors")] public float SexualMinors { get; set; } [JsonPropertyName("violence")] public float Violence { get; set; } - [JsonPropertyName("violence/graphic")] public float ViolenceGraphic { get; set; } -} \ No newline at end of file + [JsonPropertyName("violencegraphic")] public float Violencegraphic { get; set; } +} diff --git a/OpenAI.SDK/ObjectModels/ResponseModels/EditCreateResponse.cs b/OpenAI.SDK/ObjectModels/ResponseModels/EditCreateResponse.cs index 6cdd6da7..ceeb9233 100644 --- a/OpenAI.SDK/ObjectModels/ResponseModels/EditCreateResponse.cs +++ b/OpenAI.SDK/ObjectModels/ResponseModels/EditCreateResponse.cs @@ -5,11 +5,11 @@ namespace OpenAI.GPT3.ObjectModels.ResponseModels; public record EditCreateResponse : BaseResponse, IOpenAiModels.ICreatedAt { - [JsonPropertyName("model")] public string Model { get; set; } + [JsonPropertyName("model")] public string? Model { get; set; } - [JsonPropertyName("choices")] public List Choices { get; set; } + [JsonPropertyName("choices")] public List Choices { get; set; } = new(); - [JsonPropertyName("usage")] public UsageResponse Usage { get; set; } + [JsonPropertyName("usage")] public UsageResponse? Usage { get; set; } [JsonPropertyName("created")] public int CreatedAt { get; set; } -} \ No newline at end of file +} diff --git a/OpenAI.SDK/ObjectModels/ResponseModels/EmbeddingCreateResponse.cs b/OpenAI.SDK/ObjectModels/ResponseModels/EmbeddingCreateResponse.cs index 121e814d..f68bd2c9 100644 --- a/OpenAI.SDK/ObjectModels/ResponseModels/EmbeddingCreateResponse.cs +++ b/OpenAI.SDK/ObjectModels/ResponseModels/EmbeddingCreateResponse.cs @@ -4,16 +4,16 @@ namespace OpenAI.GPT3.ObjectModels.ResponseModels; public record EmbeddingCreateResponse : BaseResponse { - [JsonPropertyName("model")] public string Model { get; set; } + [JsonPropertyName("model")] public string? Model { get; set; } - [JsonPropertyName("data")] public List Data { get; set; } + [JsonPropertyName("data")] public List Data { get; set; } = new(); - [JsonPropertyName("usage")] public UsageResponse Usage { get; set; } + [JsonPropertyName("usage")] public UsageResponse? Usage { get; set; } } public record EmbeddingResponse { [JsonPropertyName("index")] public int? Index { get; set; } - [JsonPropertyName("embedding")] public List Embedding { get; set; } -} \ No newline at end of file + [JsonPropertyName("embedding")] public List? Embedding { get; set; } +} diff --git a/OpenAI.SDK/ObjectModels/ResponseModels/FileResponseModels/FileDeleteResponse.cs b/OpenAI.SDK/ObjectModels/ResponseModels/FileResponseModels/FileDeleteResponse.cs index 2392fe68..13da55ec 100644 --- a/OpenAI.SDK/ObjectModels/ResponseModels/FileResponseModels/FileDeleteResponse.cs +++ b/OpenAI.SDK/ObjectModels/ResponseModels/FileResponseModels/FileDeleteResponse.cs @@ -6,5 +6,5 @@ namespace OpenAI.GPT3.ObjectModels.ResponseModels.FileResponseModels; public record FileDeleteResponse : BaseResponse, IOpenAiModels.IId { [JsonPropertyName("deleted")] public bool Deleted { get; set; } - [JsonPropertyName("id")] public string Id { get; set; } -} \ No newline at end of file + [JsonPropertyName("id")] public string Id { get; set; } = string.Empty; +} diff --git a/OpenAI.SDK/ObjectModels/ResponseModels/FileResponseModels/FileListResponse.cs b/OpenAI.SDK/ObjectModels/ResponseModels/FileResponseModels/FileListResponse.cs index 0e27764e..0b1a4031 100644 --- a/OpenAI.SDK/ObjectModels/ResponseModels/FileResponseModels/FileListResponse.cs +++ b/OpenAI.SDK/ObjectModels/ResponseModels/FileResponseModels/FileListResponse.cs @@ -5,5 +5,5 @@ namespace OpenAI.GPT3.ObjectModels.ResponseModels.FileResponseModels; public record FileListResponse : BaseResponse { - [JsonPropertyName("data")] public List Data { get; set; } -} \ No newline at end of file + [JsonPropertyName("data")] public List Data { get; set; } = new(); +} diff --git a/OpenAI.SDK/ObjectModels/ResponseModels/FileResponseModels/FileUploadResponse.cs b/OpenAI.SDK/ObjectModels/ResponseModels/FileResponseModels/FileUploadResponse.cs index 2307cb73..d4008f76 100644 --- a/OpenAI.SDK/ObjectModels/ResponseModels/FileResponseModels/FileUploadResponse.cs +++ b/OpenAI.SDK/ObjectModels/ResponseModels/FileResponseModels/FileUploadResponse.cs @@ -5,13 +5,13 @@ namespace OpenAI.GPT3.ObjectModels.ResponseModels.FileResponseModels; public record FileUploadResponse : BaseResponse, IOpenAiModels.ICreatedAt { - [JsonPropertyName("id")] public string Id { get; set; } + [JsonPropertyName("id")] public string Id { get; set; } = string.Empty; [JsonPropertyName("bytes")] public int Bytes { get; set; } - [JsonPropertyName("filename")] public string FileName { get; set; } + [JsonPropertyName("filename")] public string? FileName { get; set; } - [JsonPropertyName("purpose")] public string Purpose { get; set; } + [JsonPropertyName("purpose")] public string? Purpose { get; set; } [JsonPropertyName("created_at")] public int CreatedAt { get; set; } -} \ No newline at end of file +} diff --git a/OpenAI.SDK/ObjectModels/ResponseModels/FineTuneResponseModels/FineTuneListEventsResponse.cs b/OpenAI.SDK/ObjectModels/ResponseModels/FineTuneResponseModels/FineTuneListEventsResponse.cs index adb2665e..84411fc9 100644 --- a/OpenAI.SDK/ObjectModels/ResponseModels/FineTuneResponseModels/FineTuneListEventsResponse.cs +++ b/OpenAI.SDK/ObjectModels/ResponseModels/FineTuneResponseModels/FineTuneListEventsResponse.cs @@ -5,5 +5,5 @@ namespace OpenAI.GPT3.ObjectModels.ResponseModels.FineTuneResponseModels; public record FineTuneListEventsResponse : BaseResponse { - [JsonPropertyName("data")] public List Data { get; set; } -} \ No newline at end of file + [JsonPropertyName("data")] public List Data { get; set; } = new(); +} diff --git a/OpenAI.SDK/ObjectModels/ResponseModels/FineTuneResponseModels/FineTuneListResponse.cs b/OpenAI.SDK/ObjectModels/ResponseModels/FineTuneResponseModels/FineTuneListResponse.cs index 20734682..02672d5b 100644 --- a/OpenAI.SDK/ObjectModels/ResponseModels/FineTuneResponseModels/FineTuneListResponse.cs +++ b/OpenAI.SDK/ObjectModels/ResponseModels/FineTuneResponseModels/FineTuneListResponse.cs @@ -4,5 +4,5 @@ namespace OpenAI.GPT3.ObjectModels.ResponseModels.FineTuneResponseModels; public record FineTuneListResponse : BaseResponse { - [JsonPropertyName("data")] public List Data { get; set; } -} \ No newline at end of file + [JsonPropertyName("data")] public List Data { get; set; } = new(); +} diff --git a/OpenAI.SDK/ObjectModels/ResponseModels/FineTuneResponseModels/FineTuneResponse.cs b/OpenAI.SDK/ObjectModels/ResponseModels/FineTuneResponseModels/FineTuneResponse.cs index 6220ac94..0df16389 100644 --- a/OpenAI.SDK/ObjectModels/ResponseModels/FineTuneResponseModels/FineTuneResponse.cs +++ b/OpenAI.SDK/ObjectModels/ResponseModels/FineTuneResponseModels/FineTuneResponse.cs @@ -5,26 +5,26 @@ namespace OpenAI.GPT3.ObjectModels.ResponseModels.FineTuneResponseModels; public record FineTuneResponse : BaseResponse, IOpenAiModels.IId, IOpenAiModels.IModel, IOpenAiModels.ICreatedAt { - [JsonPropertyName("events")] public List Events { get; set; } + [JsonPropertyName("events")] public List? Events { get; set; } - [JsonPropertyName("fine_tuned_model")] public string FineTunedModel { get; set; } + [JsonPropertyName("fine_tuned_model")] public string? FineTunedModel { get; set; } - [JsonPropertyName("hyperparams")] public HyperParametersResponse HyperParams { get; set; } + [JsonPropertyName("hyperparams")] public HyperParametersResponse? HyperParams { get; set; } - [JsonPropertyName("organization_id")] public string OrganizationId { get; set; } + [JsonPropertyName("organization_id")] public string? OrganizationId { get; set; } - [JsonPropertyName("result_files")] public List ResultFiles { get; set; } + [JsonPropertyName("result_files")] public List? ResultFiles { get; set; } - [JsonPropertyName("status")] public string Status { get; set; } + [JsonPropertyName("status")] public string Status { get; set; } = string.Empty; - [JsonPropertyName("validation_files")] public List ValidationFiles { get; set; } + [JsonPropertyName("validation_files")] public List? ValidationFiles { get; set; } - [JsonPropertyName("training_files")] public List TrainingFiles { get; set; } + [JsonPropertyName("training_files")] public List? TrainingFiles { get; set; } [JsonPropertyName("updated_at")] public int? UpdatedAt { get; set; } [JsonPropertyName("created_at")] public int CreatedAt { get; set; } - [JsonPropertyName("id")] public string Id { get; set; } + [JsonPropertyName("id")] public string Id { get; set; } = string.Empty; - [JsonPropertyName("model")] public string Model { get; set; } -} \ No newline at end of file + [JsonPropertyName("model")] public string? Model { get; set; } +} diff --git a/OpenAI.SDK/ObjectModels/ResponseModels/ImageResponseModel/ImageCreateResponse.cs b/OpenAI.SDK/ObjectModels/ResponseModels/ImageResponseModel/ImageCreateResponse.cs index aec41518..2dd12104 100644 --- a/OpenAI.SDK/ObjectModels/ResponseModels/ImageResponseModel/ImageCreateResponse.cs +++ b/OpenAI.SDK/ObjectModels/ResponseModels/ImageResponseModel/ImageCreateResponse.cs @@ -5,13 +5,13 @@ namespace OpenAI.GPT3.ObjectModels.ResponseModels.ImageResponseModel; public record ImageCreateResponse : BaseResponse, IOpenAiModels.ICreatedAt { - [JsonPropertyName("data")] public List Results { get; set; } + [JsonPropertyName("data")] public List Results { get; set; } = new(); [JsonPropertyName("created")] public int CreatedAt { get; set; } public record ImageDataResult { - [JsonPropertyName("url")] public string Url { get; set; } - [JsonPropertyName("b64_json")] public string B64 { get; set; } + [JsonPropertyName("url")] public string? Url { get; set; } + [JsonPropertyName("b64_json")] public string? B64 { get; set; } } -} \ No newline at end of file +} diff --git a/OpenAI.SDK/ObjectModels/ResponseModels/ModelResponseModels/ModelListResponse.cs b/OpenAI.SDK/ObjectModels/ResponseModels/ModelResponseModels/ModelListResponse.cs index 61a39fa7..0022b396 100644 --- a/OpenAI.SDK/ObjectModels/ResponseModels/ModelResponseModels/ModelListResponse.cs +++ b/OpenAI.SDK/ObjectModels/ResponseModels/ModelResponseModels/ModelListResponse.cs @@ -4,5 +4,5 @@ namespace OpenAI.GPT3.ObjectModels.ResponseModels.ModelResponseModels; public record ModelListResponse : BaseResponse { - [JsonPropertyName("data")] public List Models { get; set; } -} \ No newline at end of file + [JsonPropertyName("data")] public List Models { get; set; } = new(); +} diff --git a/OpenAI.SDK/ObjectModels/ResponseModels/ModelResponseModels/ModelRetrieveResponse.cs b/OpenAI.SDK/ObjectModels/ResponseModels/ModelResponseModels/ModelRetrieveResponse.cs index c5a9e44a..0dd54db8 100644 --- a/OpenAI.SDK/ObjectModels/ResponseModels/ModelResponseModels/ModelRetrieveResponse.cs +++ b/OpenAI.SDK/ObjectModels/ResponseModels/ModelResponseModels/ModelRetrieveResponse.cs @@ -3,15 +3,15 @@ namespace OpenAI.GPT3.ObjectModels.ResponseModels.ModelResponseModels; public record ModelRetrieveResponse : ModelResponse - // ReSharper disable once RedundantRecordBody +// ReSharper disable once RedundantRecordBody { } public record ModelResponse : BaseResponse { - [JsonPropertyName("id")] public string Id { get; set; } + [JsonPropertyName("id")] public string Id { get; set; } = string.Empty; - [JsonPropertyName("owned_by")] public string Owner { get; set; } + [JsonPropertyName("owned_by")] public string? Owner { get; set; } [JsonPropertyName("permission")] public List Permissions { get; set; } = new(); @@ -26,7 +26,7 @@ public record ModelResponse : BaseResponse public record Permission : BaseResponse { - [JsonPropertyName("id")] public string Id { get; set; } + [JsonPropertyName("id")] public string Id { get; set; } = string.Empty; [JsonPropertyName("created")] public int Created { get; set; } public DateTimeOffset CreatedTime => DateTimeOffset.FromUnixTimeSeconds(Created); @@ -46,9 +46,9 @@ public record Permission : BaseResponse [JsonPropertyName("allow_fine_tuning")] public bool AllowFineTuning { get; set; } - [JsonPropertyName("organization")] public string Organization { get; set; } + [JsonPropertyName("organization")] public string? Organization { get; set; } - [JsonPropertyName("group")] public object Group { get; set; } + [JsonPropertyName("group")] public object? Group { get; set; } [JsonPropertyName("is_blocking")] public bool IsBlocking { get; set; } -} \ No newline at end of file +} diff --git a/OpenAI.SDK/ObjectModels/SharedModels/ChatChoiceResponse.cs b/OpenAI.SDK/ObjectModels/SharedModels/ChatChoiceResponse.cs index cd7c1e07..dd90d636 100644 --- a/OpenAI.SDK/ObjectModels/SharedModels/ChatChoiceResponse.cs +++ b/OpenAI.SDK/ObjectModels/SharedModels/ChatChoiceResponse.cs @@ -6,15 +6,15 @@ namespace OpenAI.GPT3.ObjectModels.SharedModels; public record ChatChoiceResponse { [JsonPropertyName("delta")] - public ChatMessage Delta + public ChatMessage? Delta { get => Message; set => Message = value; } - [JsonPropertyName("message")] public ChatMessage Message { get; set; } + [JsonPropertyName("message")] public ChatMessage? Message { get; set; } [JsonPropertyName("index")] public int? Index { get; set; } - [JsonPropertyName("finish_reason")] public string FinishReason { get; set; } -} \ No newline at end of file + [JsonPropertyName("finish_reason")] public string? FinishReason { get; set; } +} diff --git a/OpenAI.SDK/ObjectModels/SharedModels/ChoiceResponse.cs b/OpenAI.SDK/ObjectModels/SharedModels/ChoiceResponse.cs index ce7492a2..e9777a9b 100644 --- a/OpenAI.SDK/ObjectModels/SharedModels/ChoiceResponse.cs +++ b/OpenAI.SDK/ObjectModels/SharedModels/ChoiceResponse.cs @@ -4,11 +4,11 @@ namespace OpenAI.GPT3.ObjectModels.SharedModels; public record ChoiceResponse : IOpenAiModels.ILogProbsResponse { - [JsonPropertyName("text")] public string Text { get; set; } + [JsonPropertyName("text")] public string Text { get; set; } = string.Empty; [JsonPropertyName("index")] public int? Index { get; set; } - [JsonPropertyName("finish_reason")] public string FinishReason { get; set; } + [JsonPropertyName("finish_reason")] public string? FinishReason { get; set; } - [JsonPropertyName("logprobs")] public LogProbsResponse LogProbs { get; set; } -} \ No newline at end of file + [JsonPropertyName("logprobs")] public LogProbsResponse? LogProbs { get; set; } +} diff --git a/OpenAI.SDK/ObjectModels/SharedModels/EventResponse.cs b/OpenAI.SDK/ObjectModels/SharedModels/EventResponse.cs index ad734192..194e9aa6 100644 --- a/OpenAI.SDK/ObjectModels/SharedModels/EventResponse.cs +++ b/OpenAI.SDK/ObjectModels/SharedModels/EventResponse.cs @@ -4,11 +4,11 @@ namespace OpenAI.GPT3.ObjectModels.SharedModels; public record EventResponse { - [JsonPropertyName("object")] public string Object { get; set; } + [JsonPropertyName("object")] public string? Object { get; set; } [JsonPropertyName("created_at")] public int? CreatedAt { get; set; } - [JsonPropertyName("level")] public string Level { get; set; } + [JsonPropertyName("level")] public string? Level { get; set; } - [JsonPropertyName("message")] public string Message { get; set; } -} \ No newline at end of file + [JsonPropertyName("message")] public string? Message { get; set; } +} diff --git a/OpenAI.SDK/ObjectModels/SharedModels/FileResponse.cs b/OpenAI.SDK/ObjectModels/SharedModels/FileResponse.cs index 4e9c6ffd..e0c68f6f 100644 --- a/OpenAI.SDK/ObjectModels/SharedModels/FileResponse.cs +++ b/OpenAI.SDK/ObjectModels/SharedModels/FileResponse.cs @@ -6,10 +6,10 @@ namespace OpenAI.GPT3.ObjectModels.SharedModels; public record FileResponse : BaseResponse, IOpenAiModels.IId, IOpenAiModels.ICreatedAt { [JsonPropertyName("bytes")] public int? Bytes { get; set; } - [JsonPropertyName("filename")] public string FileName { get; set; } + [JsonPropertyName("filename")] public string FileName { get; set; } = null!; public UploadFilePurposes.UploadFilePurpose PurposeEnum => UploadFilePurposes.ToEnum(Purpose); - [JsonPropertyName("purpose")] public string Purpose { get; set; } - [JsonPropertyName("status")] public string Status { get; set; } + [JsonPropertyName("purpose")] public string Purpose { get; set; } = string.Empty; + [JsonPropertyName("status")] public string? Status { get; set; } [JsonPropertyName("created_at")] public int CreatedAt { get; set; } - [JsonPropertyName("id")] public string Id { get; set; } -} \ No newline at end of file + [JsonPropertyName("id")] public string Id { get; set; } = string.Empty; +} diff --git a/OpenAI.SDK/ObjectModels/SharedModels/IOpenAiModels.cs b/OpenAI.SDK/ObjectModels/SharedModels/IOpenAiModels.cs index 463858a9..9fe4dd5b 100644 --- a/OpenAI.SDK/ObjectModels/SharedModels/IOpenAiModels.cs +++ b/OpenAI.SDK/ObjectModels/SharedModels/IOpenAiModels.cs @@ -19,7 +19,7 @@ public interface ILogProbsRequest public interface ILogProbsResponse { - LogProbsResponse LogProbs { get; set; } + LogProbsResponse? LogProbs { get; set; } } public interface ITemperature @@ -34,13 +34,12 @@ public interface ICreatedAt public interface IUser { - public string User { get; set; } + public string? User { get; set; } } public interface IFile { public byte[] File { get; set; } - public Stream FileStream { get; set; } - public string FileName { get; set; } + public string? FileName { get; set; } } -} \ No newline at end of file +} diff --git a/OpenAI.SDK/ObjectModels/SharedModels/LogProbsResponse.cs b/OpenAI.SDK/ObjectModels/SharedModels/LogProbsResponse.cs index 3b3d9432..ced4783c 100644 --- a/OpenAI.SDK/ObjectModels/SharedModels/LogProbsResponse.cs +++ b/OpenAI.SDK/ObjectModels/SharedModels/LogProbsResponse.cs @@ -4,11 +4,11 @@ namespace OpenAI.GPT3.ObjectModels.SharedModels; public record LogProbsResponse { - [JsonPropertyName("tokens")] public List Tokens { get; set; } + [JsonPropertyName("tokens")] public List? Tokens { get; set; } - [JsonPropertyName("token_logprobs")] public List TokenLogProbs { get; set; } + [JsonPropertyName("token_logprobs")] public List? TokenLogProbs { get; set; } - [JsonPropertyName("top_logprobs")] public List> TopLogProbsRaw { get; set; } + [JsonPropertyName("top_logprobs")] public List> TopLogProbsRaw { get; set; } = new(); public List TopLogProbs => TopLogProbsRaw.SelectMany(r => r.Select(a => new TopLogProbResponse { @@ -16,11 +16,11 @@ public record LogProbsResponse LogProp = a.Value })).ToList(); - [JsonPropertyName("text_offset")] public List TextOffset { get; set; } + [JsonPropertyName("text_offset")] public List? TextOffset { get; set; } } public class TopLogProbResponse { - public string Key { get; set; } + public string? Key { get; set; } public double LogProp { get; set; } -} \ No newline at end of file +}