88 references to AIJsonUtilities
Microsoft.Extensions.AI (25)
ChatCompletion\ChatClientStructuredOutputExtensions.cs (3)
48GetResponseAsync<T>(chatClient, messages, AIJsonUtilities.DefaultOptions, options, useJsonSchema, cancellationToken); 165var schemaElement = AIJsonUtilities.CreateJsonSchema( 191}, AIJsonUtilities.DefaultOptions.GetTypeInfo(typeof(JsonObject)));
ChatCompletion\DistributedCachingChatClient.cs (2)
41private JsonSerializerOptions _jsonSerializerOptions = AIJsonUtilities.DefaultOptions; 128return AIJsonUtilities.HashDataToString([CacheVersion, messages, options, .. additionalValues], _jsonSerializerOptions);
ChatCompletion\LoggingChatClient.cs (1)
35_jsonSerializerOptions = AIJsonUtilities.DefaultOptions;
ChatCompletion\OpenTelemetryChatClient.cs (1)
90_jsonSerializerOptions = AIJsonUtilities.DefaultOptions;
Embeddings\DistributedCachingEmbeddingGenerator.cs (2)
39_jsonSerializerOptions = AIJsonUtilities.DefaultOptions; 91AIJsonUtilities.HashDataToString(values, _jsonSerializerOptions);
Embeddings\LoggingEmbeddingGenerator.cs (1)
37_jsonSerializerOptions = AIJsonUtilities.DefaultOptions;
Functions\AIFunctionFactory.cs (12)
97/// or else using <see cref="AIJsonUtilities.DefaultOptions"/>. If the argument is anything else, it is round-tripped through JSON, serializing the object as JSON 108/// <see cref="AIFunctionFactoryOptions.SerializerOptions"/> if provided, or else using <see cref="AIJsonUtilities.DefaultOptions"/>. 179/// <see cref="AIJsonUtilities.DefaultOptions"/>. If the argument is anything else, it is round-tripped through JSON, serializing the object as JSON 190/// or else using <see cref="AIJsonUtilities.DefaultOptions"/>. 277/// or else using <see cref="AIJsonUtilities.DefaultOptions"/>. If the argument is anything else, it is round-tripped through JSON, serializing the object as JSON 288/// <see cref="AIFunctionFactoryOptions.SerializerOptions"/> if provided, or else using <see cref="AIJsonUtilities.DefaultOptions"/>. 369/// <see cref="AIJsonUtilities.DefaultOptions"/>. If the argument is anything else, it is round-tripped through JSON, serializing the object as JSON 380/// or else using <see cref="AIJsonUtilities.DefaultOptions"/>. 482/// or else using <see cref="AIJsonUtilities.DefaultOptions"/>. If the argument is anything else, it is round-tripped through JSON, serializing the object as JSON 493/// <see cref="AIFunctionFactoryOptions.SerializerOptions"/> if provided, or else using <see cref="AIJsonUtilities.DefaultOptions"/>. 659JsonSerializerOptions serializerOptions = options.SerializerOptions ?? AIJsonUtilities.DefaultOptions; 748JsonSchema = AIJsonUtilities.CreateFunctionJsonSchema(
Functions\AIFunctionFactoryOptions.cs (1)
28/// If no value has been specified, the <see cref="AIJsonUtilities.DefaultOptions"/> instance will be used.
LoggingHelpers.cs (1)
19AIJsonUtilities.DefaultOptions.TryGetTypeInfo(typeof(T), out typeInfo))
SpeechToText\LoggingSpeechToTextClient.cs (1)
38_jsonSerializerOptions = AIJsonUtilities.DefaultOptions;
Microsoft.Extensions.AI.Abstractions (5)
Functions\AIFunction.cs (2)
39public virtual JsonElement JsonSchema => AIJsonUtilities.DefaultJsonSchema; 50public virtual JsonSerializerOptions JsonSerializerOptions => AIJsonUtilities.DefaultOptions;
Utilities\AIJsonSchemaCreateContext.cs (1)
19/// callback by the <see cref="AIJsonUtilities.CreateJsonSchema"/> method and cannot be instantiated directly.
Utilities\AIJsonSchemaCreateOptions.cs (2)
14/// Provides options for configuring the behavior of <see cref="AIJsonUtilities"/> JSON schema creation functionality. 30/// <see cref="AIJsonUtilities.CreateFunctionJsonSchema"/> in order to determine whether it should
Microsoft.Extensions.AI.Abstractions.Tests (32)
AssertExtensions.cs (3)
58options ??= AIJsonUtilities.DefaultOptions; 62JsonSerializer.SerializeToNode(expectedElement, AIJsonUtilities.DefaultOptions), 63JsonSerializer.SerializeToNode(actualElement, AIJsonUtilities.DefaultOptions)))
ChatCompletion\ChatResponseFormatTests.cs (1)
74ChatResponseFormat.ForJsonSchema(JsonSerializer.Deserialize<JsonElement>("[1,2,3]", AIJsonUtilities.DefaultOptions), "name", "description"),
Contents\ErrorContentTests.cs (1)
54JsonSerializerOptions options = new(AIJsonUtilities.DefaultOptions) { PropertyNamingPolicy = JsonNamingPolicy.CamelCase };
Contents\FunctionCallContentTests..cs (1)
265argumentParser: static json => JsonSerializer.Deserialize<Dictionary<string, object?>>(json, AIJsonUtilities.DefaultOptions));
Utilities\AIJsonUtilitiesTests.cs (26)
25var options = AIJsonUtilities.DefaultOptions; 29Assert.Same(options, AIJsonUtilities.DefaultOptions); 51var options = AIJsonUtilities.DefaultOptions; 61var options = AIJsonUtilities.DefaultOptions; 65Assert.Equal(JsonSerializer.IsReflectionEnabledByDefault, AIJsonUtilities.DefaultOptions.TryGetTypeInfo(anonType, out _)); 160JsonElement actual = AIJsonUtilities.CreateJsonSchema(typeof(MyPoco), serializerOptions: JsonContext.Default.Options); 199JsonElement actual = AIJsonUtilities.CreateJsonSchema( 250JsonElement actual = AIJsonUtilities.CreateJsonSchema(typeof(MyPoco), serializerOptions: JsonContext.Default.Options, inferenceOptions: inferenceOptions); 278JsonElement actual = AIJsonUtilities.CreateJsonSchema(typeof(PocoWithTypesWithOpenAIUnsupportedKeywords), serializerOptions: JsonContext.Default.Options); 298JsonSerializerOptions options = new(AIJsonUtilities.DefaultOptions); 303JsonElement resolvedSchema = AIJsonUtilities.CreateFunctionJsonSchema(func.UnderlyingMethod, title: func.Name); 359JsonElement resolvedSchema = AIJsonUtilities.CreateFunctionJsonSchema( 370JsonSerializerOptions options = new(AIJsonUtilities.DefaultOptions) { NumberHandling = JsonNumberHandling.AllowReadingFromString }; 412JsonElement schema = AIJsonUtilities.CreateJsonSchema(typeof(object)); 431JsonElement schema = AIJsonUtilities.CreateJsonSchema(testData.Type, serializerOptions: options, inferenceOptions: createOptions); 453TypeInfoResolver = JsonTypeInfoResolver.Combine(AIJsonUtilities.DefaultOptions.TypeInfoResolver, JsonContext.Default), 469Assert.Throws<InvalidOperationException>(() => AIJsonUtilities.DefaultOptions.AddAIContentType<DerivedAIContent>("derivativeContent")); 516TypeInfoResolver = AIJsonUtilities.DefaultOptions.TypeInfoResolver 519foreach (JsonSerializerOptions? options in new[] { AIJsonUtilities.DefaultOptions, null, customOptions }) 521string key1 = AIJsonUtilities.HashDataToString(["a", 'b', 42], options); 522string key2 = AIJsonUtilities.HashDataToString(["a", 'b', 42], options); 523string key3 = AIJsonUtilities.HashDataToString([TimeSpan.FromSeconds(1), null, 1.23], options); 524string key4 = AIJsonUtilities.HashDataToString([TimeSpan.FromSeconds(1), null, 1.23], options); 538JsonElement schema = AIJsonUtilities.CreateFunctionJsonSchema(method.Method, inferenceOptions: new() 573JsonSerializer.SerializeToNode(element1, AIJsonUtilities.DefaultOptions), 574JsonSerializer.SerializeToNode(element2, AIJsonUtilities.DefaultOptions));
Microsoft.Extensions.AI.AzureAIInference (6)
AzureAIInferenceChatClient.cs (5)
304result.AdditionalProperties["top_k"] = new BinaryData(JsonSerializer.SerializeToUtf8Bytes(topK, AIJsonUtilities.DefaultOptions.GetTypeInfo(typeof(int)))); 317byte[] data = JsonSerializer.SerializeToUtf8Bytes(prop.Value, AIJsonUtilities.DefaultOptions.GetTypeInfo(typeof(object))); 432result = JsonSerializer.Serialize(resultContent.Result, AIJsonUtilities.DefaultOptions.GetTypeInfo(typeof(object))); 475JsonSerializer.Serialize(callRequest.Arguments, AIJsonUtilities.DefaultOptions.GetTypeInfo(typeof(IDictionary<string, object>)))))); 536(JsonTypeInfo<IDictionary<string, object>>)AIJsonUtilities.DefaultOptions.GetTypeInfo(typeof(IDictionary<string, object>)))!);
AzureAIInferenceEmbeddingGenerator.cs (1)
180byte[] data = JsonSerializer.SerializeToUtf8Bytes(prop.Value, AIJsonUtilities.DefaultOptions.GetTypeInfo(typeof(object)));
Microsoft.Extensions.AI.AzureAIInference.Tests (3)
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\AssertExtensions.cs (3)
58options ??= AIJsonUtilities.DefaultOptions; 62JsonSerializer.SerializeToNode(expectedElement, AIJsonUtilities.DefaultOptions), 63JsonSerializer.SerializeToNode(actualElement, AIJsonUtilities.DefaultOptions)))
Microsoft.Extensions.AI.Evaluation.Reporting (1)
JsonSerialization\JsonUtilities.cs (1)
45options.TypeInfoResolverChain.Add(AIJsonUtilities.DefaultOptions.TypeInfoResolver!);
Microsoft.Extensions.AI.Evaluation.Reporting.Azure (1)
JsonSerialization\AzureStorageJsonUtilities.cs (1)
39options.TypeInfoResolverChain.Add(AIJsonUtilities.DefaultOptions.TypeInfoResolver!);
Microsoft.Extensions.AI.Ollama (1)
OllamaChatClient.cs (1)
38private JsonSerializerOptions _toolCallJsonSerializerOptions = AIJsonUtilities.DefaultOptions;
Microsoft.Extensions.AI.Ollama.Tests (4)
OllamaChatClientTests.cs (1)
35Assert.Same(client.ToolCallJsonSerializerOptions, AIJsonUtilities.DefaultOptions);
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\AssertExtensions.cs (3)
58options ??= AIJsonUtilities.DefaultOptions; 62JsonSerializer.SerializeToNode(expectedElement, AIJsonUtilities.DefaultOptions), 63JsonSerializer.SerializeToNode(actualElement, AIJsonUtilities.DefaultOptions)))
Microsoft.Extensions.AI.OpenAI (4)
OpenAIChatClient.cs (2)
76var openAIChatMessages = ToOpenAIChatMessages(messages, AIJsonUtilities.DefaultOptions); 91var openAIChatMessages = ToOpenAIChatMessages(messages, AIJsonUtilities.DefaultOptions);
OpenAIResponseChatClient.cs (2)
473result = JsonSerializer.Serialize(resultContent.Result, AIJsonUtilities.DefaultOptions.GetTypeInfo(typeof(object))); 505AIJsonUtilities.DefaultOptions.GetTypeInfo(typeof(IDictionary<string, object?>)))));
Microsoft.Extensions.AI.OpenAI.Tests (3)
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\AssertExtensions.cs (3)
58options ??= AIJsonUtilities.DefaultOptions; 62JsonSerializer.SerializeToNode(expectedElement, AIJsonUtilities.DefaultOptions), 63JsonSerializer.SerializeToNode(actualElement, AIJsonUtilities.DefaultOptions)))
Microsoft.Extensions.AI.Tests (3)
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\AssertExtensions.cs (3)
58options ??= AIJsonUtilities.DefaultOptions; 62JsonSerializer.SerializeToNode(expectedElement, AIJsonUtilities.DefaultOptions), 63JsonSerializer.SerializeToNode(actualElement, AIJsonUtilities.DefaultOptions)))