336 references to AIFunctionFactory
Aspire.Dashboard (6)
Model\Assistant\AssistantChatViewModel.cs (6)
162
AIFunctionFactory
.Create(dataContext.GetResourceGraphAsync),
163
AIFunctionFactory
.Create(dataContext.GetConsoleLogsAsync),
164
AIFunctionFactory
.Create(dataContext.GetTraceAsync),
165
AIFunctionFactory
.Create(dataContext.GetStructuredLogsAsync),
166
AIFunctionFactory
.Create(dataContext.GetTracesAsync),
167
AIFunctionFactory
.Create(dataContext.GetTraceStructuredLogsAsync)
Microsoft.Extensions.AI (4)
ChatCompletion\FunctionInvocationContext.cs (1)
18
private static readonly AIFunction _nopFunction =
AIFunctionFactory
.Create(() => { }, nameof(FunctionInvocationContext));
ChatCompletion\ImageGeneratingChatClient.cs (3)
290
AIFunctionFactory
.Create(GenerateImageAsync),
291
AIFunctionFactory
.Create(EditImageAsync),
292
AIFunctionFactory
.Create(GetImagesForEdit)
Microsoft.Extensions.AI.Abstractions (2)
Functions\AIFunctionFactoryOptions.cs (2)
79
/// By default, the return value of invoking the method wrapped into an <see cref="AIFunction"/> by <see cref="
AIFunctionFactory
"/>
89
/// method for <see cref="AIFunction"/> instances produced by <see cref="
AIFunctionFactory
"/> to wrap
Microsoft.Extensions.AI.Abstractions.Tests (19)
ChatCompletion\ChatOptionsTests.cs (4)
72
AIFunctionFactory
.Create(() => 42),
73
AIFunctionFactory
.Create(() => 43),
189
AIFunctionFactory
.Create(() => 42),
190
AIFunctionFactory
.Create(() => 43),
Contents\FunctionCallContentTests.cs (6)
194
AIFunction function =
AIFunctionFactory
.Create((DayOfWeek[] a, double b, Guid c, Dictionary<string, string> d) => b, serializerOptions: TestJsonSerializerContext.Default.Options);
216
AIFunction function =
AIFunctionFactory
.Create((DayOfWeek[] a, double b, Guid c, Dictionary<string, string> d) => b, serializerOptions: TestJsonSerializerContext.Default.Options);
224
var ex = Assert.Throws<NotSupportedException>(() =>
AIFunctionFactory
.Create((CustomType arg) => { }, serializerOptions: TestJsonSerializerContext.Default.Options));
228
ex = Assert.Throws<NotSupportedException>(() =>
AIFunctionFactory
.Create(() => new CustomType(), serializerOptions: TestJsonSerializerContext.Default.Options));
249
AIFunction function =
AIFunctionFactory
.Create((DayOfWeek[] a, double b, Guid c, Dictionary<string, string> d) => b, serializerOptions: TestJsonSerializerContext.Default.Options);
270
AIFunction function =
AIFunctionFactory
.Create((DayOfWeek[] a, double b, Guid c, Dictionary<string, string> d) => b, serializerOptions: TestJsonSerializerContext.Default.Options);
Functions\ApprovalRequiredAIFunctionTests.cs (2)
21
var inner =
AIFunctionFactory
.Create(() => 42);
37
var inner =
AIFunctionFactory
.Create(() => "result");
Functions\DelegatingAIFunctionTests.cs (2)
23
AIFunction expected = new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => 42));
65
AIFunction inner =
AIFunctionFactory
.Create(int () =>
Utilities\AIJsonSchemaTransformCacheTests.cs (1)
51
AIFunction func =
AIFunctionFactory
.Create((int x, int y) => x + y);
Utilities\AIJsonUtilitiesTests.cs (4)
291
AIFunction func =
AIFunctionFactory
.Create((int x, int y) => x + y, serializerOptions: options);
345
AIFunction func =
AIFunctionFactory
.Create((
366
AIFunction func =
AIFunctionFactory
.Create((int a, int? b, long c, short d, float e, double f, decimal g) => { }, serializerOptions: options);
414
AIFunction func =
AIFunctionFactory
.Create(([Range(1, 10)] int num, [StringLength(100, MinimumLength = 1)] string str) => num + str.Length, serializerOptions: options);
Microsoft.Extensions.AI.Evaluation.Integration.Tests (2)
AgentQualityEvaluatorTests.cs (2)
43
Tools = [
AIFunctionFactory
.Create(GetOrders),
AIFunctionFactory
.Create(GetOrderStatus)]
Microsoft.Extensions.AI.Integration.Tests (46)
ChatClientIntegrationTests.cs (46)
246
Tools = [
AIFunctionFactory
.Create(() => secretNumber, "GetSecretNumber")]
262
Tools = [
AIFunctionFactory
.Create((int a, int b) => a * b, "SecretComputation")]
277
Tools = [
AIFunctionFactory
.Create((int a, int b) => a * b, "SecretComputation")]
311
AIFunction func =
AIFunctionFactory
.Create((string id = "defaultId") => id is "foo" ? secretNumber : -1, "GetSecretNumberById");
343
AIFunction func =
AIFunctionFactory
.Create((PersonRecord person) => person.Name is "John" ? secretNumber + person.Age : -1, "GetSecretNumberByPerson");
375
AIFunction func =
AIFunctionFactory
.Create((string[] items, string shopperId) => { shoppingCart.AddRange(items); shopperName = shopperId; }, "AddItemsToShoppingCart");
459
AIFunctionFactory
.Create((int? i) => i, createOptions()),
460
AIFunctionFactory
.Create((string? s) => s, createOptions()),
461
AIFunctionFactory
.Create((int? i = null) => i, createOptions()),
462
AIFunctionFactory
.Create((bool b) => b, createOptions()),
463
AIFunctionFactory
.Create((double d) => d, createOptions()),
464
AIFunctionFactory
.Create((decimal d) => d, createOptions()),
465
AIFunctionFactory
.Create((float f) => f, createOptions()),
466
AIFunctionFactory
.Create((long l) => l, createOptions()),
467
AIFunctionFactory
.Create((char c) => c, createOptions()),
468
AIFunctionFactory
.Create((DateTime dt) => dt, createOptions()),
469
AIFunctionFactory
.Create((DateTimeOffset? dt) => dt, createOptions()),
470
AIFunctionFactory
.Create((TimeSpan ts) => ts, createOptions()),
472
AIFunctionFactory
.Create((DateOnly d) => d, createOptions()),
473
AIFunctionFactory
.Create((TimeOnly t) => t, createOptions()),
475
AIFunctionFactory
.Create((Uri uri) => uri, createOptions()),
476
AIFunctionFactory
.Create((Guid guid) => guid, createOptions()),
477
AIFunctionFactory
.Create((List<int> list) => list, createOptions()),
478
AIFunctionFactory
.Create((int[] arr, ComplexObject? co) => arr, createOptions()),
479
AIFunctionFactory
.Create((string p1 = "str", int p2 = 42, BindingFlags p3 = BindingFlags.IgnoreCase, char p4 = 'x') => p1, createOptions()),
480
AIFunctionFactory
.Create((string? p1 = "str", int? p2 = 42, BindingFlags? p3 = BindingFlags.IgnoreCase, char? p4 = 'x') => p1, createOptions()),
584
Tools = [
AIFunctionFactory
.Create((string personName) =>
606
var tool =
AIFunctionFactory
.Create(() =>
629
var getSecretNumberTool =
AIFunctionFactory
.Create(() => 123, "GetSecretNumber");
630
var shieldsUpTool =
AIFunctionFactory
.Create(() => shieldsUp = true, "ShieldsUp");
726
var getTemperature =
AIFunctionFactory
.Create([Description("Gets the current temperature")] () =>
765
var getTemperature =
AIFunctionFactory
.Create([Description("Gets the current temperature")] () =>
807
var getTemperature =
AIFunctionFactory
.Create([Description("Gets the current temperature")] () =>
897
new ChatOptions { Tools = [
AIFunctionFactory
.Create(() => secretNumber, "GetSecretNumber")] });
923
new ChatOptions { Tools = [
AIFunctionFactory
.Create(() => secretNumber, "GetSecretNumber")] }))
1077
Tools = [
AIFunctionFactory
.Create((int personId) =>
1229
var getWeather =
AIFunctionFactory
.Create(([Description("Gets weather for a city")] string city) =>
1418
var weatherTool =
AIFunctionFactory
.Create(
1426
var translateTool =
AIFunctionFactory
.Create(
1434
var mathTool =
AIFunctionFactory
.Create(
1502
var translateTool =
AIFunctionFactory
.Create(
1510
var weatherTool =
AIFunctionFactory
.Create(
1559
var weatherTool =
AIFunctionFactory
.Create(
1635
var weatherTool =
AIFunctionFactory
.Create(
1643
var translateTool =
AIFunctionFactory
.Create(
1651
var mathTool =
AIFunctionFactory
.Create(
Microsoft.Extensions.AI.OllamaSharp.Integration.Tests (3)
OllamaSharpChatClientIntegrationTests.cs (3)
46
Tools = [
AIFunctionFactory
.Create(() => secretNumber, "GetSecretNumber")],
66
var stockPriceTool =
AIFunctionFactory
.Create([Description("Returns the stock price for a given ticker symbol")] (
76
var irrelevantTool =
AIFunctionFactory
.Create(() => { didCallIrrelevantTool = true; return 123; }, "GetSecretNumber");
Microsoft.Extensions.AI.OpenAI.Tests (19)
OpenAIChatClientTests.cs (8)
334
Tools = [
AIFunctionFactory
.Create(() => 42, "GetPersonAge", "Gets the age of the specified person.")],
384
AIFunction tool =
AIFunctionFactory
.Create(([Description("The person whose age is being requested")] string personName) => 42, "GetPersonAge", "Gets the age of the specified person.");
461
AIFunction tool =
AIFunctionFactory
.Create(([Description("The person whose age is being requested")] string personName) => 42, "GetPersonAge", "Gets the age of the specified person.");
544
AIFunction tool =
AIFunctionFactory
.Create(([Description("The person whose age is being requested")] string personName) => 42, "GetPersonAge", "Gets the age of the specified person.");
618
AIFunction tool =
AIFunctionFactory
.Create(([Description("The person whose age is being requested")] string personName) => 42, "GetPersonAge", "Gets the age of the specified person.");
731
Tools = [
AIFunctionFactory
.Create((string name) => 42, "GetPersonAge")],
1143
Tools = [
AIFunctionFactory
.Create(([Description("The person whose age is being requested")] string personName) => 42, "GetPersonAge", "Gets the age of the specified person.")],
1327
Tools = [
AIFunctionFactory
.Create(([Description("The person whose age is being requested")] string personName) => 42, "GetPersonAge", "Gets the age of the specified person.")],
OpenAIConversionTests.cs (2)
24
private static readonly AIFunction _testFunction =
AIFunctionFactory
.Create(
131
var functionWithDefs =
AIFunctionFactory
.CreateDeclaration(
OpenAIResponseClientIntegrationTests.cs (7)
267
Tools = [
AIFunctionFactory
.Create(() => { callCount++; return "5:43"; }, new AIFunctionFactoryOptions { Name = "GetCurrentTime" })]
361
Tools = [
AIFunctionFactory
.Create(() => { callCount++; return "5:43"; }, new AIFunctionFactoryOptions { Name = "GetCurrentTime" })]
441
Tools = [
AIFunctionFactory
.Create((int a, int b) => new TextContent($"The sum is {a + b}"), "AddNumbers", "Adds two numbers together")]
461
Tools = [
AIFunctionFactory
.Create((string city) => new List<AIContent>
489
Tools = [
AIFunctionFactory
.Create(() => new DataContent(ImageDataUri.GetImageDataUri(), "image/png"), "GetDotnetLogo", "Returns the .NET logo image")]
514
Tools = [
AIFunctionFactory
.Create(() => new DataContent(ImageDataUri.GetPdfDataUri(), "application/pdf") { Name = "document.pdf" }, "GetDocument", "Returns a PDF document")]
537
Tools = [
AIFunctionFactory
.Create(() => new List<AIContent>
OpenAIResponseClientTests.cs (2)
1001
Tools = [
AIFunctionFactory
.Create(() => 42, "GetPersonAge", "Gets the age of the specified person.")],
1143
AIFunction tool =
AIFunctionFactory
.Create(([Description("The person whose age is being requested")] string personName) => 42, "GetPersonAge", "Gets the age of the specified person.");
Microsoft.Extensions.AI.Tests (235)
ChatCompletion\FunctionInvocationContextTests.cs (1)
51
AIFunction function =
AIFunctionFactory
.Create(() => { }, nameof(Properties_Roundtrip));
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (41)
24
AIFunctionFactory
.Create(() => "Result 1", "Func1")),
26
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2")),
65
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Result 1", "Func1")),
66
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
99
AIFunction func1 =
AIFunctionFactory
.Create(() => "Result 1", "Func1");
100
AIFunction func2 =
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2");
145
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Result 1", "Func1")),
146
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
196
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Result 1", "Func1")),
197
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2")),
249
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Result 1", "Func1")),
250
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
308
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Result 1", "Func1")),
309
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
367
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Result 1", "Func1")),
368
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
431
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Result 1", "Func1")),
432
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
496
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Result 1", "Func1")),
497
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
498
AIFunctionFactory
.Create((string s) => $"Result 3: {s}", "Func3"),
590
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Result 1", "Func1")),
647
AIFunctionFactory
.Create(() => "Result 1", "Func1"),
648
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2")),
701
AIFunctionFactory
.Create(() => "Result 1", "Func1"),
702
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2")),
772
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Result 1", "Func1")),
773
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
827
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Result 1", "Func1")),
828
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
857
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Result 1", "Func1")),
858
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
903
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Result 1", "Func1")),
904
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
955
AIFunctionFactory
.Create(() => "Result 1", "Func1"),
956
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
1027
AIFunctionFactory
.Create(() => "Result 1", "Func1"),
1028
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2")),
1029
AIFunctionFactory
.Create(() => "Result 3", "Func3"),
1127
AIFunctionFactory
.Create(() => { functionInvokedCount++; return "Result 1"; }, "Func1")),
1166
new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Result 1", "Func1")),
ChatCompletion\FunctionInvokingChatClientTests.cs (84)
73
IList<AITool> additionalTools = [
AIFunctionFactory
.Create(() => "Additional Tool")];
85
AIFunctionFactory
.Create(() => "Result 1", "Func1"),
86
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
87
AIFunctionFactory
.Create((int i) => { }, "VoidReturn"),
114
new() { Tools = [
AIFunctionFactory
.Create(() => "Shouldn't be invoked", "ChatOptionsFunc")] } :
120
AIFunctionFactory
.Create(() => "Result 1", "Func1"),
121
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
122
AIFunctionFactory
.Create((int i) => { }, "VoidReturn"),
147
Tools = [
AIFunctionFactory
.Create(() => "Result 1", "Func1")]
153
AIFunctionFactory
.Create(() => "Should never be invoked", "Func1"),
154
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
155
AIFunctionFactory
.Create((int i) => { }, "VoidReturn"),
184
AIFunctionFactory
.Create((int? i = 42) => "Result 1", "Func1"),
185
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
235
AIFunctionFactory
.Create(async (string arg) =>
282
AIFunctionFactory
.Create(async (string arg) =>
321
AIFunctionFactory
.Create(() => "Result 1", "Func1"),
322
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
323
AIFunctionFactory
.Create((int i) => { }, "VoidReturn"),
368
AIFunctionFactory
.Create(() => "Result 1", "Func1"),
449
AIFunctionFactory
.Create(() => "Result 1", "Func1"),
530
AIFunctionFactory
.Create(() => "Result 1", "Func1"),
630
AIFunctionFactory
.Create(() => { actualCallCount++; }, "VoidReturn"),
680
Tools = [
AIFunctionFactory
.Create(() => "Result", "Func1")],
724
Tools = [
AIFunctionFactory
.Create(() => "Result", "Func1")],
777
Tools = [
AIFunctionFactory
.Create(() => "Result", "Func1"), hostedTool],
814
var originalTool =
AIFunctionFactory
.Create(() => "Result", "Func1");
845
AIFunctionFactory
.Create((bool shouldThrow, int callIndex) =>
926
AIFunctionFactory
.Create(() =>
975
AIFunctionFactory
.Create(() => "Result 1", "Func1"),
976
AIFunctionFactory
.Create((int i) => $"Result 2: {i}", "Func2"),
977
AIFunctionFactory
.Create((int i) => { }, "VoidReturn"),
1014
AIFunctionFactory
.Create(string () => throw new InvalidOperationException("Oh no!"), "Func1"),
1050
Tools = [
AIFunctionFactory
.Create(() => "Result 1", "Func1")]
1107
Tools = [
AIFunctionFactory
.Create(() => "Result 1", "Func1")]
1172
Tools = [
AIFunctionFactory
.Create((string text) => $"Result for {text}", "Func1")]
1230
Tools = [
AIFunctionFactory
.Create(() => "doesn't matter", "Func1")]
1269
var function =
AIFunctionFactory
.Create(async (int i) =>
1344
var function =
AIFunctionFactory
.Create((string? result = null) =>
1399
Tools = [
AIFunctionFactory
.Create(() => "Result 1", "Func1")],
1460
Tools = [
AIFunctionFactory
.Create((IServiceProvider actual) =>
1493
Tools = [
AIFunctionFactory
.Create(async (string arg, CancellationToken cancellationToken) =>
1521
Tools = [
AIFunctionFactory
.Create((int i) => $"Known: {i}", "KnownFunc")]
1573
var declarationOnly =
AIFunctionFactory
.Create(() => "unused", "DefOnly").AsDeclarationOnly();
1598
var known =
AIFunctionFactory
.Create(() => { invoked++; return "OK"; }, "Known");
1599
var defOnly =
AIFunctionFactory
.Create(() => "unused", "DefOnly").AsDeclarationOnly();
1656
Tools = [
AIFunctionFactory
.Create(() => { }, "Func1")],
1686
Tools = [
AIFunctionFactory
.Create(() => "Result 1", "Func1")]
1735
Tools = [
AIFunctionFactory
.Create(() => "Result 1", "Func1")]
1775
Tools = [
AIFunctionFactory
.Create(() => "Result 1", "Func1")]
1824
Tools = [
AIFunctionFactory
.Create(() => "Result 1", "Func1")]
1896
Tools = [
AIFunctionFactory
.Create(() => "Result 1", "Func1")]
1932
Tools = [
AIFunctionFactory
.Create(() => "Result 1", "Func1")]
1961
Tools = [
AIFunctionFactory
.Create(() => { functionInvokedCount++; return "Result 1"; }, "Func1")]
2011
AIFunctionFactory
.Create(() => { func1InvokedCount++; return "Result 1"; }, "Func1"),
2012
AIFunctionFactory
.Create(() => { func2InvokedCount++; return "Result 2"; }, "Func2"),
2079
Tools = [
AIFunctionFactory
.Create(() => { functionInvokedCount++; return "Result 1"; }, "Func1")]
2291
AIFunction functionB =
AIFunctionFactory
.Create(() => "FunctionB result", "FunctionB");
2294
AIFunction functionA =
AIFunctionFactory
.Create(
2385
AIFunction functionB =
AIFunctionFactory
.Create(() => "FunctionB result", "FunctionB");
2388
AIFunction functionA =
AIFunctionFactory
.Create(
2486
AIFunction originalFunctionB =
AIFunctionFactory
.Create(() => "Original FunctionB result", "FunctionB");
2487
AIFunction replacementFunctionB =
AIFunctionFactory
.Create(() => "Replacement FunctionB result", "FunctionB");
2490
AIFunction functionA =
AIFunctionFactory
.Create(
2591
AIFunction additionalTool =
AIFunctionFactory
.Create(() => "AdditionalTool result", "AdditionalTool");
2592
AIFunction functionB =
AIFunctionFactory
.Create(() => "FunctionB result", "FunctionB");
2595
AIFunction functionA =
AIFunctionFactory
.Create(
2694
AIFunction additionalToolSameName =
AIFunctionFactory
.Create(() => "AdditionalTool version", "SharedName");
2695
AIFunction addedToolSameName =
AIFunctionFactory
.Create(() => "Added version", "SharedName");
2698
AIFunction functionA =
AIFunctionFactory
.Create(
2798
AIFunction functionA =
AIFunctionFactory
.Create(
2871
AIFunction functionB =
AIFunctionFactory
.Create(() => "FunctionB result", "FunctionB");
2874
AIFunction functionA =
AIFunctionFactory
.Create(
2972
AIFunction functionB = new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "FunctionB result", "FunctionB"));
2975
AIFunction functionA =
AIFunctionFactory
.Create(
3074
AIFunction originalFunctionB =
AIFunctionFactory
.Create(() => "Original FunctionB result", "FunctionB");
3075
AIFunction replacementFunctionB = new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Replacement FunctionB result", "FunctionB"));
3078
AIFunction functionA =
AIFunctionFactory
.Create(
3184
Tools = [
AIFunctionFactory
.Create(() => "Result 1", "Func1")]
3211
var declarationOnly =
AIFunctionFactory
.Create(() => "Result 1", "Func1").AsDeclarationOnly();
3245
Tools = [
AIFunctionFactory
.Create(() =>
3276
var approvalFunc = new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Result 1", "Func1"));
3313
var approvalFunc = new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Result 1", "Func1"));
3350
var approvalFunc = new ApprovalRequiredAIFunction(
AIFunctionFactory
.Create(() => "Result 1", "Func1"));
ChatCompletion\ImageGeneratingChatClientTests.cs (2)
48
Tools = [
AIFunctionFactory
.Create(() => "dummy function", name: "DummyFunction")]
130
var dummyFunction =
AIFunctionFactory
.Create(() => "dummy", name: "DummyFunction");
ChatCompletion\OpenTelemetryChatClientTests.cs (2)
137
AIFunctionFactory
.Create((string personName) => personName, "GetPersonAge", "Gets the age of a person by name."),
142
AIFunctionFactory
.Create((string location) => "", "GetCurrentWeather", "Gets the current weather for a location.").AsDeclarationOnly(),
Functions\AIFunctionFactoryTest.cs (105)
32
Assert.Throws<ArgumentNullException>("method", () =>
AIFunctionFactory
.Create(method: null!));
33
Assert.Throws<ArgumentNullException>("method", () =>
AIFunctionFactory
.Create(method: null!, target: new object()));
34
Assert.Throws<ArgumentNullException>("method", () =>
AIFunctionFactory
.Create(method: null!, target: new object(), name: "myAiFunk"));
35
Assert.Throws<ArgumentNullException>("target", () =>
AIFunctionFactory
.Create(typeof(AIFunctionFactoryTest).GetMethod(nameof(InvalidArguments_Throw))!, (object?)null));
37
AIFunctionFactory
.Create(typeof(AIFunctionFactoryTest).GetMethod(nameof(InvalidArguments_Throw))!, (Func<AIFunctionArguments, object>)null!));
38
Assert.Throws<ArgumentException>("method", () =>
AIFunctionFactory
.Create(typeof(List<>).GetMethod("Add")!, new List<int>()));
46
func =
AIFunctionFactory
.Create((string a) => a + " " + a);
49
func =
AIFunctionFactory
.Create((string a, string b) => b + " " + a);
52
func =
AIFunctionFactory
.Create((int a, long b) => a + b);
59
AIFunction func =
AIFunctionFactory
.Create((string a = "test") => a + " " + a);
68
AIFunction funcNull =
AIFunctionFactory
.Create(([DefaultValue(null)] string? text) => text ?? "was null");
83
AIFunction funcValue =
AIFunctionFactory
.Create(([DefaultValue("default")] string text) => text);
92
AIFunction funcInt =
AIFunctionFactory
.Create(([DefaultValue(42)] int x) => x * 2);
101
AIFunction funcBoth =
AIFunctionFactory
.Create(([DefaultValue(100)] int y = 50) => y);
114
AIFunctionFactory
.Create((string theParam) => theParam + " " + theParam),
115
AIFunctionFactory
.Create((string? theParam) => theParam + " " + theParam),
116
AIFunctionFactory
.Create((int theParam) => theParam * 2),
117
AIFunctionFactory
.Create((int? theParam) => theParam * 2),
130
AIFunction func =
AIFunctionFactory
.Create((int x, int y, int z, int w, int u) => x + y + z + w + u);
159
AIFunction func =
AIFunctionFactory
.Create((JsonElement param) => param, serializerOptions: options);
179
AIFunction func =
AIFunctionFactory
.Create((JsonElement param) => param);
198
AIFunction func =
AIFunctionFactory
.Create((int value1 = 1, string value2 = "2", CancellationToken cancellationToken = default) =>
214
func =
AIFunctionFactory
.Create(Task<string> (string a) => Task.FromResult(a + " " + a));
218
func =
AIFunctionFactory
.Create(ValueTask<string> (string a, string b) => new ValueTask<string>(b + " " + a));
223
func =
AIFunctionFactory
.Create(async Task (int a, long b) => { result = a + b; await Task.Yield(); });
229
func =
AIFunctionFactory
.Create(async ValueTask (int a, long b) => { result = a + b; await Task.Yield(); });
234
func =
AIFunctionFactory
.Create((int count) => SimpleIAsyncEnumerable(count), serializerOptions: JsonContext.Default.Options);
247
func =
AIFunctionFactory
.Create(() => (IAsyncEnumerable<int>)new ThrowingAsyncEnumerable(), serializerOptions: JsonContext.Default.Options);
264
func =
AIFunctionFactory
.Create(dotnetFunc);
270
func =
AIFunctionFactory
.Create(dotnetFunc2);
276
func =
AIFunctionFactory
.Create(dotnetFunc3);
290
AIFunction func =
AIFunctionFactory
.Create(funcWithDisplayName);
296
func =
AIFunctionFactory
.Create(funcWithBoth);
301
func =
AIFunctionFactory
.Create(funcWithDisplayName, name: "explicit_name");
305
func =
AIFunctionFactory
.Create(funcWithDisplayName, new AIFunctionFactoryOptions());
309
func =
AIFunctionFactory
.Create(funcWithDisplayName, new AIFunctionFactoryOptions { Name = "options_name" });
314
func =
AIFunctionFactory
.Create(funcWithoutDisplayName);
339
AIFunction func =
AIFunctionFactory
.Create(dotnetFunc, options);
364
AIFunction func =
AIFunctionFactory
.Create(
388
AIFunction func =
AIFunctionFactory
.Create(
408
AIFunction func =
AIFunctionFactory
.Create((
452
AIFunction func =
AIFunctionFactory
.Create((
484
AIFunction func =
AIFunctionFactory
.Create(
502
AIFunction func =
AIFunctionFactory
.Create(
513
AIFunction func =
AIFunctionFactory
.Create(
524
Assert.Throws<ArgumentException>("method", () =>
AIFunctionFactory
.Create(
532
AIFunction func =
AIFunctionFactory
.Create(
551
AIFunction func =
AIFunctionFactory
.Create(
570
AIFunction func =
AIFunctionFactory
.Create(
597
AIFunction f =
AIFunctionFactory
.Create(([FromKeyedServices("key")] MyService service, int myInteger) => service.Value + myInteger,
620
AIFunction f =
AIFunctionFactory
.Create(([FromKeyedServices(null!)] MyService service, int myInteger) => service.Value + myInteger,
643
AIFunction f =
AIFunctionFactory
.Create(([FromKeyedServices("key")] MyService? service = null, int myInteger = 0) =>
662
AIFunction f =
AIFunctionFactory
.Create(
714
AIFunction f =
AIFunctionFactory
.Create(
731
AIFunction f =
AIFunctionFactory
.Create(
747
AIFunction f =
AIFunctionFactory
.Create(
770
AIFunction f =
AIFunctionFactory
.Create(
793
AIFunction f =
AIFunctionFactory
.Create(
816
AIFunction f =
AIFunctionFactory
.Create(
839
AIFunction f =
AIFunctionFactory
.Create(
862
AIFunction f =
AIFunctionFactory
.Create(
885
AIFunction f =
AIFunctionFactory
.Create(
908
AIFunction f =
AIFunctionFactory
.Create(
932
AIFunctionFactory
.Create(() => (AIContent)new TextContent("text")),
933
AIFunctionFactory
.Create(async () => (AIContent)new TextContent("text")),
934
AIFunctionFactory
.Create(async ValueTask<AIContent> () => (AIContent)new TextContent("text")),
935
AIFunctionFactory
.Create(() => new TextContent("text")),
936
AIFunctionFactory
.Create(async () => new TextContent("text")),
937
AIFunctionFactory
.Create(async ValueTask<AIContent> () => new TextContent("text")),
942
AIFunctionFactory
.Create(() => new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")),
943
AIFunctionFactory
.Create(async () => new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")),
944
AIFunctionFactory
.Create(async ValueTask<DataContent> () => new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")),
949
AIFunctionFactory
.Create(() => (IEnumerable<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]),
950
AIFunctionFactory
.Create(async () => (IEnumerable<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]),
951
AIFunctionFactory
.Create(async ValueTask<IEnumerable<AIContent>> () => (IEnumerable<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]),
956
AIFunctionFactory
.Create(() => (AIContent[])[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]),
957
AIFunctionFactory
.Create(async () => (AIContent[])[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]),
958
AIFunctionFactory
.Create(async ValueTask<AIContent[]> () => (AIContent[])[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]),
963
AIFunctionFactory
.Create(() => (List<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]),
964
AIFunctionFactory
.Create(async () => (List<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]),
965
AIFunctionFactory
.Create(async ValueTask<List<AIContent>> () => (List<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]),
970
AIFunctionFactory
.Create(() => (IList<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]),
971
AIFunctionFactory
.Create(async () => (IList<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]),
972
AIFunctionFactory
.Create(async ValueTask<IList<AIContent>> () => (List<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]),
989
AIFunction f =
AIFunctionFactory
.Create((Guid g = default, StructWithDefaultCtor s = default) => g.ToString() + "," + s.Value.ToString(), serializerOptions: JsonContext.Default.Options);
1000
AIFunction f =
AIFunctionFactory
.Create(
1033
AIFunction f =
AIFunctionFactory
.Create(
1063
AIFunction f =
AIFunctionFactory
.Create(Add, serializerOptions: JsonContext.Default.Options);
1076
AIFunctionDeclaration f =
AIFunctionFactory
.CreateDeclaration("something", "amazing", schema);
1082
f =
AIFunctionFactory
.CreateDeclaration("other", null, default, schema);
1088
Assert.Throws<ArgumentNullException>("name", () =>
AIFunctionFactory
.CreateDeclaration(null!, "description", default));
1189
var tool =
AIFunctionFactory
.Create(DoSomething);
1208
var tool1 =
AIFunctionFactory
.Create(FirstLocal);
1209
var tool2 =
AIFunctionFactory
.Create(SecondLocal);
1225
var tool =
AIFunctionFactory
.Create(lambda);
1244
var tool1 =
AIFunctionFactory
.Create(lambda1);
1245
var tool2 =
AIFunctionFactory
.Create(lambda2);
1259
var tool =
AIFunctionFactory
.Create(Add);
1275
var tool =
AIFunctionFactory
.Create(FetchDataAsync);
1292
var tool =
AIFunctionFactory
.Create(DoSomething, name: "CustomName");
1301
var tool =
AIFunctionFactory
.Create(Add, serializerOptions: JsonContext.Default.Options);
1313
var tool =
AIFunctionFactory
.Create(TestStaticMethod, null, serializerOptions: JsonContext.Default.Options);
1323
AIFunction func =
AIFunctionFactory
.Create(
1363
AIFunction func =
AIFunctionFactory
.Create(
1442
AIFunction func =
AIFunctionFactory
.Create(testDelegate.GetMethodInfo(), testDelegate.Target);