openai/openai-dotnet

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
OpenAI_2.2.0-beta.4

Branches

Tags

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

Clone

HTTPS

Download ZIP

src/Generated/Models/AssistantCreationOptions.Serialization.cs

342lines · 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;
e0fee603Jose Arriaga Maldonado1 years ago10using OpenAI;
0ca4c062Jose Arriaga Maldonado1 years ago11using OpenAI.Chat;
9f9f2936Jose Arriaga Maldonado2 years ago12
13namespace OpenAI.Assistants
14{
15public partial class AssistantCreationOptions : IJsonModel<AssistantCreationOptions>
16{
17void IJsonModel<AssistantCreationOptions>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
18{
e0fee603Jose Arriaga Maldonado1 years ago19writer.WriteStartObject();
20JsonModelWriteCore(writer, options);
21writer.WriteEndObject();
22}
23
24protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
25{
26string format = options.Format == "W" ? ((IPersistableModel<AssistantCreationOptions>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago27if (format != "J")
28{
29throw new FormatException($"The model {nameof(AssistantCreationOptions)} does not support writing '{format}' format.");
30}
e0fee603Jose Arriaga Maldonado1 years ago31if (Optional.IsDefined(Name) && _additionalBinaryDataProperties?.ContainsKey("name") != true)
9f9f2936Jose Arriaga Maldonado2 years ago32{
0ca4c062Jose Arriaga Maldonado1 years ago33writer.WritePropertyName("name"u8);
34writer.WriteStringValue(Name);
9f9f2936Jose Arriaga Maldonado2 years ago35}
e0fee603Jose Arriaga Maldonado1 years ago36if (Optional.IsDefined(Description) && _additionalBinaryDataProperties?.ContainsKey("description") != true)
9f9f2936Jose Arriaga Maldonado2 years ago37{
0ca4c062Jose Arriaga Maldonado1 years ago38writer.WritePropertyName("description"u8);
39writer.WriteStringValue(Description);
9f9f2936Jose Arriaga Maldonado2 years ago40}
e0fee603Jose Arriaga Maldonado1 years ago41if (Optional.IsDefined(Instructions) && _additionalBinaryDataProperties?.ContainsKey("instructions") != true)
9f9f2936Jose Arriaga Maldonado2 years ago42{
0ca4c062Jose Arriaga Maldonado1 years ago43writer.WritePropertyName("instructions"u8);
44writer.WriteStringValue(Instructions);
9f9f2936Jose Arriaga Maldonado2 years ago45}
e0fee603Jose Arriaga Maldonado1 years ago46if (Optional.IsCollectionDefined(Metadata) && _additionalBinaryDataProperties?.ContainsKey("metadata") != true)
9f9f2936Jose Arriaga Maldonado2 years ago47{
0e0c460cJose Arriaga Maldonado1 years ago48writer.WritePropertyName("metadata"u8);
49writer.WriteStartObject();
50foreach (var item in Metadata)
9f9f2936Jose Arriaga Maldonado2 years ago51{
0e0c460cJose Arriaga Maldonado1 years ago52writer.WritePropertyName(item.Key);
53if (item.Value == null)
9f9f2936Jose Arriaga Maldonado2 years ago54{
0e0c460cJose Arriaga Maldonado1 years ago55writer.WriteNullValue();
56continue;
9f9f2936Jose Arriaga Maldonado2 years ago57}
0e0c460cJose Arriaga Maldonado1 years ago58writer.WriteStringValue(item.Value);
9f9f2936Jose Arriaga Maldonado2 years ago59}
0e0c460cJose Arriaga Maldonado1 years ago60writer.WriteEndObject();
9f9f2936Jose Arriaga Maldonado2 years ago61}
e0fee603Jose Arriaga Maldonado1 years ago62if (Optional.IsDefined(Temperature) && _additionalBinaryDataProperties?.ContainsKey("temperature") != true)
9f9f2936Jose Arriaga Maldonado2 years ago63{
0ca4c062Jose Arriaga Maldonado1 years ago64writer.WritePropertyName("temperature"u8);
65writer.WriteNumberValue(Temperature.Value);
9f9f2936Jose Arriaga Maldonado2 years ago66}
e0fee603Jose Arriaga Maldonado1 years ago67if (_additionalBinaryDataProperties?.ContainsKey("model") != true)
9f9f2936Jose Arriaga Maldonado2 years ago68{
e0fee603Jose Arriaga Maldonado1 years ago69writer.WritePropertyName("model"u8);
70writer.WriteStringValue(Model);
71}
72if (Optional.IsCollectionDefined(Tools) && _additionalBinaryDataProperties?.ContainsKey("tools") != true)
73{
74writer.WritePropertyName("tools"u8);
75writer.WriteStartArray();
76foreach (ToolDefinition item in Tools)
9f9f2936Jose Arriaga Maldonado2 years ago77{
e0fee603Jose Arriaga Maldonado1 years ago78writer.WriteObjectValue(item, options);
79}
80writer.WriteEndArray();
81}
82if (Optional.IsDefined(ToolResources) && _additionalBinaryDataProperties?.ContainsKey("tool_resources") != true)
83{
0ca4c062Jose Arriaga Maldonado1 years ago84writer.WritePropertyName("tool_resources"u8);
85writer.WriteObjectValue(ToolResources, options);
9f9f2936Jose Arriaga Maldonado2 years ago86}
e0fee603Jose Arriaga Maldonado1 years ago87if (Optional.IsDefined(ResponseFormat) && _additionalBinaryDataProperties?.ContainsKey("response_format") != true)
9f9f2936Jose Arriaga Maldonado2 years ago88{
0ca4c062Jose Arriaga Maldonado1 years ago89writer.WritePropertyName("response_format"u8);
90writer.WriteObjectValue(ResponseFormat, options);
e0fee603Jose Arriaga Maldonado1 years ago91}
92if (Optional.IsDefined(NucleusSamplingFactor) && _additionalBinaryDataProperties?.ContainsKey("top_p") != true)
93{
0ca4c062Jose Arriaga Maldonado1 years ago94writer.WritePropertyName("top_p"u8);
95writer.WriteNumberValue(NucleusSamplingFactor.Value);
96}
97if (Optional.IsDefined(ReasoningEffortLevel) && _additionalBinaryDataProperties?.ContainsKey("reasoning_effort") != true)
98{
99writer.WritePropertyName("reasoning_effort"u8);
100writer.WriteStringValue(ReasoningEffortLevel.Value.ToString());
9f9f2936Jose Arriaga Maldonado2 years ago101}
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 ago123AssistantCreationOptions IJsonModel<AssistantCreationOptions>.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => JsonModelCreateCore(ref reader, options);
124
125protected virtual AssistantCreationOptions JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options)
9f9f2936Jose Arriaga Maldonado2 years ago126{
e0fee603Jose Arriaga Maldonado1 years ago127string format = options.Format == "W" ? ((IPersistableModel<AssistantCreationOptions>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago128if (format != "J")
129{
130throw new FormatException($"The model {nameof(AssistantCreationOptions)} does not support reading '{format}' format.");
131}
132using JsonDocument document = JsonDocument.ParseValue(ref reader);
133return DeserializeAssistantCreationOptions(document.RootElement, options);
134}
135
e0fee603Jose Arriaga Maldonado1 years ago136internal static AssistantCreationOptions DeserializeAssistantCreationOptions(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> tools = 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();
9f9f2936Jose Arriaga Maldonado2 years ago215continue;
216}
e0fee603Jose Arriaga Maldonado1 years ago217if (prop.NameEquals("model"u8))
9f9f2936Jose Arriaga Maldonado2 years ago218{
e0fee603Jose Arriaga Maldonado1 years ago219model = prop.Value.GetString();
220continue;
221}
222if (prop.NameEquals("tools"u8))
223{
224if (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 ago233tools = 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}
0ca4c062Jose Arriaga Maldonado1 years ago276additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText()));
9f9f2936Jose Arriaga Maldonado2 years ago277}
278return new AssistantCreationOptions(
279name,
280description,
281instructions,
282metadata ?? new ChangeTrackingDictionary<string, string>(),
283temperature,
e0fee603Jose Arriaga Maldonado1 years ago284model,
285tools ?? new ChangeTrackingList<ToolDefinition>(),
286toolResources,
9f9f2936Jose Arriaga Maldonado2 years ago287responseFormat,
e0fee603Jose Arriaga Maldonado1 years ago288nucleusSamplingFactor,
0ca4c062Jose Arriaga Maldonado1 years ago289reasoningEffortLevel,
e0fee603Jose Arriaga Maldonado1 years ago290additionalBinaryDataProperties);
9f9f2936Jose Arriaga Maldonado2 years ago291}
292
e0fee603Jose Arriaga Maldonado1 years ago293BinaryData IPersistableModel<AssistantCreationOptions>.Write(ModelReaderWriterOptions options) => PersistableModelWriteCore(options);
9f9f2936Jose Arriaga Maldonado2 years ago294
e0fee603Jose Arriaga Maldonado1 years ago295protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options)
296{
297string format = options.Format == "W" ? ((IPersistableModel<AssistantCreationOptions>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago298switch (format)
299{
300case "J":
301return ModelReaderWriter.Write(this, options);
302default:
303throw new FormatException($"The model {nameof(AssistantCreationOptions)} does not support writing '{options.Format}' format.");
304}
305}
306
e0fee603Jose Arriaga Maldonado1 years ago307AssistantCreationOptions IPersistableModel<AssistantCreationOptions>.Create(BinaryData data, ModelReaderWriterOptions options) => PersistableModelCreateCore(data, options);
9f9f2936Jose Arriaga Maldonado2 years ago308
e0fee603Jose Arriaga Maldonado1 years ago309protected virtual AssistantCreationOptions PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options)
310{
311string format = options.Format == "W" ? ((IPersistableModel<AssistantCreationOptions>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago312switch (format)
313{
314case "J":
e0fee603Jose Arriaga Maldonado1 years ago315using (JsonDocument document = JsonDocument.Parse(data))
9f9f2936Jose Arriaga Maldonado2 years ago316{
317return DeserializeAssistantCreationOptions(document.RootElement, options);
318}
319default:
320throw new FormatException($"The model {nameof(AssistantCreationOptions)} does not support reading '{options.Format}' format.");
321}
322}
323
324string IPersistableModel<AssistantCreationOptions>.GetFormatFromOptions(ModelReaderWriterOptions options) => "J";
325
e0fee603Jose Arriaga Maldonado1 years ago326public static implicit operator BinaryContent(AssistantCreationOptions assistantCreationOptions)
9f9f2936Jose Arriaga Maldonado2 years ago327{
e0fee603Jose Arriaga Maldonado1 years ago328if (assistantCreationOptions == null)
329{
330return null;
331}
332return BinaryContent.Create(assistantCreationOptions, ModelSerializationExtensions.WireOptions);
9f9f2936Jose Arriaga Maldonado2 years ago333}
334
e0fee603Jose Arriaga Maldonado1 years ago335public static explicit operator AssistantCreationOptions(ClientResult result)
9f9f2936Jose Arriaga Maldonado2 years ago336{
e0fee603Jose Arriaga Maldonado1 years ago337using PipelineResponse response = result.GetRawResponse();
338using JsonDocument document = JsonDocument.Parse(response.Content);
339return DeserializeAssistantCreationOptions(document.RootElement, ModelSerializationExtensions.WireOptions);
9f9f2936Jose Arriaga Maldonado2 years ago340}
341}
342}