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/Embeddings/OpenAIEmbedding.Serialization.cs

161lines · modeblame

9f9f2936Jose Arriaga Maldonado2 years ago1// <auto-generated/>
2
3#nullable disable
4
5using System;
6using System.ClientModel.Primitives;
7using System.Collections.Generic;
5dce104aJose Arriaga Maldonado1 years ago8using System.Diagnostics.CodeAnalysis;
9f9f2936Jose Arriaga Maldonado2 years ago9using System.Text.Json;
e0fee603Jose Arriaga Maldonado1 years ago10using OpenAI;
9f9f2936Jose Arriaga Maldonado2 years ago11
12namespace OpenAI.Embeddings
13{
19ceae44ShivangiReja1 years ago14public partial class OpenAIEmbedding : IJsonModel<OpenAIEmbedding>
9f9f2936Jose Arriaga Maldonado2 years ago15{
e0fee603Jose Arriaga Maldonado1 years ago16internal OpenAIEmbedding()
17{
18}
19
19ceae44ShivangiReja1 years ago20void IJsonModel<OpenAIEmbedding>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
9f9f2936Jose Arriaga Maldonado2 years ago21{
e0fee603Jose Arriaga Maldonado1 years ago22writer.WriteStartObject();
23JsonModelWriteCore(writer, options);
24writer.WriteEndObject();
25}
26
5dce104aJose Arriaga Maldonado1 years ago27[Experimental("OPENAI001")]
e0fee603Jose Arriaga Maldonado1 years ago28protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
29{
30string format = options.Format == "W" ? ((IPersistableModel<OpenAIEmbedding>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago31if (format != "J")
32{
19ceae44ShivangiReja1 years ago33throw new FormatException($"The model {nameof(OpenAIEmbedding)} does not support writing '{format}' format.");
9f9f2936Jose Arriaga Maldonado2 years ago34}
e0fee603Jose Arriaga Maldonado1 years ago35if (_additionalBinaryDataProperties?.ContainsKey("index") != true)
19fc7d54Jose Arriaga Maldonado2 years ago36{
37writer.WritePropertyName("index"u8);
38writer.WriteNumberValue(Index);
39}
e0fee603Jose Arriaga Maldonado1 years ago40if (_additionalBinaryDataProperties?.ContainsKey("embedding") != true)
19fc7d54Jose Arriaga Maldonado2 years ago41{
42writer.WritePropertyName("embedding"u8);
9f9f2936Jose Arriaga Maldonado2 years ago43#if NET6_0_OR_GREATER
e0fee603Jose Arriaga Maldonado1 years ago44writer.WriteRawValue(EmbeddingProperty);
9f9f2936Jose Arriaga Maldonado2 years ago45#else
19fc7d54Jose Arriaga Maldonado2 years ago46using (JsonDocument document = JsonDocument.Parse(EmbeddingProperty))
47{
48JsonSerializer.Serialize(writer, document.RootElement);
49}
50#endif
51}
e0fee603Jose Arriaga Maldonado1 years ago52if (_additionalBinaryDataProperties?.ContainsKey("object") != true)
9f9f2936Jose Arriaga Maldonado2 years ago53{
19fc7d54Jose Arriaga Maldonado2 years ago54writer.WritePropertyName("object"u8);
5dce104aJose Arriaga Maldonado1 years ago55writer.WriteStringValue(Object);
9f9f2936Jose Arriaga Maldonado2 years ago56}
5dce104aJose Arriaga Maldonado1 years ago57// Plugin customization: remove options.Format != "W" check
0ca4c062Jose Arriaga Maldonado1 years ago58if (_additionalBinaryDataProperties != null)
9f9f2936Jose Arriaga Maldonado2 years ago59{
e0fee603Jose Arriaga Maldonado1 years ago60foreach (var item in _additionalBinaryDataProperties)
9f9f2936Jose Arriaga Maldonado2 years ago61{
19fc7d54Jose Arriaga Maldonado2 years ago62if (ModelSerializationExtensions.IsSentinelValue(item.Value))
63{
64continue;
65}
9f9f2936Jose Arriaga Maldonado2 years ago66writer.WritePropertyName(item.Key);
67#if NET6_0_OR_GREATER
e0fee603Jose Arriaga Maldonado1 years ago68writer.WriteRawValue(item.Value);
9f9f2936Jose Arriaga Maldonado2 years ago69#else
70using (JsonDocument document = JsonDocument.Parse(item.Value))
71{
72JsonSerializer.Serialize(writer, document.RootElement);
73}
74#endif
75}
76}
77}
78
e0fee603Jose Arriaga Maldonado1 years ago79OpenAIEmbedding IJsonModel<OpenAIEmbedding>.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => JsonModelCreateCore(ref reader, options);
80
5dce104aJose Arriaga Maldonado1 years ago81[Experimental("OPENAI001")]
e0fee603Jose Arriaga Maldonado1 years ago82protected virtual OpenAIEmbedding JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options)
9f9f2936Jose Arriaga Maldonado2 years ago83{
e0fee603Jose Arriaga Maldonado1 years ago84string format = options.Format == "W" ? ((IPersistableModel<OpenAIEmbedding>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago85if (format != "J")
86{
19ceae44ShivangiReja1 years ago87throw new FormatException($"The model {nameof(OpenAIEmbedding)} does not support reading '{format}' format.");
9f9f2936Jose Arriaga Maldonado2 years ago88}
89using JsonDocument document = JsonDocument.ParseValue(ref reader);
19ceae44ShivangiReja1 years ago90return DeserializeOpenAIEmbedding(document.RootElement, options);
9f9f2936Jose Arriaga Maldonado2 years ago91}
92
e0fee603Jose Arriaga Maldonado1 years ago93internal static OpenAIEmbedding DeserializeOpenAIEmbedding(JsonElement element, ModelReaderWriterOptions options)
9f9f2936Jose Arriaga Maldonado2 years ago94{
95if (element.ValueKind == JsonValueKind.Null)
96{
97return null;
98}
99int index = default;
e0fee603Jose Arriaga Maldonado1 years ago100BinaryData embeddingProperty = default;
5dce104aJose Arriaga Maldonado1 years ago101string @object = default;
e0fee603Jose Arriaga Maldonado1 years ago102IDictionary<string, BinaryData> additionalBinaryDataProperties = new ChangeTrackingDictionary<string, BinaryData>();
103foreach (var prop in element.EnumerateObject())
9f9f2936Jose Arriaga Maldonado2 years ago104{
e0fee603Jose Arriaga Maldonado1 years ago105if (prop.NameEquals("index"u8))
9f9f2936Jose Arriaga Maldonado2 years ago106{
e0fee603Jose Arriaga Maldonado1 years ago107index = prop.Value.GetInt32();
9f9f2936Jose Arriaga Maldonado2 years ago108continue;
109}
e0fee603Jose Arriaga Maldonado1 years ago110if (prop.NameEquals("embedding"u8))
9f9f2936Jose Arriaga Maldonado2 years ago111{
e0fee603Jose Arriaga Maldonado1 years ago112embeddingProperty = BinaryData.FromString(prop.Value.GetRawText());
9f9f2936Jose Arriaga Maldonado2 years ago113continue;
114}
e0fee603Jose Arriaga Maldonado1 years ago115if (prop.NameEquals("object"u8))
9f9f2936Jose Arriaga Maldonado2 years ago116{
5dce104aJose Arriaga Maldonado1 years ago117@object = prop.Value.GetString();
9f9f2936Jose Arriaga Maldonado2 years ago118continue;
119}
5dce104aJose Arriaga Maldonado1 years ago120// Plugin customization: remove options.Format != "W" check
0ca4c062Jose Arriaga Maldonado1 years ago121additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText()));
9f9f2936Jose Arriaga Maldonado2 years ago122}
e0fee603Jose Arriaga Maldonado1 years ago123return new OpenAIEmbedding(index, embeddingProperty, @object, additionalBinaryDataProperties);
9f9f2936Jose Arriaga Maldonado2 years ago124}
125
e0fee603Jose Arriaga Maldonado1 years ago126BinaryData IPersistableModel<OpenAIEmbedding>.Write(ModelReaderWriterOptions options) => PersistableModelWriteCore(options);
9f9f2936Jose Arriaga Maldonado2 years ago127
5dce104aJose Arriaga Maldonado1 years ago128[Experimental("OPENAI001")]
e0fee603Jose Arriaga Maldonado1 years ago129protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options)
130{
131string format = options.Format == "W" ? ((IPersistableModel<OpenAIEmbedding>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago132switch (format)
133{
134case "J":
5dce104aJose Arriaga Maldonado1 years ago135return ModelReaderWriter.Write(this, options, OpenAIContext.Default);
9f9f2936Jose Arriaga Maldonado2 years ago136default:
19ceae44ShivangiReja1 years ago137throw new FormatException($"The model {nameof(OpenAIEmbedding)} does not support writing '{options.Format}' format.");
9f9f2936Jose Arriaga Maldonado2 years ago138}
139}
140
e0fee603Jose Arriaga Maldonado1 years ago141OpenAIEmbedding IPersistableModel<OpenAIEmbedding>.Create(BinaryData data, ModelReaderWriterOptions options) => PersistableModelCreateCore(data, options);
9f9f2936Jose Arriaga Maldonado2 years ago142
5dce104aJose Arriaga Maldonado1 years ago143[Experimental("OPENAI001")]
e0fee603Jose Arriaga Maldonado1 years ago144protected virtual OpenAIEmbedding PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options)
145{
146string format = options.Format == "W" ? ((IPersistableModel<OpenAIEmbedding>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago147switch (format)
148{
149case "J":
e0fee603Jose Arriaga Maldonado1 years ago150using (JsonDocument document = JsonDocument.Parse(data))
9f9f2936Jose Arriaga Maldonado2 years ago151{
19ceae44ShivangiReja1 years ago152return DeserializeOpenAIEmbedding(document.RootElement, options);
9f9f2936Jose Arriaga Maldonado2 years ago153}
154default:
19ceae44ShivangiReja1 years ago155throw new FormatException($"The model {nameof(OpenAIEmbedding)} does not support reading '{options.Format}' format.");
9f9f2936Jose Arriaga Maldonado2 years ago156}
157}
158
19ceae44ShivangiReja1 years ago159string IPersistableModel<OpenAIEmbedding>.GetFormatFromOptions(ModelReaderWriterOptions options) => "J";
9f9f2936Jose Arriaga Maldonado2 years ago160}
161}