10 instantiations of ChatResponseFormatJson
Microsoft.Extensions.AI.Abstractions (3)
ChatCompletion\ChatResponseFormat.cs (2)
37public static ChatResponseFormatJson Json { get; } = new(schema: null); 46new(schema, schemaName, schemaDescription);
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.ChatResponseFormatJson.g.cs (1)
34ObjectWithParameterizedConstructorCreator = static args => new global::Microsoft.Extensions.AI.ChatResponseFormatJson((global::System.Text.Json.JsonElement?)args[0], (string)args[1], (string)args[2]),
Microsoft.Extensions.AI.Abstractions.Tests (6)
ChatCompletion\ChatResponseFormatTests.cs (5)
29Assert.Throws<ArgumentException>("schemaName", () => new ChatResponseFormatJson(null, "name")); 30Assert.Throws<ArgumentException>("schemaDescription", () => new ChatResponseFormatJson(null, null, "description")); 31Assert.Throws<ArgumentException>("schemaName", () => new ChatResponseFormatJson(null, "name", "description")); 37ChatResponseFormatJson f = new(null); 46ChatResponseFormatJson f = new(EmptySchema, "name", "description");
Generated\361d1da7f942c932\TestJsonSerializerContext.ChatResponseFormatJson.g.cs (1)
32ObjectWithParameterizedConstructorCreator = static args => new global::Microsoft.Extensions.AI.ChatResponseFormatJson((global::System.Text.Json.JsonElement?)args[0], (string)args[1], (string)args[2]),
Microsoft.Extensions.AI.Tests (1)
Generated\361d1da7f942c932\TestJsonSerializerContext.ChatResponseFormatJson.g.cs (1)
32ObjectWithParameterizedConstructorCreator = static args => new global::Microsoft.Extensions.AI.ChatResponseFormatJson((global::System.Text.Json.JsonElement?)args[0], (string)args[1], (string)args[2]),
126 references to ChatResponseFormatJson
Microsoft.Extensions.AI (2)
ChatCompletion\ChatClientStructuredOutputExtensions.cs (1)
151var responseFormat = ChatResponseFormat.ForJsonSchema<T>(serializerOptions);
ChatCompletion\OpenTelemetryChatClient.cs (1)
363case ChatResponseFormatJson:
Microsoft.Extensions.AI.Abstractions (42)
ChatCompletion\ChatOptions.cs (1)
122/// an instance of <see cref="ChatResponseFormatJson"/> constructed with a specific JSON schema to request that the
ChatCompletion\ChatResponseFormat.cs (11)
19[JsonDerivedType(typeof(ChatResponseFormatJson), typeDiscriminator: "json")] 37public static ChatResponseFormatJson Json { get; } = new(schema: null); 39/// <summary>Creates a <see cref="ChatResponseFormatJson"/> representing structured JSON data with the specified schema.</summary> 43/// <returns>The <see cref="ChatResponseFormatJson"/> instance.</returns> 44public static ChatResponseFormatJson ForJsonSchema( 48/// <summary>Creates a <see cref="ChatResponseFormatJson"/> representing structured JSON data with a schema based on <typeparamref name="T"/>.</summary> 53/// <returns>The <see cref="ChatResponseFormatJson"/> instance.</returns> 61public static ChatResponseFormatJson ForJsonSchema<T>( 65/// <summary>Creates a <see cref="ChatResponseFormatJson"/> representing structured JSON data with a schema based on <paramref name="schemaType"/>.</summary> 70/// <returns>The <see cref="ChatResponseFormatJson"/> instance.</returns> 79public static ChatResponseFormatJson ForJsonSchema(
ChatCompletion\ChatResponseFormatJson.cs (1)
15/// <summary>Initializes a new instance of the <see cref="ChatResponseFormatJson"/> class with the specified schema.</summary>
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.ChatResponseFormatJson.g.cs (23)
15private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson>? _ChatResponseFormatJson; 21public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson> ChatResponseFormatJson 24get => _ChatResponseFormatJson ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson)); 27private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson> Create_ChatResponseFormatJson(global::System.Text.Json.JsonSerializerOptions options) 29if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.ChatResponseFormatJson>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson> jsonTypeInfo)) 31var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.ChatResponseFormatJson> 37ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson).GetConstructor(InstanceMemberBindingFlags, binder: null, new[] {typeof(global::System.Text.Json.JsonElement?), typeof(string), typeof(string)}, modifiers: null), 41jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson>(options, objectInfo); 58DeclaringType = typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson), 60Getter = static obj => ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)obj).Schema, 68AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson).GetProperty("Schema", InstanceMemberBindingFlags, null, typeof(global::System.Text.Json.JsonElement?), global::System.Array.Empty<global::System.Type>(), null), 78DeclaringType = typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson), 80Getter = static obj => ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)obj).SchemaName, 88AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson).GetProperty("SchemaName", InstanceMemberBindingFlags, null, typeof(string), global::System.Array.Empty<global::System.Type>(), null), 98DeclaringType = typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson), 100Getter = static obj => ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)obj).SchemaDescription, 108AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson).GetProperty("SchemaDescription", InstanceMemberBindingFlags, null, typeof(string), global::System.Array.Empty<global::System.Type>(), null), 118private void ChatResponseFormatJsonSerializeHandler(global::System.Text.Json.Utf8JsonWriter writer, global::Microsoft.Extensions.AI.ChatResponseFormatJson? value) 128global::System.Text.Json.JsonElement? __value_Schema = ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)value).Schema; 134string __value_SchemaName = ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)value).SchemaName; 139string __value_SchemaDescription = ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)value).SchemaDescription;
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.GetJsonTypeInfo.g.cs (1)
116if (type == typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson))
Utilities\AIJsonSchemaTransformCache.cs (5)
16/// This cache stores weak references from AI abstractions that declare JSON schemas such as <see cref="AIFunction"/> or <see cref="ChatResponseFormatJson"/> 27private readonly ConditionalWeakTable<ChatResponseFormatJson, object> _responseFormatCache = new(); 30private readonly ConditionalWeakTable<ChatResponseFormatJson, object>.CreateValueCallback _responseFormatCreateValueCallback; 76/// Gets or creates a transformed JSON schema for the specified <see cref="ChatResponseFormatJson"/> instance. 80public JsonElement? GetOrCreateTransformedSchema(ChatResponseFormatJson responseFormat)
Microsoft.Extensions.AI.Abstractions.Tests (38)
ChatCompletion\ChatOptionsTests.cs (2)
214Assert.IsType<ChatResponseFormatJson>(deserialized.ResponseFormat); 385Assert.IsType<ChatResponseFormatJson>(result.ResponseFormat);
ChatCompletion\ChatResponseFormatTests.cs (11)
37ChatResponseFormatJson f = new(null); 46ChatResponseFormatJson f = new(EmptySchema, "name", "description"); 69var actual = Assert.IsType<ChatResponseFormatJson>(result); 84var actual = Assert.IsType<ChatResponseFormatJson>(result); 104ChatResponseFormatJson format = generic ? 120ChatResponseFormatJson format = generic ? 141ChatResponseFormatJson format = generic ? 177ChatResponseFormatJson format = generic ? 192ChatResponseFormatJson format = generic ?
Generated\361d1da7f942c932\TestJsonSerializerContext.ChatResponseFormatJson.g.cs (23)
13private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson>? _ChatResponseFormatJson; 19public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson> ChatResponseFormatJson 22get => _ChatResponseFormatJson ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson)); 25private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson> Create_ChatResponseFormatJson(global::System.Text.Json.JsonSerializerOptions options) 27if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.ChatResponseFormatJson>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson> jsonTypeInfo)) 29var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.ChatResponseFormatJson> 35ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson).GetConstructor(InstanceMemberBindingFlags, binder: null, new[] {typeof(global::System.Text.Json.JsonElement?), typeof(string), typeof(string)}, modifiers: null), 39jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson>(options, objectInfo); 56DeclaringType = typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson), 58Getter = static obj => ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)obj).Schema, 66AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson).GetProperty("Schema", InstanceMemberBindingFlags, null, typeof(global::System.Text.Json.JsonElement?), global::System.Array.Empty<global::System.Type>(), null), 76DeclaringType = typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson), 78Getter = static obj => ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)obj).SchemaName, 86AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson).GetProperty("SchemaName", InstanceMemberBindingFlags, null, typeof(string), global::System.Array.Empty<global::System.Type>(), null), 96DeclaringType = typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson), 98Getter = static obj => ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)obj).SchemaDescription, 106AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson).GetProperty("SchemaDescription", InstanceMemberBindingFlags, null, typeof(string), global::System.Array.Empty<global::System.Type>(), null), 116private void ChatResponseFormatJsonSerializeHandler(global::System.Text.Json.Utf8JsonWriter writer, global::Microsoft.Extensions.AI.ChatResponseFormatJson? value) 126global::System.Text.Json.JsonElement? __value_Schema = ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)value).Schema; 132string __value_SchemaName = ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)value).SchemaName; 137string __value_SchemaDescription = ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)value).SchemaDescription;
Generated\361d1da7f942c932\TestJsonSerializerContext.GetJsonTypeInfo.g.cs (1)
102if (type == typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson))
Utilities\AIJsonSchemaTransformCacheTests.cs (1)
65ChatResponseFormatJson responseFormat = ChatResponseFormat.ForJsonSchema(schema);
Microsoft.Extensions.AI.Integration.Tests (2)
ChatClientIntegrationTests.cs (2)
1104var responseFormat = Assert.IsType<ChatResponseFormatJson>(Assert.Single(capturedOptions)!.ResponseFormat);
Microsoft.Extensions.AI.OpenAI (6)
OpenAIAssistantsChatClient.cs (2)
471case ChatResponseFormatJson jsonFormat when OpenAIClientExtensions.StrictSchemaTransformCache.GetOrCreateTransformedSchema(jsonFormat) is { } jsonSchema: 479case ChatResponseFormatJson jsonFormat:
OpenAIChatClient.cs (2)
692ChatResponseFormatJson jsonFormat when OpenAIClientExtensions.StrictSchemaTransformCache.GetOrCreateTransformedSchema(jsonFormat) is { } jsonSchema => 700ChatResponseFormatJson => OpenAI.Chat.ChatResponseFormat.CreateJsonObjectFormat(),
OpenAIResponsesChatClient.cs (2)
1234ChatResponseFormatJson jsonFormat when OpenAIClientExtensions.StrictSchemaTransformCache.GetOrCreateTransformedSchema(jsonFormat) is { } jsonSchema => 1241ChatResponseFormatJson => ResponseTextFormat.CreateJsonObjectFormat(),
Microsoft.Extensions.AI.Tests (36)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (12)
36var responseFormat = Assert.IsType<ChatResponseFormatJson>(options!.ResponseFormat); 113var responseFormat = Assert.IsType<ChatResponseFormatJson>(options!.ResponseFormat); 167var responseFormat = Assert.IsType<ChatResponseFormatJson>(options!.ResponseFormat); 211var responseFormat = Assert.IsType<ChatResponseFormatJson>(options!.ResponseFormat); 303var responseFormat = Assert.IsType<ChatResponseFormatJson>(options!.ResponseFormat); 373var responseFormat = Assert.IsType<ChatResponseFormatJson>(options!.ResponseFormat);
Generated\361d1da7f942c932\TestJsonSerializerContext.ChatResponseFormatJson.g.cs (23)
13private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson>? _ChatResponseFormatJson; 19public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson> ChatResponseFormatJson 22get => _ChatResponseFormatJson ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson)); 25private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson> Create_ChatResponseFormatJson(global::System.Text.Json.JsonSerializerOptions options) 27if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.ChatResponseFormatJson>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson> jsonTypeInfo)) 29var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.ChatResponseFormatJson> 35ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson).GetConstructor(InstanceMemberBindingFlags, binder: null, new[] {typeof(global::System.Text.Json.JsonElement?), typeof(string), typeof(string)}, modifiers: null), 39jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.ChatResponseFormatJson>(options, objectInfo); 56DeclaringType = typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson), 58Getter = static obj => ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)obj).Schema, 66AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson).GetProperty("Schema", InstanceMemberBindingFlags, null, typeof(global::System.Text.Json.JsonElement?), global::System.Array.Empty<global::System.Type>(), null), 76DeclaringType = typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson), 78Getter = static obj => ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)obj).SchemaName, 86AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson).GetProperty("SchemaName", InstanceMemberBindingFlags, null, typeof(string), global::System.Array.Empty<global::System.Type>(), null), 96DeclaringType = typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson), 98Getter = static obj => ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)obj).SchemaDescription, 106AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson).GetProperty("SchemaDescription", InstanceMemberBindingFlags, null, typeof(string), global::System.Array.Empty<global::System.Type>(), null), 116private void ChatResponseFormatJsonSerializeHandler(global::System.Text.Json.Utf8JsonWriter writer, global::Microsoft.Extensions.AI.ChatResponseFormatJson? value) 127global::System.Text.Json.JsonSerializer.Serialize(writer, ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)value).Schema, NullableJsonElement); 128writer.WriteString(PropName_SchemaName, ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)value).SchemaName); 129writer.WriteString(PropName_SchemaDescription, ((global::Microsoft.Extensions.AI.ChatResponseFormatJson)value).SchemaDescription);
Generated\361d1da7f942c932\TestJsonSerializerContext.GetJsonTypeInfo.g.cs (1)
90if (type == typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson))