21 instantiations of RequiredChatToolMode
Microsoft.Extensions.AI.Abstractions (2)
ChatCompletion\ChatToolMode.cs (2)
54public static RequiredChatToolMode RequireAny { get; } = new(requiredFunctionName: null); 63public static RequiredChatToolMode RequireSpecific(string functionName) => new(functionName);
Microsoft.Extensions.AI.Abstractions.Tests (19)
ChatCompletion\ChatToolModeTests.cs (19)
25Assert.False(ChatToolMode.Auto.Equals(new RequiredChatToolMode(null))); 26Assert.False(ChatToolMode.Auto.Equals(new RequiredChatToolMode("func"))); 32Assert.False(ChatToolMode.None.Equals(new RequiredChatToolMode(null))); 33Assert.False(ChatToolMode.None.Equals(new RequiredChatToolMode("func"))); 39Assert.False(ChatToolMode.RequireAny.Equals(new RequiredChatToolMode("func"))); 41Assert.True(ChatToolMode.RequireAny.Equals(new RequiredChatToolMode(null))); 42Assert.Equal(ChatToolMode.RequireAny.GetHashCode(), new RequiredChatToolMode(null).GetHashCode()); 45Assert.True(new RequiredChatToolMode("func").Equals(new RequiredChatToolMode("func"))); 46Assert.Equal(new RequiredChatToolMode("func").GetHashCode(), new RequiredChatToolMode("func").GetHashCode()); 48Assert.False(new RequiredChatToolMode("func1").Equals(new RequiredChatToolMode("func2"))); 49Assert.NotEqual(new RequiredChatToolMode("func1").GetHashCode(), new RequiredChatToolMode("func2").GetHashCode()); // technically not guaranteed 51Assert.False(new RequiredChatToolMode("func1").Equals(new RequiredChatToolMode("FUNC1"))); 52Assert.NotEqual(new RequiredChatToolMode("func1").GetHashCode(), new RequiredChatToolMode("FUNC1").GetHashCode()); // technically not guaranteed
12 references to RequiredChatToolMode
Microsoft.Extensions.AI (1)
ChatCompletion\FunctionInvokingChatClient.cs (1)
441case ContinueMode.Continue when options.ToolMode is RequiredChatToolMode:
Microsoft.Extensions.AI.Abstractions (7)
ChatCompletion\ChatToolMode.cs (4)
18[JsonDerivedType(typeof(RequiredChatToolMode), typeDiscriminator: "required")] 54public static RequiredChatToolMode RequireAny { get; } = new(requiredFunctionName: null); 62/// <returns>An instance of <see cref="RequiredChatToolMode"/> for the specified function name.</returns> 63public static RequiredChatToolMode RequireSpecific(string functionName) => new(functionName);
ChatCompletion\RequiredChatToolMode.cs (3)
26/// Initializes a new instance of the <see cref="RequiredChatToolMode"/> class that requires a specific function to be called. 55obj is RequiredChatToolMode other && 61typeof(RequiredChatToolMode).GetHashCode();
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
358case RequiredChatToolMode required:
Microsoft.Extensions.AI.AzureAIInference.Tests (1)
AzureAIInferenceChatClientTests.cs (1)
716mode is RequiredChatToolMode { RequiredFunctionName: not null } f ? "{\"type\":\"function\",\"function\":{\"name\":\"GetPersonAge\"}}" :
Microsoft.Extensions.AI.OpenAI (2)
OpenAIAssistantClient.cs (1)
239case RequiredChatToolMode required:
OpenAIModelMapper.ChatCompletion.cs (1)
385case RequiredChatToolMode required: