7 instantiations of ChatResponseFormatJson
Microsoft.Extensions.AI.Abstractions (2)
ChatCompletion\ChatResponseFormat.cs (2)
37public static ChatResponseFormatJson Json { get; } = new(schema: null); 46new(schema, schemaName, schemaDescription);
Microsoft.Extensions.AI.Abstractions.Tests (5)
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");
52 references to ChatResponseFormatJson
Microsoft.Extensions.AI (2)
ChatCompletion\ChatClientStructuredOutputExtensions.cs (1)
151var responseFormat = ChatResponseFormat.ForJsonSchema<T>(serializerOptions);
ChatCompletion\OpenTelemetryChatClient.cs (1)
391case ChatResponseFormatJson:
Microsoft.Extensions.AI.Abstractions (18)
ChatCompletion\ChatOptions.cs (1)
74/// 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>
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 (11)
ChatCompletion\ChatOptionsTests.cs (1)
186Assert.IsType<ChatResponseFormatJson>(deserialized.ResponseFormat);
ChatCompletion\ChatResponseFormatTests.cs (9)
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 ?
Utilities\AIJsonSchemaTransformCacheTests.cs (1)
65ChatResponseFormatJson responseFormat = ChatResponseFormat.ForJsonSchema(schema);
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
372else if (options.ResponseFormat is ChatResponseFormatJson json)
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)
415case ChatResponseFormatJson jsonFormat when OpenAIClientExtensions.StrictSchemaTransformCache.GetOrCreateTransformedSchema(jsonFormat) is { } jsonSchema: 423case ChatResponseFormatJson jsonFormat:
OpenAIChatClient.cs (2)
627ChatResponseFormatJson jsonFormat when OpenAIClientExtensions.StrictSchemaTransformCache.GetOrCreateTransformedSchema(jsonFormat) is { } jsonSchema => 634ChatResponseFormatJson => OpenAI.Chat.ChatResponseFormat.CreateJsonObjectFormat(),
OpenAIResponsesChatClient.cs (2)
556ChatResponseFormatJson jsonFormat when OpenAIClientExtensions.StrictSchemaTransformCache.GetOrCreateTransformedSchema(jsonFormat) is { } jsonSchema => 563ChatResponseFormatJson => ResponseTextFormat.CreateJsonObjectFormat(),
Microsoft.Extensions.AI.Tests (12)
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);