openai/openai-dotnet

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
OpenAI_2.0.0-beta.7

Branches

Tags

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

Clone

HTTPS

Download ZIP

src/Custom/Chat/AssistantChatMessage.Serialization.cs

64lines · modeblame

9f9f2936Jose Arriaga Maldonado2 years ago1using System;
2using System.ClientModel.Primitives;
3using System.Collections.Generic;
4using System.Text.Json;
5
6namespace OpenAI.Chat;
7
8[CodeGenSuppress("global::System.ClientModel.Primitives.IJsonModel<OpenAI.Chat.AssistantChatMessage>.Write", typeof(Utf8JsonWriter), typeof(ModelReaderWriterOptions))]
9public partial class AssistantChatMessage : IJsonModel<AssistantChatMessage>
10{
11void IJsonModel<AssistantChatMessage>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
12=> CustomSerializationHelpers.SerializeInstance(this, SerializeAssistantChatMessage, writer, options);
13
14internal static void SerializeAssistantChatMessage(AssistantChatMessage instance, Utf8JsonWriter writer, ModelReaderWriterOptions options)
896b9e0bTravis Wilson2 years ago15=> instance.WriteCore(writer, options);
16
17protected override void WriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
9f9f2936Jose Arriaga Maldonado2 years ago18{
19writer.WriteStartObject();
896b9e0bTravis Wilson2 years ago20if (Optional.IsDefined(ParticipantName))
9f9f2936Jose Arriaga Maldonado2 years ago21{
22writer.WritePropertyName("name"u8);
896b9e0bTravis Wilson2 years ago23writer.WriteStringValue(ParticipantName);
9f9f2936Jose Arriaga Maldonado2 years ago24}
896b9e0bTravis Wilson2 years ago25if (Optional.IsCollectionDefined(ToolCalls))
9f9f2936Jose Arriaga Maldonado2 years ago26{
27writer.WritePropertyName("tool_calls"u8);
28writer.WriteStartArray();
896b9e0bTravis Wilson2 years ago29foreach (var item in ToolCalls)
9f9f2936Jose Arriaga Maldonado2 years ago30{
31writer.WriteObjectValue(item, options);
32}
33writer.WriteEndArray();
34}
896b9e0bTravis Wilson2 years ago35if (Optional.IsDefined(FunctionCall))
9f9f2936Jose Arriaga Maldonado2 years ago36{
896b9e0bTravis Wilson2 years ago37if (FunctionCall != null)
9f9f2936Jose Arriaga Maldonado2 years ago38{
39writer.WritePropertyName("function_call"u8);
896b9e0bTravis Wilson2 years ago40writer.WriteObjectValue(FunctionCall, options);
9f9f2936Jose Arriaga Maldonado2 years ago41}
42else
43{
44writer.WriteNull("function_call");
45}
46}
47writer.WritePropertyName("role"u8);
896b9e0bTravis Wilson2 years ago48writer.WriteStringValue(Role);
49if (Optional.IsCollectionDefined(Content))
9f9f2936Jose Arriaga Maldonado2 years ago50{
896b9e0bTravis Wilson2 years ago51if (Content[0] != null)
9f9f2936Jose Arriaga Maldonado2 years ago52{
53writer.WritePropertyName("content"u8);
896b9e0bTravis Wilson2 years ago54writer.WriteStringValue(Content[0].Text);
9f9f2936Jose Arriaga Maldonado2 years ago55}
56else
57{
58writer.WriteNull("content");
59}
60}
896b9e0bTravis Wilson2 years ago61writer.WriteSerializedAdditionalRawData(_serializedAdditionalRawData, options);
9f9f2936Jose Arriaga Maldonado2 years ago62writer.WriteEndObject();
63}
64}