56 instantiations of FunctionCallContent
Microsoft.Extensions.AI.Abstractions (1)
Microsoft.Extensions.AI.Abstractions.Tests (11)
Microsoft.Extensions.AI.AzureAIInference.Tests (1)
Microsoft.Extensions.AI.Integration.Tests (1)
Microsoft.Extensions.AI.Ollama (1)
Microsoft.Extensions.AI.Ollama.Tests (1)
Microsoft.Extensions.AI.OpenAI.Tests (5)
Microsoft.Extensions.AI.Tests (35)
ChatCompletion\FunctionInvokingChatClientTests.cs (33)
61new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1")]),
63new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 42 } })]),
65new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId3", "VoidReturn", arguments: new Dictionary<string, object?> { { "i", 43 } })]),
94new FunctionCallContent("callId1", "Func1"),
95new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 34 } }),
96new FunctionCallContent("callId3", "Func2", arguments: new Dictionary<string, object?> { { "i", 56 } }),
106new FunctionCallContent("callId4", "Func2", arguments: new Dictionary<string, object?> { { "i", 78 } }),
107new FunctionCallContent("callId5", "Func1")
147new FunctionCallContent("callId1", "Func", arguments: new Dictionary<string, object?> { { "arg", "hello" } }),
148new FunctionCallContent("callId2", "Func", arguments: new Dictionary<string, object?> { { "arg", "world" } }),
191new FunctionCallContent("callId1", "Func", arguments: new Dictionary<string, object?> { { "arg", "hello" } }),
192new FunctionCallContent("callId2", "Func", arguments: new Dictionary<string, object?> { { "arg", "world" } }),
225new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1")]),
227new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 42 } })]),
229new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId3", "VoidReturn", arguments: new Dictionary<string, object?> { { "i", 43 } })]),
278new ChatMessage(ChatRole.Assistant, [new TextContent("extra"), new FunctionCallContent("callId1", "Func1"), new TextContent("stuff")]),
280new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 42 } })]),
282new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId3", "VoidReturn", arguments: new Dictionary<string, object?> { { "i", 43 } }), new TextContent("more")]),
302new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1")]),
304new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 42 } })]),
306new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId3", "VoidReturn", arguments: new Dictionary<string, object?> { { "i", 43 } })]),
345new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1")]),
366new(ChatRole.Assistant, [new FunctionCallContent("callId1", func1.Metadata.Name)]),
367new(ChatRole.Assistant, [new FunctionCallContent("callId2", func2.Metadata.Name)]),
405new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1", new Dictionary<string, object?> { ["arg1"] = "value1" })]),
464new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1", new Dictionary<string, object?> { ["arg1"] = "value1" })]),
538new StreamingChatCompletionUpdate { Contents = [new FunctionCallContent("callId1", "Func1", new Dictionary<string, object?> { ["text"] = "Input 1" })] },
539new StreamingChatCompletionUpdate { Contents = [new FunctionCallContent("callId2", "Func1", new Dictionary<string, object?> { ["text"] = "Input 2" })] })
598new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1", new Dictionary<string, object?> { ["i"] = 41 })]),
600new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId2", "Func1", new Dictionary<string, object?> { ["i"] = 42 })]),
608new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId3", "Func1", new Dictionary<string, object?> { ["i"] = 43 })]),
618new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId2", "Func1", new Dictionary<string, object?> { ["i"] = 42 })]),
674return new ChatCompletion(new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId-abc", "Func1")]))
85 references to FunctionCallContent
Microsoft.Extensions.AI (16)
ChatCompletion\FunctionInvokingChatClient.cs (15)
25/// When this client receives a <see cref="FunctionCallContent"/> in a chat completion, it responds
154/// When the inner <see cref="IChatClient"/> returns <see cref="FunctionCallContent"/> to the
258FunctionCallContent[] functionCallContents = response.Message.Contents.OfType<FunctionCallContent>().ToArray();
292if (response.Message.Contents.Any(c => c is not FunctionCallContent))
295clone.Contents = clone.Contents.Where(c => c is not FunctionCallContent).ToList();
334List<FunctionCallContent> functionCallContents = [];
353functionCallContents.AddRange(update.Contents.OfType<FunctionCallContent>());
361[] : update.Contents.Where(c => c is not FunctionCallContent).ToList();
494IList<ChatMessage> chatMessages, ChatOptions options, IReadOnlyList<FunctionCallContent> functionCallContents, int iteration, CancellationToken cancellationToken)
554IList<ChatMessage> chatMessages, ChatOptions options, FunctionCallContent functionCallContent,
759FunctionCallContent functionCallContent,
771public FunctionCallContent CallContent { get; set; }
810internal FunctionInvocationResult(ContinueMode continueMode, FunctionStatus status, FunctionCallContent callContent, object? result, Exception? exception)
823public FunctionCallContent CallContent { get; }
Microsoft.Extensions.AI.Abstractions (7)
Microsoft.Extensions.AI.Abstractions.Tests (19)
Contents\FunctionCallContentTests..cs (14)
21FunctionCallContent c = new("callId1", "name");
38FunctionCallContent c = new("id", "name", args);
51FunctionCallContent c = new("callId1", "name");
81var sut = new FunctionCallContent("callId1", "functionName", new Dictionary<string, object?> { ["key"] = "value" }) { Exception = ex };
85var deserializedSut = JsonSerializer.Deserialize<FunctionCallContent>(json, TestJsonSerializerContext.Default.Options);
273var content = FunctionCallContent.CreateFromParsedArguments(
318var content = FunctionCallContent.CreateFromParsedArguments(exc, "callId", "functionName", ThrowingParser);
332Assert.Throws<ArgumentNullException>("encodedArguments", () => FunctionCallContent.CreateFromParsedArguments((string)null!, "callId", "functionName", _ => null));
333Assert.Throws<ArgumentNullException>("callId", () => FunctionCallContent.CreateFromParsedArguments("{}", null!, "functionName", _ => null));
334Assert.Throws<ArgumentNullException>("name", () => FunctionCallContent.CreateFromParsedArguments("{}", "callId", null!, _ => null));
335Assert.Throws<ArgumentNullException>("argumentParser", () => FunctionCallContent.CreateFromParsedArguments("{}", "callId", "functionName", null!));
Microsoft.Extensions.AI.AzureAIInference (5)
Microsoft.Extensions.AI.AzureAIInference.Tests (4)
Microsoft.Extensions.AI.Integration.Tests (1)
Microsoft.Extensions.AI.Ollama (2)
Microsoft.Extensions.AI.Ollama.Tests (2)
Microsoft.Extensions.AI.OpenAI (9)
OpenAIModelMapper.ChatCompletion.cs (5)
43if (content is FunctionCallContent callRequest)
622private static FunctionCallContent ParseCallContentFromJsonString(string json, string callId, string name) =>
623FunctionCallContent.CreateFromParsedArguments(json, callId, name,
626private static FunctionCallContent ParseCallContentFromBinaryData(BinaryData ut8Json, string callId, string name) =>
627FunctionCallContent.CreateFromParsedArguments(ut8Json, callId, name,
Microsoft.Extensions.AI.OpenAI.Tests (8)
Microsoft.Extensions.AI.Tests (12)