81 instantiations of FunctionInvokingChatClient
Microsoft.Extensions.AI (1)
ChatCompletion\FunctionInvokingChatClientBuilderExtensions.cs (1)
36
var chatClient = new
FunctionInvokingChatClient
(innerClient, loggerFactory, services);
Microsoft.Extensions.AI.Integration.Tests (11)
ChatClientIntegrationTests.cs (11)
224
using var chatClient = new
FunctionInvokingChatClient
(
248
using var chatClient = new
FunctionInvokingChatClient
(ChatClient);
263
using var chatClient = new
FunctionInvokingChatClient
(ChatClient);
291
using var chatClient = new
FunctionInvokingChatClient
(
323
using var chatClient = new
FunctionInvokingChatClient
(
355
using var chatClient = new
FunctionInvokingChatClient
(
412
using var chatClient = new
FunctionInvokingChatClient
(
570
using var chatClient = new
FunctionInvokingChatClient
(ChatClient);
603
using var chatClient = new
FunctionInvokingChatClient
(ChatClient);
623
using var chatClient = new
FunctionInvokingChatClient
(ChatClient);
1064
using var chatClient = new
FunctionInvokingChatClient
(ChatClient);
Microsoft.Extensions.AI.OpenAI.Tests (10)
OpenAIResponseClientIntegrationTests.cs (10)
386
using var chatClient = new
FunctionInvokingChatClient
(ChatClient);
480
using var chatClient = new
FunctionInvokingChatClient
(ChatClient);
570
using var client = new
FunctionInvokingChatClient
(ChatClient);
594
using var client = new
FunctionInvokingChatClient
(ChatClient);
618
using var client = new
FunctionInvokingChatClient
(ChatClient);
643
using var client = new
FunctionInvokingChatClient
(ChatClient);
671
using var client = new
FunctionInvokingChatClient
(ChatClient);
861
using var client = new
FunctionInvokingChatClient
(ChatClient);
965
using var client = new
FunctionInvokingChatClient
(ChatClient);
1008
using var client = new
FunctionInvokingChatClient
(ChatClient);
Microsoft.Extensions.AI.Tests (59)
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (8)
911
.Use(s => new
FunctionInvokingChatClient
(s))
993
.Use(s => new
FunctionInvokingChatClient
(s))
1435
using var service = new
FunctionInvokingChatClient
(innerClient);
1446
using var service = new
FunctionInvokingChatClient
(innerClient);
1469
Func<ChatClientBuilder, ChatClientBuilder> configurePipeline = b => b.Use(s => new
FunctionInvokingChatClient
(s));
1545
Func<ChatClientBuilder, ChatClientBuilder> configurePipeline = b => b.Use(s => new
FunctionInvokingChatClient
(s));
1959
configurePipeline ??= b => b.Use(s => new
FunctionInvokingChatClient
(s) { AdditionalTools = additionalTools });
2047
configurePipeline ??= b => b.Use(s => new
FunctionInvokingChatClient
(s) { AdditionalTools = additionalTools });
ChatCompletion\FunctionInvokingChatClientTests.cs (51)
27
Assert.Throws<ArgumentNullException>("innerClient", () => new
FunctionInvokingChatClient
(null!));
35
using FunctionInvokingChatClient client =
new
(innerClient);
49
using FunctionInvokingChatClient client =
new
(innerClient);
218
s => new
FunctionInvokingChatClient
(s) { AllowConcurrentInvocation = concurrentInvocation });
266
s => new
FunctionInvokingChatClient
(s) { AllowConcurrentInvocation = true });
340
s => new
FunctionInvokingChatClient
(s)
402
using var client = new
FunctionInvokingChatClient
(innerClient)
483
using var client = new
FunctionInvokingChatClient
(innerClient)
564
using var client = new
FunctionInvokingChatClient
(innerClient)
673
using var client = new
FunctionInvokingChatClient
(innerClient)
717
using var client = new
FunctionInvokingChatClient
(innerClient)
770
using var client = new
FunctionInvokingChatClient
(innerClient)
809
using var client = new
FunctionInvokingChatClient
(innerClient)
1027
s => new
FunctionInvokingChatClient
(s) { IncludeDetailedErrors = detailedErrors });
1054
b.Use((c, services) => new
FunctionInvokingChatClient
(c, services.GetRequiredService<ILoggerFactory>()));
1111
new
FunctionInvokingChatClient
(new OpenTelemetryChatClient(c, sourceName: sourceName) { EnableSensitiveData = enableSensitiveData }));
1210
using var client = new
FunctionInvokingChatClient
(innerClient);
1252
using var client = new
FunctionInvokingChatClient
(innerClient);
1373
using var chatClient = new
FunctionInvokingChatClient
(innerChatClient);
1525
s => new
FunctionInvokingChatClient
(s) { TerminateOnUnknownCalls = terminateOnUnknown });
1588
s => new
FunctionInvokingChatClient
(s) { TerminateOnUnknownCalls = terminateOnUnknown });
1619
Func<ChatClientBuilder, ChatClientBuilder> configure = b => b.Use(s => new
FunctionInvokingChatClient
(s) { TerminateOnUnknownCalls = false });
1624
configure = b => b.Use(s => new
FunctionInvokingChatClient
(s) { TerminateOnUnknownCalls = true });
1652
using var chatClient = new
FunctionInvokingChatClient
(innerChatClient);
1693
new
FunctionInvokingChatClient
(new OpenTelemetryChatClient(c, sourceName: clientSourceName)));
1748
.Use(c => new
FunctionInvokingChatClient
(
1804
new
FunctionInvokingChatClient
(new OpenTelemetryChatClient(c, sourceName: clientSourceName)));
1846
new
FunctionInvokingChatClient
(new OpenTelemetryChatClient(c, sourceName: clientSourceName)));
1968
new
FunctionInvokingChatClient
(new OpenTelemetryChatClient(c, sourceName: clientSourceName)));
2053
using var client = new
FunctionInvokingChatClient
(innerClient);
2124
using var client = new
FunctionInvokingChatClient
(innerClient);
2171
using var client1 = new
FunctionInvokingChatClient
(innerClient);
2172
using var client2 = new
FunctionInvokingChatClient
(client1);
2429
using var client = new
FunctionInvokingChatClient
(innerClient);
2523
using var client = new
FunctionInvokingChatClient
(innerClient);
2628
using var client = new
FunctionInvokingChatClient
(innerClient);
2730
using var client = new
FunctionInvokingChatClient
(innerClient)
2830
using var client = new
FunctionInvokingChatClient
(innerClient)
2916
using var client = new
FunctionInvokingChatClient
(innerClient);
3008
using var client = new
FunctionInvokingChatClient
(innerClient);
3109
using var client = new
FunctionInvokingChatClient
(innerClient);
3215
using var client = new
FunctionInvokingChatClient
(innerClient);
3264
b.Use((c, services) => new
FunctionInvokingChatClient
(c, services.GetRequiredService<ILoggerFactory>()));
3296
b.Use((c, services) => new
FunctionInvokingChatClient
(c, services.GetRequiredService<ILoggerFactory>()));
3329
b.Use((c, services) => new
FunctionInvokingChatClient
(c, services.GetRequiredService<ILoggerFactory>()));
3367
b.Use((c, services) => new
FunctionInvokingChatClient
(c, services.GetRequiredService<ILoggerFactory>()));
3389
using var client = new
FunctionInvokingChatClient
(innerClient, loggerFactory);
3426
using var client = new
FunctionInvokingChatClient
(innerClient, loggerFactory);
3489
using var client = new
FunctionInvokingChatClient
(innerClient);
3566
using var client = new
FunctionInvokingChatClient
(innerClient);
3629
using var client = new
FunctionInvokingChatClient
(innerClient);
106 references to FunctionInvokingChatClient
Aspire.Azure.AI.OpenAI.Tests (1)
AspireConfigurableOpenAIExtensionsTests.cs (1)
247
Assert.IsType<
FunctionInvokingChatClient
>(chatClient);
Microsoft.Extensions.AI (30)
ChatCompletion\FunctionInvocationContext.cs (1)
58
/// The initial request to the client that passes along the chat contents provided to the <see cref="
FunctionInvokingChatClient
"/>
ChatCompletion\FunctionInvokingChatClient.cs (14)
38
/// <see cref="
FunctionInvokingChatClient
"/> will not attempt to invoke it, and instead allow that <see cref="FunctionCallContent"/>
43
/// Further, if a requested function is an <see cref="ApprovalRequiredAIFunction"/>, the <see cref="
FunctionInvokingChatClient
"/> will not
47
/// request. The <see cref="
FunctionInvokingChatClient
"/> will then process that approval response and invoke the function as appropriate.
56
/// A <see cref="
FunctionInvokingChatClient
"/> instance is thread-safe for concurrent use so long as the
72
/// <summary>Gets the <see cref="IServiceProvider"/> specified when constructing the <see cref="
FunctionInvokingChatClient
"/>, if any.</summary>
83
/// Initializes a new instance of the <see cref="
FunctionInvokingChatClient
"/> class.
91
_logger = (ILogger?)loggerFactory?.CreateLogger<
FunctionInvokingChatClient
>() ?? NullLogger.Instance;
172
/// Each request to this <see cref="
FunctionInvokingChatClient
"/> might end up making
206
/// When function invocations fail with an exception, the <see cref="
FunctionInvokingChatClient
"/>
233
/// These will not impact the requests sent by the <see cref="
FunctionInvokingChatClient
"/>, which will pass through the
244
/// that isn't available to the <see cref="
FunctionInvokingChatClient
"/> is received; <see langword="false"/> to create and send a
249
/// When <see langword="false"/>, call requests to any tools that aren't available to the <see cref="
FunctionInvokingChatClient
"/>
255
/// that the <see cref="
FunctionInvokingChatClient
"/> doesn't know about, it will terminate the function calling loop and return
259
/// <see cref="AITool"/>s that the <see cref="
FunctionInvokingChatClient
"/> is aware of (for example, because they're in
ChatCompletion\FunctionInvokingChatClientBuilderExtensions.cs (5)
12
/// Provides extension methods for attaching a <see cref="
FunctionInvokingChatClient
"/> to a chat pipeline.
19
/// <remarks>This works by adding an instance of <see cref="
FunctionInvokingChatClient
"/> with default options.</remarks>
22
/// <param name="configure">An optional callback that can be used to configure the <see cref="
FunctionInvokingChatClient
"/> instance.</param>
28
Action<
FunctionInvokingChatClient
>? configure = null)
36
var
chatClient = new FunctionInvokingChatClient(innerClient, loggerFactory, services);
ChatCompletion\ImageGeneratingChatClient.cs (3)
373
var callId =
FunctionInvokingChatClient
.CurrentContext?.CallContent.CallId;
408
var callId =
FunctionInvokingChatClient
.CurrentContext?.CallContent.CallId;
426
var callId =
FunctionInvokingChatClient
.CurrentContext?.CallContent.CallId;
Common\FunctionInvocationHelpers.cs (1)
10
/// Internal helper methods shared between <see cref="
FunctionInvokingChatClient
"/> and <see cref="FunctionInvokingRealtimeClientSession"/>.
Common\FunctionInvocationLogger.cs (1)
10
/// Internal logger for function invocation operations shared between <see cref="
FunctionInvokingChatClient
"/> and <see cref="FunctionInvokingRealtimeClientSession"/>.
Common\FunctionInvocationProcessor.cs (3)
12
using FunctionInvocationResult = Microsoft.Extensions.AI.
FunctionInvokingChatClient
.FunctionInvocationResult;
13
using FunctionInvocationStatus = Microsoft.Extensions.AI.
FunctionInvokingChatClient
.FunctionInvocationStatus;
19
/// Used by both <see cref="
FunctionInvokingChatClient
"/> and <see cref="FunctionInvokingRealtimeClientSession"/>.
Realtime\FunctionInvokingRealtimeClientSession.cs (2)
14
using FunctionInvocationResult = Microsoft.Extensions.AI.
FunctionInvokingChatClient
.FunctionInvocationResult;
15
using FunctionInvocationStatus = Microsoft.Extensions.AI.
FunctionInvokingChatClient
.FunctionInvocationStatus;
Microsoft.Extensions.AI.Integration.Tests (11)
ChatClientIntegrationTests.cs (11)
224
using
var
chatClient = new FunctionInvokingChatClient(
248
using
var
chatClient = new FunctionInvokingChatClient(ChatClient);
263
using
var
chatClient = new FunctionInvokingChatClient(ChatClient);
291
using
var
chatClient = new FunctionInvokingChatClient(
323
using
var
chatClient = new FunctionInvokingChatClient(
355
using
var
chatClient = new FunctionInvokingChatClient(
412
using
var
chatClient = new FunctionInvokingChatClient(
570
using
var
chatClient = new FunctionInvokingChatClient(ChatClient);
603
using
var
chatClient = new FunctionInvokingChatClient(ChatClient);
623
using
var
chatClient = new FunctionInvokingChatClient(ChatClient);
1064
using
var
chatClient = new FunctionInvokingChatClient(ChatClient);
Microsoft.Extensions.AI.OpenAI.Tests (18)
OpenAIAssistantChatClientTests.cs (2)
66
Assert.NotNull(pipeline.GetService<
FunctionInvokingChatClient
>());
72
Assert.IsType<
FunctionInvokingChatClient
>(pipeline.GetService<IChatClient>());
OpenAIChatClientTests.cs (4)
72
Assert.NotNull(pipeline.GetService<
FunctionInvokingChatClient
>());
78
Assert.IsType<
FunctionInvokingChatClient
>(pipeline.GetService<IChatClient>());
97
Assert.NotNull(pipeline.GetService<
FunctionInvokingChatClient
>());
103
Assert.IsType<
FunctionInvokingChatClient
>(pipeline.GetService<IChatClient>());
OpenAIResponseClientIntegrationTests.cs (10)
386
using
var
chatClient = new FunctionInvokingChatClient(ChatClient);
480
using
var
chatClient = new FunctionInvokingChatClient(ChatClient);
570
using
var
client = new FunctionInvokingChatClient(ChatClient);
594
using
var
client = new FunctionInvokingChatClient(ChatClient);
618
using
var
client = new FunctionInvokingChatClient(ChatClient);
643
using
var
client = new FunctionInvokingChatClient(ChatClient);
671
using
var
client = new FunctionInvokingChatClient(ChatClient);
861
using
var
client = new FunctionInvokingChatClient(ChatClient);
965
using
var
client = new FunctionInvokingChatClient(ChatClient);
1008
using
var
client = new FunctionInvokingChatClient(ChatClient);
OpenAIResponseClientTests.cs (2)
66
Assert.NotNull(pipeline.GetService<
FunctionInvokingChatClient
>());
72
Assert.IsType<
FunctionInvokingChatClient
>(pipeline.GetService<IChatClient>());
Microsoft.Extensions.AI.Tests (46)
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (3)
1404
FunctionInvokingChatClient
.CurrentContext!.Terminate = true;
1435
using
var
service = new FunctionInvokingChatClient(innerClient);
1446
using
var
service = new FunctionInvokingChatClient(innerClient);
ChatCompletion\FunctionInvokingChatClientTests.cs (43)
35
using
FunctionInvokingChatClient
client = new(innerClient);
49
using
FunctionInvokingChatClient
client = new(innerClient);
402
using
var
client = new FunctionInvokingChatClient(innerClient)
483
using
var
client = new FunctionInvokingChatClient(innerClient)
564
using
var
client = new FunctionInvokingChatClient(innerClient)
673
using
var
client = new FunctionInvokingChatClient(innerClient)
717
using
var
client = new FunctionInvokingChatClient(innerClient)
770
using
var
client = new FunctionInvokingChatClient(innerClient)
809
using
var
client = new FunctionInvokingChatClient(innerClient)
1210
using
var
client = new FunctionInvokingChatClient(innerClient);
1252
using
var
client = new FunctionInvokingChatClient(innerClient);
1274
var context =
FunctionInvokingChatClient
.CurrentContext!;
1314
Assert.Null(
FunctionInvokingChatClient
.CurrentContext);
1351
FunctionInvokingChatClient
.CurrentContext!.Terminate = true;
1373
using
var
chatClient = new FunctionInvokingChatClient(innerChatClient);
1652
using
var
chatClient = new FunctionInvokingChatClient(innerChatClient);
2053
using
var
client = new FunctionInvokingChatClient(innerClient);
2124
using
var
client = new FunctionInvokingChatClient(innerClient);
2171
using
var
client1 = new FunctionInvokingChatClient(innerClient);
2172
using
var
client2 = new FunctionInvokingChatClient(client1);
2366
var context =
FunctionInvokingChatClient
.CurrentContext!;
2429
using
var
client = new FunctionInvokingChatClient(innerClient);
2460
var context =
FunctionInvokingChatClient
.CurrentContext!;
2523
using
var
client = new FunctionInvokingChatClient(innerClient);
2562
var context =
FunctionInvokingChatClient
.CurrentContext!;
2628
using
var
client = new FunctionInvokingChatClient(innerClient);
2666
var context =
FunctionInvokingChatClient
.CurrentContext!;
2730
using
var
client = new FunctionInvokingChatClient(innerClient)
2770
var context =
FunctionInvokingChatClient
.CurrentContext!;
2830
using
var
client = new FunctionInvokingChatClient(innerClient)
2916
using
var
client = new FunctionInvokingChatClient(innerClient);
2946
var context =
FunctionInvokingChatClient
.CurrentContext!;
3008
using
var
client = new FunctionInvokingChatClient(innerClient);
3047
var context =
FunctionInvokingChatClient
.CurrentContext!;
3109
using
var
client = new FunctionInvokingChatClient(innerClient);
3150
var context =
FunctionInvokingChatClient
.CurrentContext!;
3215
using
var
client = new FunctionInvokingChatClient(innerClient);
3315
var context =
FunctionInvokingChatClient
.CurrentContext!;
3389
using
var
client = new FunctionInvokingChatClient(innerClient, loggerFactory);
3426
using
var
client = new FunctionInvokingChatClient(innerClient, loggerFactory);
3489
using
var
client = new FunctionInvokingChatClient(innerClient);
3566
using
var
client = new FunctionInvokingChatClient(innerClient);
3629
using
var
client = new FunctionInvokingChatClient(innerClient);