openai/openai-dotnet

Public

mirrored from https://github.com/openai/openai-dotnetAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
achandmsft-patch-2

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

src/Generated/Models/Assistants/AssistantModificationOptions.Serialization.cs

327lines · modeblame

9f9f2936Jose Arriaga Maldonado2 years ago1// <auto-generated/>
2
3#nullable disable
4
5using System;
6using System.ClientModel.Primitives;
7using System.Collections.Generic;
8using System.Text.Json;
e0fee603Jose Arriaga Maldonado1 years ago9using OpenAI;
0ca4c062Jose Arriaga Maldonado1 years ago10using OpenAI.Chat;
9f9f2936Jose Arriaga Maldonado2 years ago11
12namespace OpenAI.Assistants
13{
14public partial class AssistantModificationOptions : IJsonModel<AssistantModificationOptions>
15{
16void IJsonModel<AssistantModificationOptions>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
17{
e0fee603Jose Arriaga Maldonado1 years ago18writer.WriteStartObject();
19JsonModelWriteCore(writer, options);
20writer.WriteEndObject();
21}
22
23protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
24{
25string format = options.Format == "W" ? ((IPersistableModel<AssistantModificationOptions>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago26if (format != "J")
27{
28throw new FormatException($"The model {nameof(AssistantModificationOptions)} does not support writing '{format}' format.");
29}
e0fee603Jose Arriaga Maldonado1 years ago30if (Optional.IsDefined(Name) && _additionalBinaryDataProperties?.ContainsKey("name") != true)
9f9f2936Jose Arriaga Maldonado2 years ago31{
0ca4c062Jose Arriaga Maldonado1 years ago32writer.WritePropertyName("name"u8);
33writer.WriteStringValue(Name);
9f9f2936Jose Arriaga Maldonado2 years ago34}
e0fee603Jose Arriaga Maldonado1 years ago35if (Optional.IsDefined(Description) && _additionalBinaryDataProperties?.ContainsKey("description") != true)
9f9f2936Jose Arriaga Maldonado2 years ago36{
0ca4c062Jose Arriaga Maldonado1 years ago37writer.WritePropertyName("description"u8);
38writer.WriteStringValue(Description);
9f9f2936Jose Arriaga Maldonado2 years ago39}
e0fee603Jose Arriaga Maldonado1 years ago40if (Optional.IsDefined(Instructions) && _additionalBinaryDataProperties?.ContainsKey("instructions") != true)
9f9f2936Jose Arriaga Maldonado2 years ago41{
0ca4c062Jose Arriaga Maldonado1 years ago42writer.WritePropertyName("instructions"u8);
43writer.WriteStringValue(Instructions);
9f9f2936Jose Arriaga Maldonado2 years ago44}
e0fee603Jose Arriaga Maldonado1 years ago45if (Optional.IsCollectionDefined(Metadata) && _additionalBinaryDataProperties?.ContainsKey("metadata") != true)
9f9f2936Jose Arriaga Maldonado2 years ago46{
0e0c460cJose Arriaga Maldonado1 years ago47writer.WritePropertyName("metadata"u8);
48writer.WriteStartObject();
49foreach (var item in Metadata)
9f9f2936Jose Arriaga Maldonado2 years ago50{
0e0c460cJose Arriaga Maldonado1 years ago51writer.WritePropertyName(item.Key);
52if (item.Value == null)
9f9f2936Jose Arriaga Maldonado2 years ago53{
0e0c460cJose Arriaga Maldonado1 years ago54writer.WriteNullValue();
55continue;
9f9f2936Jose Arriaga Maldonado2 years ago56}
0e0c460cJose Arriaga Maldonado1 years ago57writer.WriteStringValue(item.Value);
9f9f2936Jose Arriaga Maldonado2 years ago58}
0e0c460cJose Arriaga Maldonado1 years ago59writer.WriteEndObject();
9f9f2936Jose Arriaga Maldonado2 years ago60}
e0fee603Jose Arriaga Maldonado1 years ago61if (Optional.IsDefined(Temperature) && _additionalBinaryDataProperties?.ContainsKey("temperature") != true)
9f9f2936Jose Arriaga Maldonado2 years ago62{
0ca4c062Jose Arriaga Maldonado1 years ago63writer.WritePropertyName("temperature"u8);
64writer.WriteNumberValue(Temperature.Value);
9f9f2936Jose Arriaga Maldonado2 years ago65}
e0fee603Jose Arriaga Maldonado1 years ago66if (Optional.IsDefined(Model) && _additionalBinaryDataProperties?.ContainsKey("model") != true)
9f9f2936Jose Arriaga Maldonado2 years ago67{
e0fee603Jose Arriaga Maldonado1 years ago68writer.WritePropertyName("model"u8);
69writer.WriteStringValue(Model);
70}
71if (Optional.IsCollectionDefined(DefaultTools) && _additionalBinaryDataProperties?.ContainsKey("tools") != true)
72{
73writer.WritePropertyName("tools"u8);
74writer.WriteStartArray();
75foreach (ToolDefinition item in DefaultTools)
9f9f2936Jose Arriaga Maldonado2 years ago76{
e0fee603Jose Arriaga Maldonado1 years ago77writer.WriteObjectValue(item, options);
78}
79writer.WriteEndArray();
80}
81if (Optional.IsDefined(ToolResources) && _additionalBinaryDataProperties?.ContainsKey("tool_resources") != true)
82{
0ca4c062Jose Arriaga Maldonado1 years ago83writer.WritePropertyName("tool_resources"u8);
84writer.WriteObjectValue(ToolResources, options);
9f9f2936Jose Arriaga Maldonado2 years ago85}
e0fee603Jose Arriaga Maldonado1 years ago86if (Optional.IsDefined(ResponseFormat) && _additionalBinaryDataProperties?.ContainsKey("response_format") != true)
9f9f2936Jose Arriaga Maldonado2 years ago87{
0ca4c062Jose Arriaga Maldonado1 years ago88writer.WritePropertyName("response_format"u8);
89writer.WriteObjectValue(ResponseFormat, options);
e0fee603Jose Arriaga Maldonado1 years ago90}
91if (Optional.IsDefined(NucleusSamplingFactor) && _additionalBinaryDataProperties?.ContainsKey("top_p") != true)
92{
0ca4c062Jose Arriaga Maldonado1 years ago93writer.WritePropertyName("top_p"u8);
94writer.WriteNumberValue(NucleusSamplingFactor.Value);
95}
96if (Optional.IsDefined(ReasoningEffortLevel) && _additionalBinaryDataProperties?.ContainsKey("reasoning_effort") != true)
97{
98writer.WritePropertyName("reasoning_effort"u8);
99writer.WriteStringValue(ReasoningEffortLevel.Value.ToString());
9f9f2936Jose Arriaga Maldonado2 years ago100}
5dce104aJose Arriaga Maldonado1 years ago101// Plugin customization: remove options.Format != "W" check
0ca4c062Jose Arriaga Maldonado1 years ago102if (_additionalBinaryDataProperties != null)
9f9f2936Jose Arriaga Maldonado2 years ago103{
e0fee603Jose Arriaga Maldonado1 years ago104foreach (var item in _additionalBinaryDataProperties)
9f9f2936Jose Arriaga Maldonado2 years ago105{
19fc7d54Jose Arriaga Maldonado2 years ago106if (ModelSerializationExtensions.IsSentinelValue(item.Value))
107{
108continue;
109}
9f9f2936Jose Arriaga Maldonado2 years ago110writer.WritePropertyName(item.Key);
111#if NET6_0_OR_GREATER
e0fee603Jose Arriaga Maldonado1 years ago112writer.WriteRawValue(item.Value);
9f9f2936Jose Arriaga Maldonado2 years ago113#else
114using (JsonDocument document = JsonDocument.Parse(item.Value))
115{
116JsonSerializer.Serialize(writer, document.RootElement);
117}
118#endif
119}
120}
121}
122
e0fee603Jose Arriaga Maldonado1 years ago123AssistantModificationOptions IJsonModel<AssistantModificationOptions>.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => JsonModelCreateCore(ref reader, options);
124
125protected virtual AssistantModificationOptions JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options)
9f9f2936Jose Arriaga Maldonado2 years ago126{
e0fee603Jose Arriaga Maldonado1 years ago127string format = options.Format == "W" ? ((IPersistableModel<AssistantModificationOptions>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago128if (format != "J")
129{
130throw new FormatException($"The model {nameof(AssistantModificationOptions)} does not support reading '{format}' format.");
131}
132using JsonDocument document = JsonDocument.ParseValue(ref reader);
133return DeserializeAssistantModificationOptions(document.RootElement, options);
134}
135
e0fee603Jose Arriaga Maldonado1 years ago136internal static AssistantModificationOptions DeserializeAssistantModificationOptions(JsonElement element, ModelReaderWriterOptions options)
9f9f2936Jose Arriaga Maldonado2 years ago137{
138if (element.ValueKind == JsonValueKind.Null)
139{
140return null;
141}
142string name = default;
143string description = default;
144string instructions = default;
145IDictionary<string, string> metadata = default;
146float? temperature = default;
e0fee603Jose Arriaga Maldonado1 years ago147string model = default;
148IList<ToolDefinition> defaultTools = default;
149ToolResources toolResources = default;
9f9f2936Jose Arriaga Maldonado2 years ago150AssistantResponseFormat responseFormat = default;
e0fee603Jose Arriaga Maldonado1 years ago151float? nucleusSamplingFactor = default;
0ca4c062Jose Arriaga Maldonado1 years ago152ChatReasoningEffortLevel? reasoningEffortLevel = default;
e0fee603Jose Arriaga Maldonado1 years ago153IDictionary<string, BinaryData> additionalBinaryDataProperties = new ChangeTrackingDictionary<string, BinaryData>();
154foreach (var prop in element.EnumerateObject())
9f9f2936Jose Arriaga Maldonado2 years ago155{
e0fee603Jose Arriaga Maldonado1 years ago156if (prop.NameEquals("name"u8))
9f9f2936Jose Arriaga Maldonado2 years ago157{
e0fee603Jose Arriaga Maldonado1 years ago158if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago159{
160name = null;
161continue;
162}
e0fee603Jose Arriaga Maldonado1 years ago163name = prop.Value.GetString();
9f9f2936Jose Arriaga Maldonado2 years ago164continue;
165}
e0fee603Jose Arriaga Maldonado1 years ago166if (prop.NameEquals("description"u8))
9f9f2936Jose Arriaga Maldonado2 years ago167{
e0fee603Jose Arriaga Maldonado1 years ago168if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago169{
170description = null;
171continue;
172}
e0fee603Jose Arriaga Maldonado1 years ago173description = prop.Value.GetString();
9f9f2936Jose Arriaga Maldonado2 years ago174continue;
175}
e0fee603Jose Arriaga Maldonado1 years ago176if (prop.NameEquals("instructions"u8))
9f9f2936Jose Arriaga Maldonado2 years ago177{
e0fee603Jose Arriaga Maldonado1 years ago178if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago179{
180instructions = null;
181continue;
182}
e0fee603Jose Arriaga Maldonado1 years ago183instructions = prop.Value.GetString();
9f9f2936Jose Arriaga Maldonado2 years ago184continue;
185}
e0fee603Jose Arriaga Maldonado1 years ago186if (prop.NameEquals("metadata"u8))
9f9f2936Jose Arriaga Maldonado2 years ago187{
e0fee603Jose Arriaga Maldonado1 years ago188if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago189{
190continue;
191}
e0fee603Jose Arriaga Maldonado1 years ago192Dictionary<string, string> dictionary = new Dictionary<string, string>();
193foreach (var prop0 in prop.Value.EnumerateObject())
9f9f2936Jose Arriaga Maldonado2 years ago194{
e0fee603Jose Arriaga Maldonado1 years ago195if (prop0.Value.ValueKind == JsonValueKind.Null)
196{
197dictionary.Add(prop0.Name, null);
198}
199else
200{
201dictionary.Add(prop0.Name, prop0.Value.GetString());
202}
9f9f2936Jose Arriaga Maldonado2 years ago203}
e0fee603Jose Arriaga Maldonado1 years ago204metadata = dictionary;
9f9f2936Jose Arriaga Maldonado2 years ago205continue;
206}
e0fee603Jose Arriaga Maldonado1 years ago207if (prop.NameEquals("temperature"u8))
9f9f2936Jose Arriaga Maldonado2 years ago208{
e0fee603Jose Arriaga Maldonado1 years ago209if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago210{
e0fee603Jose Arriaga Maldonado1 years ago211temperature = null;
9f9f2936Jose Arriaga Maldonado2 years ago212continue;
213}
e0fee603Jose Arriaga Maldonado1 years ago214temperature = prop.Value.GetSingle();
215continue;
216}
217if (prop.NameEquals("model"u8))
218{
219model = prop.Value.GetString();
9f9f2936Jose Arriaga Maldonado2 years ago220continue;
221}
e0fee603Jose Arriaga Maldonado1 years ago222if (prop.NameEquals("tools"u8))
9f9f2936Jose Arriaga Maldonado2 years ago223{
e0fee603Jose Arriaga Maldonado1 years ago224if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago225{
226continue;
227}
e0fee603Jose Arriaga Maldonado1 years ago228List<ToolDefinition> array = new List<ToolDefinition>();
229foreach (var item in prop.Value.EnumerateArray())
9f9f2936Jose Arriaga Maldonado2 years ago230{
e0fee603Jose Arriaga Maldonado1 years ago231array.Add(ToolDefinition.DeserializeToolDefinition(item, options));
9f9f2936Jose Arriaga Maldonado2 years ago232}
e0fee603Jose Arriaga Maldonado1 years ago233defaultTools = array;
9f9f2936Jose Arriaga Maldonado2 years ago234continue;
235}
e0fee603Jose Arriaga Maldonado1 years ago236if (prop.NameEquals("tool_resources"u8))
9f9f2936Jose Arriaga Maldonado2 years ago237{
e0fee603Jose Arriaga Maldonado1 years ago238if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago239{
e0fee603Jose Arriaga Maldonado1 years ago240toolResources = null;
9f9f2936Jose Arriaga Maldonado2 years ago241continue;
242}
e0fee603Jose Arriaga Maldonado1 years ago243toolResources = ToolResources.DeserializeToolResources(prop.Value, options);
9f9f2936Jose Arriaga Maldonado2 years ago244continue;
245}
e0fee603Jose Arriaga Maldonado1 years ago246if (prop.NameEquals("response_format"u8))
9f9f2936Jose Arriaga Maldonado2 years ago247{
e0fee603Jose Arriaga Maldonado1 years ago248if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago249{
e0fee603Jose Arriaga Maldonado1 years ago250responseFormat = null;
9f9f2936Jose Arriaga Maldonado2 years ago251continue;
252}
e0fee603Jose Arriaga Maldonado1 years ago253responseFormat = AssistantResponseFormat.DeserializeAssistantResponseFormat(prop.Value, options);
9f9f2936Jose Arriaga Maldonado2 years ago254continue;
255}
e0fee603Jose Arriaga Maldonado1 years ago256if (prop.NameEquals("top_p"u8))
9f9f2936Jose Arriaga Maldonado2 years ago257{
e0fee603Jose Arriaga Maldonado1 years ago258if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago259{
e0fee603Jose Arriaga Maldonado1 years ago260nucleusSamplingFactor = null;
9f9f2936Jose Arriaga Maldonado2 years ago261continue;
262}
e0fee603Jose Arriaga Maldonado1 years ago263nucleusSamplingFactor = prop.Value.GetSingle();
9f9f2936Jose Arriaga Maldonado2 years ago264continue;
265}
0ca4c062Jose Arriaga Maldonado1 years ago266if (prop.NameEquals("reasoning_effort"u8))
9f9f2936Jose Arriaga Maldonado2 years ago267{
0ca4c062Jose Arriaga Maldonado1 years ago268if (prop.Value.ValueKind == JsonValueKind.Null)
269{
270reasoningEffortLevel = null;
271continue;
272}
273reasoningEffortLevel = new ChatReasoningEffortLevel(prop.Value.GetString());
274continue;
9f9f2936Jose Arriaga Maldonado2 years ago275}
5dce104aJose Arriaga Maldonado1 years ago276// Plugin customization: remove options.Format != "W" check
0ca4c062Jose Arriaga Maldonado1 years ago277additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText()));
9f9f2936Jose Arriaga Maldonado2 years ago278}
279return new AssistantModificationOptions(
280name,
281description,
282instructions,
283metadata ?? new ChangeTrackingDictionary<string, string>(),
284temperature,
e0fee603Jose Arriaga Maldonado1 years ago285model,
286defaultTools ?? new ChangeTrackingList<ToolDefinition>(),
287toolResources,
9f9f2936Jose Arriaga Maldonado2 years ago288responseFormat,
e0fee603Jose Arriaga Maldonado1 years ago289nucleusSamplingFactor,
0ca4c062Jose Arriaga Maldonado1 years ago290reasoningEffortLevel,
e0fee603Jose Arriaga Maldonado1 years ago291additionalBinaryDataProperties);
9f9f2936Jose Arriaga Maldonado2 years ago292}
293
e0fee603Jose Arriaga Maldonado1 years ago294BinaryData IPersistableModel<AssistantModificationOptions>.Write(ModelReaderWriterOptions options) => PersistableModelWriteCore(options);
9f9f2936Jose Arriaga Maldonado2 years ago295
e0fee603Jose Arriaga Maldonado1 years ago296protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options)
297{
298string format = options.Format == "W" ? ((IPersistableModel<AssistantModificationOptions>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago299switch (format)
300{
301case "J":
5dce104aJose Arriaga Maldonado1 years ago302return ModelReaderWriter.Write(this, options, OpenAIContext.Default);
9f9f2936Jose Arriaga Maldonado2 years ago303default:
304throw new FormatException($"The model {nameof(AssistantModificationOptions)} does not support writing '{options.Format}' format.");
305}
306}
307
e0fee603Jose Arriaga Maldonado1 years ago308AssistantModificationOptions IPersistableModel<AssistantModificationOptions>.Create(BinaryData data, ModelReaderWriterOptions options) => PersistableModelCreateCore(data, options);
9f9f2936Jose Arriaga Maldonado2 years ago309
e0fee603Jose Arriaga Maldonado1 years ago310protected virtual AssistantModificationOptions PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options)
311{
312string format = options.Format == "W" ? ((IPersistableModel<AssistantModificationOptions>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago313switch (format)
314{
315case "J":
e0fee603Jose Arriaga Maldonado1 years ago316using (JsonDocument document = JsonDocument.Parse(data))
9f9f2936Jose Arriaga Maldonado2 years ago317{
318return DeserializeAssistantModificationOptions(document.RootElement, options);
319}
320default:
321throw new FormatException($"The model {nameof(AssistantModificationOptions)} does not support reading '{options.Format}' format.");
322}
323}
324
325string IPersistableModel<AssistantModificationOptions>.GetFormatFromOptions(ModelReaderWriterOptions options) => "J";
326}
327}