You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/// Gets or sets a flag to indicate whether a single response is allowed to include multiple tool calls.
137
-
/// If <see langword="false"/>, the <see cref="IChatClient"/> is asked to return a maximum of one tool call per request.
138
-
/// If <see langword="true"/>, there is no limit.
139
-
/// If <see langword="null"/>, the provider may select its own default.
136
+
/// Gets or sets a value that indicates whether a single response is allowed to include multiple tool calls.
140
137
/// </summary>
138
+
/// <value>
139
+
/// <see langword="true"/> for no limit. <see langword="false"/> if the <see cref="IChatClient"/> is asked to return a maximum of one tool call per request. If <see langword="null"/>, the provider can select its own default.
140
+
/// </value>
141
141
/// <remarks>
142
142
/// <para>
143
143
/// When used with function calling middleware, this does not affect the ability to perform multiple function calls in sequence.
144
144
/// It only affects the number of function calls within a single iteration of the function calling loop.
145
145
/// </para>
146
146
/// <para>
147
-
/// The underlying provider is not guaranteed to support or honor this flag. For example it may choose to ignore it and return multiple tool calls regardless.
147
+
/// The underlying provider is not guaranteed to support or honor this flag. For example it might choose to ignore it and return multiple tool calls regardless.
148
148
/// </para>
149
149
/// </remarks>
150
150
publicbool?AllowMultipleToolCalls{get;set;}
151
151
152
152
/// <summary>Gets or sets the tool mode for the chat request.</summary>
153
-
/// <remarks>The default value is <see langword="null"/>, which is treated the same as <see cref="ChatToolMode.Auto"/>.</remarks>
153
+
/// <value>The default is <see langword="null"/>, which is treated the same as <see cref="ChatToolMode.Auto"/>.</value>
154
154
publicChatToolMode?ToolMode{get;set;}
155
155
156
156
/// <summary>Gets or sets the list of tools to include with a chat request.</summary>
/// <summary>Represents the response to a chat request.</summary>
13
13
/// <remarks>
14
14
/// <see cref="ChatResponse"/> provides one or more response messages and metadata about the response.
15
-
/// A typical response will contain a single message, however a response may contain multiple messages
15
+
/// A typical response will contain a single message, however a response might contain multiple messages
16
16
/// in a variety of scenarios. For example, if automatic function calling is employed, such that a single
17
-
/// request to a <see cref="IChatClient"/> may actually generate multiple roundtrips to an inner <see cref="IChatClient"/>
18
-
/// it uses, all of the involved messages may be surfaced as part of the final <see cref="ChatResponse"/>.
17
+
/// request to a <see cref="IChatClient"/> might actually generate multiple round-trips to an inner <see cref="IChatClient"/>
18
+
/// it uses, all of the involved messages might be surfaced as part of the final <see cref="ChatResponse"/>.
19
19
/// </remarks>
20
20
publicclassChatResponse
21
21
{
@@ -69,8 +69,7 @@ public IList<ChatMessage> Messages
69
69
/// the input messages supplied to <see cref="IChatClient.GetResponseAsync"/> need only be the additional messages beyond
70
70
/// what's already stored. If this property is non-<see langword="null"/>, it represents an identifier for that state,
71
71
/// and it should be used in a subsequent <see cref="ChatOptions.ConversationId"/> instead of supplying the same messages
72
-
/// (and this <see cref="ChatResponse"/>'s message) as part of the <c>messages</c> parameter. Note that the value may
73
-
/// or may not differ on every response, depending on whether the underlying provider uses a fixed ID for each conversation
72
+
/// (and this <see cref="ChatResponse"/>'s message) as part of the <c>messages</c> parameter. Note that the value might differ on every response, depending on whether the underlying provider uses a fixed ID for each conversation
74
73
/// or updates it for each message.
75
74
/// </remarks>
76
75
/// <related type="Article" href="https://learn.microsoft.com/dotnet/ai/microsoft-extensions-ai#stateless-vs-stateful-clients">Stateless vs. stateful clients.</related>
@@ -95,7 +94,7 @@ public IList<ChatMessage> Messages
95
94
/// and the result of the response has not been obtained yet. If the response has completed and the result has been obtained,
96
95
/// the token will be <see langword="null"/>.
97
96
/// <para>
98
-
/// This property should be used in conjunction with <see cref="ChatOptions.ContinuationToken"/> to
97
+
/// This property should be used in conjunction with <see cref="ChatOptions.ContinuationToken"/> to
99
98
/// continue to poll for the completion of the response. Pass this token to
100
99
/// <see cref="ChatOptions.ContinuationToken"/> on subsequent calls to <see cref="IChatClient.GetResponseAsync"/>
101
100
/// to poll for completion.
@@ -121,7 +120,7 @@ public IList<ChatMessage> Messages
121
120
publicoverridestringToString()=>Text;
122
121
123
122
/// <summary>Creates an array of <see cref="ChatResponseUpdate" /> instances that represent this <see cref="ChatResponse" />.</summary>
124
-
/// <returns>An array of <see cref="ChatResponseUpdate" /> instances that may be used to represent this <see cref="ChatResponse" />.</returns>
123
+
/// <returns>An array of <see cref="ChatResponseUpdate" /> instances that can be used to represent this <see cref="ChatResponse" />.</returns>
/// The relationship between <see cref="ChatResponse"/> and <see cref="ChatResponseUpdate"/> is
23
23
/// codified in the <see cref="ChatResponseExtensions.ToChatResponseAsync"/> and
24
24
/// <see cref="ChatResponse.ToChatResponseUpdates"/>, which enable bidirectional conversions
25
-
/// between the two. Note, however, that the provided conversions may be lossy, for example if multiple
25
+
/// between the two. Note, however, that the provided conversions might be lossy, for example, if multiple
26
26
/// updates all have different <see cref="RawRepresentation"/> objects whereas there's only one slot for
27
27
/// such an object available in <see cref="ChatResponse.RawRepresentation"/>. Similarly, if different
28
28
/// updates provide different values for properties like <see cref="ModelId"/>,
@@ -100,12 +100,12 @@ public IList<AIContent> Contents
100
100
101
101
/// <summary>Gets or sets the ID of the message of which this update is a part.</summary>
102
102
/// <remarks>
103
-
/// A single streaming response may be composed of multiple messages, each of which may be represented
103
+
/// A single streaming response might be composed of multiple messages, each of which might be represented
104
104
/// by multiple updates. This property is used to group those updates together into messages.
105
105
///
106
-
/// Some providers may consider streaming responses to be a single message, and in that case
107
-
/// the value of this property may be the same as the response ID.
108
-
///
106
+
/// Some providers might consider streaming responses to be a single message, and in that case
107
+
/// the value of this property might be the same as the response ID.
108
+
///
109
109
/// This value is used when <see cref="ChatResponseExtensions.ToChatResponseAsync(IAsyncEnumerable{ChatResponseUpdate}, System.Threading.CancellationToken)"/>
110
110
/// groups <see cref="ChatResponseUpdate"/> instances into <see cref="ChatMessage"/> instances.
111
111
/// The value must be unique to each call to the underlying provider, and must be shared by
@@ -119,7 +119,7 @@ public IList<AIContent> Contents
119
119
/// the input messages supplied to <see cref="IChatClient.GetStreamingResponseAsync"/> need only be the additional messages beyond
120
120
/// what's already stored. If this property is non-<see langword="null"/>, it represents an identifier for that state,
121
121
/// and it should be used in a subsequent <see cref="ChatOptions.ConversationId"/> instead of supplying the same messages
122
-
/// (and this streaming message) as part of the <c>messages</c> parameter. Note that the value may or may not differ on every
122
+
/// (and this streaming message) as part of the <c>messages</c> parameter. Note that the value might differ on every
123
123
/// response, depending on whether the underlying provider uses a fixed ID for each conversation or updates it for each message.
124
124
/// </remarks>
125
125
publicstring?ConversationId{get;set;}
@@ -138,9 +138,9 @@ public IList<AIContent> Contents
138
138
139
139
/// <summary>Gets or sets the continuation token for resuming the streamed chat response of which this update is a part.</summary>
140
140
/// <remarks>
141
-
/// <see cref="IChatClient"/> implementations that support background responses will return
142
-
/// a continuation token on each update if background responses are allowed in <see cref="ChatOptions.AllowBackgroundResponses"/>
143
-
/// except of the last update, for which the token will be <see langword="null"/>.
141
+
/// <see cref="IChatClient"/> implementations that support background responses return
142
+
/// a continuation token on each update if background responses are allowed in <see cref="ChatOptions.AllowBackgroundResponses"/>.
143
+
/// However, for the last update, the token will be <see langword="null"/>.
144
144
/// <para>
145
145
/// This property should be used for stream resumption, where the continuation token of the latest received update should be
146
146
/// passed to <see cref="ChatOptions.ContinuationToken"/> on subsequent calls to <see cref="IChatClient.GetStreamingResponseAsync"/>
0 commit comments