openai/openai-dotnet

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
OpenAI_2.1.0

Branches

Tags

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

Clone

HTTPS

Download ZIP

src/Generated/Models/AssistantCreationOptions.Serialization.cs

363lines · modeblame

9f9f2936Jose Arriaga Maldonado2 years ago1// <auto-generated/>
2
3#nullable disable
4
5using System;
6using System.ClientModel;
7using System.ClientModel.Primitives;
8using System.Collections.Generic;
9using System.Text.Json;
10
11namespace OpenAI.Assistants
12{
13public partial class AssistantCreationOptions : IJsonModel<AssistantCreationOptions>
14{
15void IJsonModel<AssistantCreationOptions>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
16{
17var format = options.Format == "W" ? ((IPersistableModel<AssistantCreationOptions>)this).GetFormatFromOptions(options) : options.Format;
18if (format != "J")
19{
20throw new FormatException($"The model {nameof(AssistantCreationOptions)} does not support writing '{format}' format.");
21}
22
23writer.WriteStartObject();
19fc7d54Jose Arriaga Maldonado2 years ago24if (SerializedAdditionalRawData?.ContainsKey("model") != true)
25{
26writer.WritePropertyName("model"u8);
27writer.WriteStringValue(Model);
28}
29if (SerializedAdditionalRawData?.ContainsKey("name") != true && Optional.IsDefined(Name))
9f9f2936Jose Arriaga Maldonado2 years ago30{
31if (Name != null)
32{
33writer.WritePropertyName("name"u8);
34writer.WriteStringValue(Name);
35}
36else
37{
38writer.WriteNull("name");
39}
40}
19fc7d54Jose Arriaga Maldonado2 years ago41if (SerializedAdditionalRawData?.ContainsKey("description") != true && Optional.IsDefined(Description))
9f9f2936Jose Arriaga Maldonado2 years ago42{
43if (Description != null)
44{
45writer.WritePropertyName("description"u8);
46writer.WriteStringValue(Description);
47}
48else
49{
50writer.WriteNull("description");
51}
52}
19fc7d54Jose Arriaga Maldonado2 years ago53if (SerializedAdditionalRawData?.ContainsKey("instructions") != true && Optional.IsDefined(Instructions))
9f9f2936Jose Arriaga Maldonado2 years ago54{
55if (Instructions != null)
56{
57writer.WritePropertyName("instructions"u8);
58writer.WriteStringValue(Instructions);
59}
60else
61{
62writer.WriteNull("instructions");
63}
64}
19fc7d54Jose Arriaga Maldonado2 years ago65if (SerializedAdditionalRawData?.ContainsKey("tools") != true && Optional.IsCollectionDefined(Tools))
9f9f2936Jose Arriaga Maldonado2 years ago66{
67writer.WritePropertyName("tools"u8);
68writer.WriteStartArray();
69foreach (var item in Tools)
70{
71writer.WriteObjectValue<ToolDefinition>(item, options);
72}
73writer.WriteEndArray();
74}
19fc7d54Jose Arriaga Maldonado2 years ago75if (SerializedAdditionalRawData?.ContainsKey("tool_resources") != true && Optional.IsDefined(ToolResources))
9f9f2936Jose Arriaga Maldonado2 years ago76{
77if (ToolResources != null)
78{
79writer.WritePropertyName("tool_resources"u8);
80writer.WriteObjectValue<ToolResources>(ToolResources, options);
81}
82else
83{
84writer.WriteNull("tool_resources");
85}
86}
19fc7d54Jose Arriaga Maldonado2 years ago87if (SerializedAdditionalRawData?.ContainsKey("metadata") != true && Optional.IsCollectionDefined(Metadata))
9f9f2936Jose Arriaga Maldonado2 years ago88{
89if (Metadata != null)
90{
91writer.WritePropertyName("metadata"u8);
92writer.WriteStartObject();
93foreach (var item in Metadata)
94{
95writer.WritePropertyName(item.Key);
96writer.WriteStringValue(item.Value);
97}
98writer.WriteEndObject();
99}
100else
101{
102writer.WriteNull("metadata");
103}
104}
19fc7d54Jose Arriaga Maldonado2 years ago105if (SerializedAdditionalRawData?.ContainsKey("temperature") != true && Optional.IsDefined(Temperature))
9f9f2936Jose Arriaga Maldonado2 years ago106{
107if (Temperature != null)
108{
109writer.WritePropertyName("temperature"u8);
110writer.WriteNumberValue(Temperature.Value);
111}
112else
113{
114writer.WriteNull("temperature");
115}
116}
19fc7d54Jose Arriaga Maldonado2 years ago117if (SerializedAdditionalRawData?.ContainsKey("top_p") != true && Optional.IsDefined(NucleusSamplingFactor))
9f9f2936Jose Arriaga Maldonado2 years ago118{
119if (NucleusSamplingFactor != null)
120{
121writer.WritePropertyName("top_p"u8);
122writer.WriteNumberValue(NucleusSamplingFactor.Value);
123}
124else
125{
126writer.WriteNull("top_p");
127}
128}
19fc7d54Jose Arriaga Maldonado2 years ago129if (SerializedAdditionalRawData?.ContainsKey("response_format") != true && Optional.IsDefined(ResponseFormat))
9f9f2936Jose Arriaga Maldonado2 years ago130{
131if (ResponseFormat != null)
132{
133writer.WritePropertyName("response_format"u8);
134writer.WriteObjectValue<AssistantResponseFormat>(ResponseFormat, options);
135}
136else
137{
138writer.WriteNull("response_format");
139}
140}
19fc7d54Jose Arriaga Maldonado2 years ago141if (SerializedAdditionalRawData != null)
9f9f2936Jose Arriaga Maldonado2 years ago142{
19fc7d54Jose Arriaga Maldonado2 years ago143foreach (var item in SerializedAdditionalRawData)
9f9f2936Jose Arriaga Maldonado2 years ago144{
19fc7d54Jose Arriaga Maldonado2 years ago145if (ModelSerializationExtensions.IsSentinelValue(item.Value))
146{
147continue;
148}
9f9f2936Jose Arriaga Maldonado2 years ago149writer.WritePropertyName(item.Key);
150#if NET6_0_OR_GREATER
151writer.WriteRawValue(item.Value);
152#else
153using (JsonDocument document = JsonDocument.Parse(item.Value))
154{
155JsonSerializer.Serialize(writer, document.RootElement);
156}
157#endif
158}
159}
160writer.WriteEndObject();
161}
162
163AssistantCreationOptions IJsonModel<AssistantCreationOptions>.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options)
164{
165var format = options.Format == "W" ? ((IPersistableModel<AssistantCreationOptions>)this).GetFormatFromOptions(options) : options.Format;
166if (format != "J")
167{
168throw new FormatException($"The model {nameof(AssistantCreationOptions)} does not support reading '{format}' format.");
169}
170
171using JsonDocument document = JsonDocument.ParseValue(ref reader);
172return DeserializeAssistantCreationOptions(document.RootElement, options);
173}
174
175internal static AssistantCreationOptions DeserializeAssistantCreationOptions(JsonElement element, ModelReaderWriterOptions options = null)
176{
177options ??= ModelSerializationExtensions.WireOptions;
178
179if (element.ValueKind == JsonValueKind.Null)
180{
181return null;
182}
183string model = default;
184string name = default;
185string description = default;
186string instructions = default;
187IList<ToolDefinition> tools = default;
188ToolResources toolResources = default;
189IDictionary<string, string> metadata = default;
190float? temperature = default;
191float? topP = default;
192AssistantResponseFormat responseFormat = default;
193IDictionary<string, BinaryData> serializedAdditionalRawData = default;
194Dictionary<string, BinaryData> rawDataDictionary = new Dictionary<string, BinaryData>();
195foreach (var property in element.EnumerateObject())
196{
197if (property.NameEquals("model"u8))
198{
199model = property.Value.GetString();
200continue;
201}
202if (property.NameEquals("name"u8))
203{
204if (property.Value.ValueKind == JsonValueKind.Null)
205{
206name = null;
207continue;
208}
209name = property.Value.GetString();
210continue;
211}
212if (property.NameEquals("description"u8))
213{
214if (property.Value.ValueKind == JsonValueKind.Null)
215{
216description = null;
217continue;
218}
219description = property.Value.GetString();
220continue;
221}
222if (property.NameEquals("instructions"u8))
223{
224if (property.Value.ValueKind == JsonValueKind.Null)
225{
226instructions = null;
227continue;
228}
229instructions = property.Value.GetString();
230continue;
231}
232if (property.NameEquals("tools"u8))
233{
234if (property.Value.ValueKind == JsonValueKind.Null)
235{
236continue;
237}
238List<ToolDefinition> array = new List<ToolDefinition>();
239foreach (var item in property.Value.EnumerateArray())
240{
241array.Add(ToolDefinition.DeserializeToolDefinition(item, options));
242}
243tools = array;
244continue;
245}
246if (property.NameEquals("tool_resources"u8))
247{
248if (property.Value.ValueKind == JsonValueKind.Null)
249{
250toolResources = null;
251continue;
252}
253toolResources = Assistants.ToolResources.DeserializeToolResources(property.Value, options);
254continue;
255}
256if (property.NameEquals("metadata"u8))
257{
258if (property.Value.ValueKind == JsonValueKind.Null)
259{
260continue;
261}
262Dictionary<string, string> dictionary = new Dictionary<string, string>();
263foreach (var property0 in property.Value.EnumerateObject())
264{
265dictionary.Add(property0.Name, property0.Value.GetString());
266}
267metadata = dictionary;
268continue;
269}
270if (property.NameEquals("temperature"u8))
271{
272if (property.Value.ValueKind == JsonValueKind.Null)
273{
274temperature = null;
275continue;
276}
277temperature = property.Value.GetSingle();
278continue;
279}
280if (property.NameEquals("top_p"u8))
281{
282if (property.Value.ValueKind == JsonValueKind.Null)
283{
284topP = null;
285continue;
286}
287topP = property.Value.GetSingle();
288continue;
289}
290if (property.NameEquals("response_format"u8))
291{
292if (property.Value.ValueKind == JsonValueKind.Null)
293{
294responseFormat = null;
295continue;
296}
297responseFormat = AssistantResponseFormat.DeserializeAssistantResponseFormat(property.Value, options);
298continue;
299}
32bfd2b6Jose Arriaga Maldonado2 years ago300if (true)
9f9f2936Jose Arriaga Maldonado2 years ago301{
19fc7d54Jose Arriaga Maldonado2 years ago302rawDataDictionary ??= new Dictionary<string, BinaryData>();
9f9f2936Jose Arriaga Maldonado2 years ago303rawDataDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText()));
304}
305}
306serializedAdditionalRawData = rawDataDictionary;
307return new AssistantCreationOptions(
308model,
309name,
310description,
311instructions,
312tools ?? new ChangeTrackingList<ToolDefinition>(),
313toolResources,
314metadata ?? new ChangeTrackingDictionary<string, string>(),
315temperature,
316topP,
317responseFormat,
318serializedAdditionalRawData);
319}
320
321BinaryData IPersistableModel<AssistantCreationOptions>.Write(ModelReaderWriterOptions options)
322{
323var format = options.Format == "W" ? ((IPersistableModel<AssistantCreationOptions>)this).GetFormatFromOptions(options) : options.Format;
324
325switch (format)
326{
327case "J":
328return ModelReaderWriter.Write(this, options);
329default:
330throw new FormatException($"The model {nameof(AssistantCreationOptions)} does not support writing '{options.Format}' format.");
331}
332}
333
334AssistantCreationOptions IPersistableModel<AssistantCreationOptions>.Create(BinaryData data, ModelReaderWriterOptions options)
335{
336var format = options.Format == "W" ? ((IPersistableModel<AssistantCreationOptions>)this).GetFormatFromOptions(options) : options.Format;
337
338switch (format)
339{
340case "J":
341{
342using JsonDocument document = JsonDocument.Parse(data);
343return DeserializeAssistantCreationOptions(document.RootElement, options);
344}
345default:
346throw new FormatException($"The model {nameof(AssistantCreationOptions)} does not support reading '{options.Format}' format.");
347}
348}
349
350string IPersistableModel<AssistantCreationOptions>.GetFormatFromOptions(ModelReaderWriterOptions options) => "J";
351
352internal static AssistantCreationOptions FromResponse(PipelineResponse response)
353{
354using var document = JsonDocument.Parse(response.Content);
355return DeserializeAssistantCreationOptions(document.RootElement);
356}
357
358internal virtual BinaryContent ToBinaryContent()
359{
360return BinaryContent.Create(this, ModelSerializationExtensions.WireOptions);
361}
362}
363}