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