11using System ;
22using System . Collections . Generic ;
3+ using System . ComponentModel ;
34using System . Linq ;
45
56namespace OpenAI . Chat ;
67
78/// <summary> Model factory for models. </summary>
89public static partial class OpenAIChatModelFactory
910{
11+ /// <summary> Initializes a new instance of <see cref="OpenAI.Chat.ChatCompletion"/>. </summary>
12+ /// <returns> A new <see cref="OpenAI.Chat.ChatCompletion"/> instance for mocking. </returns>
13+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
14+ public static ChatCompletion ChatCompletion (
15+ string id ,
16+ ChatFinishReason finishReason ,
17+ ChatMessageContent content ,
18+ string refusal ,
19+ IEnumerable < ChatToolCall > toolCalls ,
20+ ChatMessageRole role ,
21+ ChatFunctionCall functionCall ,
22+ IEnumerable < ChatTokenLogProbabilityDetails > contentTokenLogProbabilities ,
23+ IEnumerable < ChatTokenLogProbabilityDetails > refusalTokenLogProbabilities ,
24+ DateTimeOffset createdAt ,
25+ string model ,
26+ string systemFingerprint ,
27+ ChatTokenUsage usage ) =>
28+ ChatCompletion (
29+ id : id ,
30+ finishReason : finishReason ,
31+ content : content ,
32+ refusal : refusal ,
33+ toolCalls : toolCalls ,
34+ role : role ,
35+ functionCall : functionCall ,
36+ contentTokenLogProbabilities : contentTokenLogProbabilities ,
37+ refusalTokenLogProbabilities : refusalTokenLogProbabilities ,
38+ createdAt : createdAt ,
39+ model : model ,
40+ systemFingerprint : systemFingerprint ,
41+ usage : usage ,
42+ outputAudio : default ) ;
43+
1044 /// <summary> Initializes a new instance of <see cref="OpenAI.Chat.ChatCompletion"/>. </summary>
1145 /// <returns> A new <see cref="OpenAI.Chat.ChatCompletion"/> instance for mocking. </returns>
1246 public static ChatCompletion ChatCompletion (
@@ -16,14 +50,14 @@ public static ChatCompletion ChatCompletion(
1650 string refusal = null ,
1751 IEnumerable < ChatToolCall > toolCalls = null ,
1852 ChatMessageRole role = default ,
19- ChatFunctionCall functionCall = null ,
53+ ChatFunctionCall functionCall = default ,
2054 IEnumerable < ChatTokenLogProbabilityDetails > contentTokenLogProbabilities = null ,
2155 IEnumerable < ChatTokenLogProbabilityDetails > refusalTokenLogProbabilities = null ,
2256 DateTimeOffset createdAt = default ,
2357 string model = null ,
2458 string systemFingerprint = null ,
25- ChatTokenUsage usage = null ,
26- ChatOutputAudio outputAudio = null )
59+ ChatTokenUsage usage = default ,
60+ ChatOutputAudio outputAudio = default )
2761 {
2862 content ??= new ChatMessageContent ( ) ;
2963 toolCalls ??= new List < ChatToolCall > ( ) ;
@@ -91,16 +125,27 @@ public static ChatTokenTopLogProbabilityDetails ChatTokenTopLogProbabilityDetail
91125 additionalBinaryDataProperties : null ) ;
92126 }
93127
128+ /// <summary> Initializes a new instance of <see cref="OpenAI.Chat.ChatTokenUsage"/>. </summary>
129+ /// <returns> A new <see cref="OpenAI.Chat.ChatTokenUsage"/> instance for mocking. </returns>
130+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
131+ public static ChatTokenUsage ChatTokenUsage ( int outputTokenCount , int inputTokenCount , int totalTokenCount , ChatOutputTokenUsageDetails outputTokenDetails ) =>
132+ ChatTokenUsage (
133+ outputTokenCount : outputTokenCount ,
134+ inputTokenCount : inputTokenCount ,
135+ totalTokenCount : totalTokenCount ,
136+ outputTokenDetails : outputTokenDetails ,
137+ inputTokenDetails : default ) ;
138+
94139 /// <summary> Initializes a new instance of <see cref="OpenAI.Chat.ChatTokenUsage"/>. </summary>
95140 /// <returns> A new <see cref="OpenAI.Chat.ChatTokenUsage"/> instance for mocking. </returns>
96141 public static ChatTokenUsage ChatTokenUsage ( int outputTokenCount = default , int inputTokenCount = default , int totalTokenCount = default , ChatOutputTokenUsageDetails outputTokenDetails = null , ChatInputTokenUsageDetails inputTokenDetails = null )
97142 {
98143 return new ChatTokenUsage (
99- outputTokenCount ,
100- inputTokenCount ,
101- totalTokenCount ,
102- outputTokenDetails ,
103- inputTokenDetails ,
144+ outputTokenCount : outputTokenCount ,
145+ inputTokenCount : inputTokenCount ,
146+ totalTokenCount : totalTokenCount ,
147+ outputTokenDetails : outputTokenDetails ,
148+ inputTokenDetails : inputTokenDetails ,
104149 additionalBinaryDataProperties : null ) ;
105150 }
106151
@@ -116,7 +161,25 @@ public static ChatInputTokenUsageDetails ChatInputTokenUsageDetails(int audioTok
116161
117162 /// <summary> Initializes a new instance of <see cref="OpenAI.Chat.ChatOutputTokenUsageDetails"/>. </summary>
118163 /// <returns> A new <see cref="OpenAI.Chat.ChatOutputTokenusageDetails"/> instance for mocking. </returns>
119- public static ChatOutputTokenUsageDetails ChatOutputTokenUsageDetails ( int reasoningTokenCount = default , int audioTokenCount = default , int acceptedPredictionTokenCount = default , int rejectedPredictionTokenCount = 0 )
164+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
165+ public static ChatOutputTokenUsageDetails ChatOutputTokenUsageDetails ( int reasoningTokenCount ) =>
166+ ChatOutputTokenUsageDetails (
167+ reasoningTokenCount : reasoningTokenCount ,
168+ audioTokenCount : default ) ;
169+
170+ /// <summary> Initializes a new instance of <see cref="OpenAI.Chat.ChatOutputTokenUsageDetails"/>. </summary>
171+ /// <returns> A new <see cref="OpenAI.Chat.ChatOutputTokenusageDetails"/> instance for mocking. </returns>
172+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
173+ public static ChatOutputTokenUsageDetails ChatOutputTokenUsageDetails ( int reasoningTokenCount , int audioTokenCount ) =>
174+ ChatOutputTokenUsageDetails (
175+ reasoningTokenCount : reasoningTokenCount ,
176+ audioTokenCount : audioTokenCount ,
177+ acceptedPredictionTokenCount : default ,
178+ rejectedPredictionTokenCount : default ) ;
179+
180+ /// <summary> Initializes a new instance of <see cref="OpenAI.Chat.ChatOutputTokenUsageDetails"/>. </summary>
181+ /// <returns> A new <see cref="OpenAI.Chat.ChatOutputTokenusageDetails"/> instance for mocking. </returns>
182+ public static ChatOutputTokenUsageDetails ChatOutputTokenUsageDetails ( int reasoningTokenCount = default , int audioTokenCount = default , int acceptedPredictionTokenCount = default , int rejectedPredictionTokenCount = default )
120183 {
121184 return new ChatOutputTokenUsageDetails (
122185 audioTokenCount : audioTokenCount ,
@@ -136,23 +199,56 @@ public static ChatOutputAudio ChatOutputAudio(BinaryData audioBytes, string id =
136199 additionalBinaryDataProperties : null ) ;
137200 }
138201
202+ /// <summary> Initializes a new instance of <see cref="OpenAI.Chat.StreamingChatCompletionUpdate"/>. </summary>
203+ /// <returns> A new <see cref="OpenAI.Chat.StreamingChatCompletionUpdate"/> instance for mocking. </returns>
204+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
205+ public static StreamingChatCompletionUpdate StreamingChatCompletionUpdate (
206+ string completionId ,
207+ ChatMessageContent contentUpdate ,
208+ StreamingChatFunctionCallUpdate functionCallUpdate ,
209+ IEnumerable < StreamingChatToolCallUpdate > toolCallUpdates ,
210+ ChatMessageRole ? role ,
211+ string refusalUpdate ,
212+ IEnumerable < ChatTokenLogProbabilityDetails > contentTokenLogProbabilities ,
213+ IEnumerable < ChatTokenLogProbabilityDetails > refusalTokenLogProbabilities ,
214+ ChatFinishReason ? finishReason ,
215+ DateTimeOffset createdAt ,
216+ string model ,
217+ string systemFingerprint ,
218+ ChatTokenUsage usage ) =>
219+ StreamingChatCompletionUpdate (
220+ completionId : completionId ,
221+ contentUpdate : contentUpdate ,
222+ functionCallUpdate : functionCallUpdate ,
223+ toolCallUpdates : toolCallUpdates ,
224+ role : role ,
225+ refusalUpdate : refusalUpdate ,
226+ contentTokenLogProbabilities : contentTokenLogProbabilities ,
227+ refusalTokenLogProbabilities : refusalTokenLogProbabilities ,
228+ finishReason : finishReason ,
229+ createdAt : createdAt ,
230+ model : model ,
231+ systemFingerprint : systemFingerprint ,
232+ usage : usage ,
233+ outputAudioUpdate : default ) ;
234+
139235 /// <summary> Initializes a new instance of <see cref="OpenAI.Chat.StreamingChatCompletionUpdate"/>. </summary>
140236 /// <returns> A new <see cref="OpenAI.Chat.StreamingChatCompletionUpdate"/> instance for mocking. </returns>
141237 public static StreamingChatCompletionUpdate StreamingChatCompletionUpdate (
142238 string completionId = null ,
143239 ChatMessageContent contentUpdate = null ,
144240 StreamingChatFunctionCallUpdate functionCallUpdate = null ,
145241 IEnumerable < StreamingChatToolCallUpdate > toolCallUpdates = null ,
146- ChatMessageRole ? role = null ,
242+ ChatMessageRole ? role = default ,
147243 string refusalUpdate = null ,
148244 IEnumerable < ChatTokenLogProbabilityDetails > contentTokenLogProbabilities = null ,
149245 IEnumerable < ChatTokenLogProbabilityDetails > refusalTokenLogProbabilities = null ,
150- ChatFinishReason ? finishReason = null ,
246+ ChatFinishReason ? finishReason = default ,
151247 DateTimeOffset createdAt = default ,
152248 string model = null ,
153249 string systemFingerprint = null ,
154- ChatTokenUsage usage = null ,
155- StreamingChatOutputAudioUpdate outputAudioUpdate = null )
250+ ChatTokenUsage usage = default ,
251+ StreamingChatOutputAudioUpdate outputAudioUpdate = default )
156252 {
157253 contentUpdate ??= new ChatMessageContent ( ) ;
158254 toolCallUpdates ??= new List < StreamingChatToolCallUpdate > ( ) ;
0 commit comments