3 overrides of Metadata
Microsoft.Extensions.AI (1)
Functions\AIFunctionFactory.cs (1)
291public override AIFunctionMetadata Metadata { get; }
Microsoft.Extensions.AI.Abstractions.Tests (2)
Contents\FunctionCallContentTests..cs (1)
252public override AIFunctionMetadata Metadata => new("NetTypeless")
Functions\AIFunctionTests.cs (1)
38public override AIFunctionMetadata Metadata => new("name");
72 references to Metadata
Microsoft.Extensions.AI (14)
ChatCompletion\FunctionInvokingChatClient.cs (10)
558AIFunction? function = options.Tools!.OfType<AIFunction>().FirstOrDefault(t => t.Metadata.Name == functionCallContent.Name); 664using Activity? activity = _activitySource?.StartActivity(context.Function.Metadata.Name); 672LogInvokingSensitive(context.Function.Metadata.Name, LoggingHelpers.AsJson(context.CallContent.Arguments, context.Function.Metadata.JsonSerializerOptions)); 676LogInvoking(context.Function.Metadata.Name); 696LogInvocationCanceled(context.Function.Metadata.Name); 700LogInvocationFailed(context.Function.Metadata.Name, e); 713LogInvocationCompletedSensitive(context.Function.Metadata.Name, elapsed, LoggingHelpers.AsJson(result, context.Function.Metadata.JsonSerializerOptions)); 717LogInvocationCompleted(context.Function.Metadata.Name, elapsed);
Functions\AIFunctionFactory.cs (4)
33/// The resulting <see cref="AIFunction"/> exposes metadata about the function via <see cref="AIFunction.Metadata"/>. 62/// The resulting <see cref="AIFunction"/> exposes metadata about the function via <see cref="AIFunction.Metadata"/>. 105/// The resulting <see cref="AIFunction"/> exposes metadata about the function via <see cref="AIFunction.Metadata"/>. 140/// The resulting <see cref="AIFunction"/> exposes metadata about the function via <see cref="AIFunction.Metadata"/>.
Microsoft.Extensions.AI.Abstractions (5)
Functions\AIFunction.cs (5)
33public override string ToString() => Metadata.Name; 46string.IsNullOrWhiteSpace(Metadata.Description) ? 47Metadata.Name : 48$"{Metadata.Name} ({Metadata.Description})";
Microsoft.Extensions.AI.Abstractions.Tests (7)
Utilities\AIJsonUtilitiesTests.cs (7)
233AIFunctionMetadata metadata = func.Metadata; 236JsonElement resolvedSchema = AIJsonUtilities.CreateFunctionJsonSchema(title: func.Metadata.Name, description: func.Metadata.Description, parameters: func.Metadata.Parameters); 237Assert.True(JsonElement.DeepEquals(resolvedSchema, func.Metadata.Schema)); 246AIFunctionMetadata metadata = func.Metadata; 247JsonElement schemaParameters = func.Metadata.Schema.GetProperty("properties");
Microsoft.Extensions.AI.AzureAIInference (3)
AzureAIInferenceChatClient.cs (3)
383var tool = JsonSerializer.Deserialize(aiFunction.Metadata.Schema, JsonContext.Default.AzureAIChatToolJson)!; 385return new(new FunctionDefinition(aiFunction.Metadata.Name) 387Description = aiFunction.Metadata.Description,
Microsoft.Extensions.AI.Integration.Tests (4)
ChatClientIntegrationTests.cs (1)
307ToolMode = ChatToolMode.RequireSpecific(shieldsUpTool.Metadata.Name),
PromptBasedFunctionCallingChatClient.cs (3)
182Name = tool.Metadata.Name, 183Description = tool.Metadata.Description, 184Arguments = tool.Metadata.Parameters.ToDictionary(
Microsoft.Extensions.AI.Ollama (3)
OllamaChatClient.cs (3)
479Name = function.Metadata.Name, 480Description = function.Metadata.Description, 481Parameters = JsonSerializer.Deserialize(function.Metadata.Schema, JsonContext.Default.OllamaFunctionToolParameters)!,
Microsoft.Extensions.AI.OpenAI (12)
OpenAIAssistantClient.cs (4)
218aiFunction.Metadata.AdditionalProperties.TryGetValue("Strict", out object? strictObj) && 224JsonSerializer.Deserialize(aiFunction.Metadata.Schema, OpenAIJsonContext.Default.OpenAIChatToolJson)!, 227runOptions.ToolsOverride.Add(ToolDefinition.CreateFunction(aiFunction.Metadata.Name, aiFunction.Metadata.Description, functionParameters, strict));
OpenAIModelMapper.ChatCompletion.cs (4)
457aiFunction.Metadata.AdditionalProperties.TryGetValue("Strict", out object? strictObj) && 462var tool = JsonSerializer.Deserialize(aiFunction.Metadata.Schema, OpenAIJsonContext.Default.OpenAIChatToolJson)!; 464return ChatTool.CreateFunctionTool(aiFunction.Metadata.Name, aiFunction.Metadata.Description, functionParameters, strict);
OpenAIRealtimeExtensions.cs (4)
30ConversationFunctionToolParametersSchema functionToolSchema = JsonSerializer.Deserialize(aiFunction.Metadata.Schema, OpenAIJsonContext.Default.ConversationFunctionToolParametersSchema)!; 34Name = aiFunction.Metadata.Name, 35Description = aiFunction.Metadata.Description, 95&& tools.FirstOrDefault(t => t.Metadata.Name == update.FunctionName) is AIFunction aiFunction)
Microsoft.Extensions.AI.OpenAI.Tests (7)
OpenAISerializationTests.cs (7)
373Assert.Equal("Gets the age of the specified person.", function.Metadata.Description); 374Assert.Equal("GetPersonAge", function.Metadata.Name); 375Assert.Equal("Strict", Assert.Single(function.Metadata.AdditionalProperties).Key); 376Assert.Equal("Return parameter", function.Metadata.ReturnParameter.Description); 377Assert.Equal("{}", Assert.IsType<JsonElement>(function.Metadata.ReturnParameter.Schema).GetRawText()); 379AIFunctionParameterMetadata parameter = Assert.Single(function.Metadata.Parameters); 383JsonObject parametersSchema = Assert.IsType<JsonObject>(JsonNode.Parse(function.Metadata.Schema.GetProperty("properties").GetRawText()));
Microsoft.Extensions.AI.Tests (17)
ChatCompletion\FunctionInvokingChatClientTests.cs (2)
366new(ChatRole.Assistant, [new FunctionCallContent("callId1", func1.Metadata.Name)]), 367new(ChatRole.Assistant, [new FunctionCallContent("callId2", func2.Metadata.Name)]),
Functions\AIFunctionFactoryTest.cs (15)
136Assert.Contains("Metadata_DerivedFromLambda", func.Metadata.Name); 137Assert.Empty(func.Metadata.Description); 138Assert.Empty(func.Metadata.Parameters); 139Assert.Equal(typeof(string), func.Metadata.ReturnParameter.ParameterType); 142Assert.Contains("Metadata_DerivedFromLambda", func.Metadata.Name); 143Assert.Empty(func.Metadata.Description); 144Assert.Single(func.Metadata.Parameters); 148Assert.Contains("Metadata_DerivedFromLambda", func.Metadata.Name); 149Assert.Equal("This is a test function", func.Metadata.Description); 150Assert.Collection(func.Metadata.Parameters, 179Assert.Equal("test name", func.Metadata.Name); 180Assert.Equal("test description", func.Metadata.Description); 181Assert.Equal(parameterMetadata, func.Metadata.Parameters); 182Assert.Equal(returnParameterMetadata, func.Metadata.ReturnParameter); 183Assert.Equal(metadata, func.Metadata.AdditionalProperties);