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
78 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)
87
/// <remarks>The default value is <see langword="null"/>, which is treated the same as <see cref="
ChatToolMode
.Auto"/>.</remarks>
88
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)
31
/// <see cref="
ChatToolMode
.RequireAny"/> when any function can be selected.
Microsoft.Extensions.AI.Abstractions.Tests (54)
ChatCompletion\ChatOptionsTests.cs (5)
81
options.ToolMode =
ChatToolMode
.RequireAny;
96
Assert.Same(
ChatToolMode
.RequireAny, options.ToolMode);
112
Assert.Same(
ChatToolMode
.RequireAny, clone.ToolMode);
144
options.ToolMode =
ChatToolMode
.RequireAny;
169
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 (5)
AzureAIInferenceChatClientTests.cs (5)
675
yield return [
ChatToolMode
.Auto];
676
yield return [
ChatToolMode
.None];
677
yield return [
ChatToolMode
.RequireAny];
678
yield return [
ChatToolMode
.RequireSpecific("GetPersonAge")];
683
public async Task FunctionCallContent_NonStreaming(
ChatToolMode
mode)
Microsoft.Extensions.AI.Integration.Tests (2)
ChatClientIntegrationTests.cs (2)
285
ToolMode =
ChatToolMode
.RequireAny,
307
ToolMode =
ChatToolMode
.RequireSpecific(shieldsUpTool.Metadata.Name),
Microsoft.Extensions.AI.OpenAI (4)
OpenAIModelMapper.ChatCompletion.cs (4)
256
"required" =>
ChatToolMode
.RequireAny,
257
"none" =>
ChatToolMode
.None,
258
_ =>
ChatToolMode
.Auto,
265
result.ToolMode =
ChatToolMode
.RequireSpecific(functionElement.GetString()!);
Microsoft.Extensions.AI.OpenAI.Tests (1)
OpenAISerializationTests.cs (1)
369
Assert.Same(
ChatToolMode
.Auto, request.Options.ToolMode);