3 types derived from ChatToolMode
Microsoft.Extensions.AI.Abstractions (3)
ChatCompletion\AutoChatToolMode.cs (1)
15
public sealed class AutoChatToolMode :
ChatToolMode
ChatCompletion\NoneChatToolMode.cs (1)
15
public sealed class NoneChatToolMode :
ChatToolMode
ChatCompletion\RequiredChatToolMode.cs (1)
15
public sealed class RequiredChatToolMode :
ChatToolMode
81 references to ChatToolMode
Microsoft.Extensions.AI.Abstractions (12)
ChatCompletion\AutoChatToolMode.cs (2)
12
/// Use <see cref="
ChatToolMode
.Auto"/> to get an instance of <see cref="AutoChatToolMode"/>.
18
/// <remarks>Use <see cref="
ChatToolMode
.Auto"/> to get an instance of <see cref="AutoChatToolMode"/>.</remarks>
ChatCompletion\ChatOptions.cs (2)
117
/// <remarks>The default value is <see langword="null"/>, which is treated the same as <see cref="
ChatToolMode
.Auto"/>.</remarks>
118
public
ChatToolMode
? ToolMode { get; set; }
ChatCompletion\ChatToolMode.cs (5)
23
/// <summary>Initializes a new instance of the <see cref="
ChatToolMode
"/> class.</summary>
30
/// Gets a predefined <see cref="
ChatToolMode
"/> indicating that tool usage is optional.
39
/// Gets a predefined <see cref="
ChatToolMode
"/> indicating that tool usage is unsupported.
51
/// Gets a predefined <see cref="
ChatToolMode
"/> indicating that tool usage is required,
57
/// Instantiates a <see cref="
ChatToolMode
"/> indicating that tool usage is required,
ChatCompletion\NoneChatToolMode.cs (2)
12
/// Use <see cref="
ChatToolMode
.None"/> to get an instance of <see cref="NoneChatToolMode"/>.
18
/// <remarks>Use <see cref="
ChatToolMode
.None"/> to get an instance of <see cref="NoneChatToolMode"/>.</remarks>
ChatCompletion\RequiredChatToolMode.cs (1)
32
/// <see cref="
ChatToolMode
.RequireAny"/> when any function can be selected.
Microsoft.Extensions.AI.Abstractions.Tests (54)
ChatCompletion\ChatOptionsTests.cs (5)
89
options.ToolMode =
ChatToolMode
.RequireAny;
106
Assert.Same(
ChatToolMode
.RequireAny, options.ToolMode);
124
Assert.Same(
ChatToolMode
.RequireAny, clone.ToolMode);
158
options.ToolMode =
ChatToolMode
.RequireAny;
185
Assert.Equal(
ChatToolMode
.RequireAny, deserialized.ToolMode);
ChatCompletion\ChatToolModeTests.cs (49)
14
Assert.Same(
ChatToolMode
.Auto,
ChatToolMode
.Auto);
15
Assert.Same(
ChatToolMode
.None,
ChatToolMode
.None);
16
Assert.Same(
ChatToolMode
.RequireAny,
ChatToolMode
.RequireAny);
22
Assert.True(
ChatToolMode
.Auto ==
ChatToolMode
.Auto);
23
Assert.True(
ChatToolMode
.Auto.Equals(
ChatToolMode
.Auto));
24
Assert.False(
ChatToolMode
.Auto.Equals(
ChatToolMode
.RequireAny));
25
Assert.False(
ChatToolMode
.Auto.Equals(new RequiredChatToolMode(null)));
26
Assert.False(
ChatToolMode
.Auto.Equals(new RequiredChatToolMode("func")));
27
Assert.Equal(
ChatToolMode
.Auto.GetHashCode(),
ChatToolMode
.Auto.GetHashCode());
29
Assert.True(
ChatToolMode
.None ==
ChatToolMode
.None);
30
Assert.True(
ChatToolMode
.None.Equals(
ChatToolMode
.None));
31
Assert.False(
ChatToolMode
.None.Equals(
ChatToolMode
.RequireAny));
32
Assert.False(
ChatToolMode
.None.Equals(new RequiredChatToolMode(null)));
33
Assert.False(
ChatToolMode
.None.Equals(new RequiredChatToolMode("func")));
34
Assert.Equal(
ChatToolMode
.None.GetHashCode(),
ChatToolMode
.None.GetHashCode());
36
Assert.True(
ChatToolMode
.RequireAny ==
ChatToolMode
.RequireAny);
37
Assert.True(
ChatToolMode
.RequireAny.Equals(
ChatToolMode
.RequireAny));
38
Assert.False(
ChatToolMode
.RequireAny.Equals(
ChatToolMode
.Auto));
39
Assert.False(
ChatToolMode
.RequireAny.Equals(new RequiredChatToolMode("func")));
41
Assert.True(
ChatToolMode
.RequireAny.Equals(new RequiredChatToolMode(null)));
42
Assert.Equal(
ChatToolMode
.RequireAny.GetHashCode(), new RequiredChatToolMode(null).GetHashCode());
43
Assert.Equal(
ChatToolMode
.RequireAny.GetHashCode(),
ChatToolMode
.RequireAny.GetHashCode());
58
string json = JsonSerializer.Serialize(
ChatToolMode
.Auto, TestJsonSerializerContext.Default.ChatToolMode);
61
ChatToolMode
? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.ChatToolMode);
62
Assert.Equal(
ChatToolMode
.Auto, result);
68
string json = JsonSerializer.Serialize(
ChatToolMode
.None, TestJsonSerializerContext.Default.ChatToolMode);
71
ChatToolMode
? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.ChatToolMode);
72
Assert.Equal(
ChatToolMode
.None, result);
78
string json = JsonSerializer.Serialize(
ChatToolMode
.RequireAny, TestJsonSerializerContext.Default.ChatToolMode);
81
ChatToolMode
? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.ChatToolMode);
82
Assert.Equal(
ChatToolMode
.RequireAny, result);
88
string json = JsonSerializer.Serialize(
ChatToolMode
.RequireSpecific("myFunc"), TestJsonSerializerContext.Default.ChatToolMode);
91
ChatToolMode
? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.ChatToolMode);
92
Assert.Equal(
ChatToolMode
.RequireSpecific("myFunc"), result);
Microsoft.Extensions.AI.AzureAIInference.Tests (9)
AzureAIInferenceChatClientTests.cs (9)
376
ToolMode =
ChatToolMode
.None,
460
ToolMode =
ChatToolMode
.None,
547
ToolMode =
ChatToolMode
.None,
622
ToolMode =
ChatToolMode
.None,
1171
yield return [
ChatToolMode
.Auto];
1172
yield return [
ChatToolMode
.None];
1173
yield return [
ChatToolMode
.RequireAny];
1174
yield return [
ChatToolMode
.RequireSpecific("GetPersonAge")];
1179
public async Task FunctionCallContent_NonStreaming(
ChatToolMode
mode)
Microsoft.Extensions.AI.Integration.Tests (2)
ChatClientIntegrationTests.cs (2)
445
ToolMode =
ChatToolMode
.RequireAny,
466
ToolMode =
ChatToolMode
.RequireSpecific(shieldsUpTool.Name),
Microsoft.Extensions.AI.OpenAI.Tests (4)
OpenAIChatClientTests.cs (4)
352
ToolMode =
ChatToolMode
.None,
431
ToolMode =
ChatToolMode
.None,
514
ToolMode =
ChatToolMode
.None,
590
ToolMode =
ChatToolMode
.None,