From 9bc6bb9f0f179961e034b6bb150aa730eb5dc61d Mon Sep 17 00:00:00 2001 From: Daniel Cazzulino Date: Sat, 20 Dec 2025 12:19:32 -0300 Subject: [PATCH] Update with latest reasoning features from GPT Minimal is deprecated since 5.1+ XHigh is a new value for 5.2+ See https://platform.openai.com/docs/guides/latest-model#new-features-in-gpt-5-2 --- src/Extensions/ReasoningEffort.cs | 12 ++++++++++-- src/Tests/OpenAITests.cs | 7 ++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/Extensions/ReasoningEffort.cs b/src/Extensions/ReasoningEffort.cs index 09c7cd9..8b7438c 100644 --- a/src/Extensions/ReasoningEffort.cs +++ b/src/Extensions/ReasoningEffort.cs @@ -1,4 +1,6 @@ -namespace Devlooped.Extensions.AI; +using System.ComponentModel; + +namespace Devlooped.Extensions.AI; /// /// Effort a reasoning model should apply when generating a response. @@ -12,7 +14,9 @@ public enum ReasoningEffort None, /// /// Minimal reasoning effort, which may result in faster responses. Support depends on the model. + /// Unsupported as of gpt-5.1+ /// + [EditorBrowsable(EditorBrowsableState.Never)] Minimal, /// /// Low effort reasoning, which may result in faster responses but less detailed or accurate answers. @@ -25,5 +29,9 @@ public enum ReasoningEffort /// /// High effort reasoning, which may take longer but provides more detailed and accurate responses. /// - High + High, + /// + /// New highest reasoning level as of gpt-5.2+. + /// + XHigh } \ No newline at end of file diff --git a/src/Tests/OpenAITests.cs b/src/Tests/OpenAITests.cs index 9fd1880..c7985ac 100644 --- a/src/Tests/OpenAITests.cs +++ b/src/Tests/OpenAITests.cs @@ -121,12 +121,13 @@ public async Task GPT5_ThinksFast() } [SecretsTheory("OPENAI_API_KEY")] + [InlineData(ReasoningEffort.Minimal, "gpt-5")] // Obsolete as of 5.1 [InlineData(ReasoningEffort.None)] - [InlineData(ReasoningEffort.Minimal)] [InlineData(ReasoningEffort.Low)] [InlineData(ReasoningEffort.Medium)] [InlineData(ReasoningEffort.High)] - public async Task GPT5_ThinkingTime(ReasoningEffort effort) + [InlineData(ReasoningEffort.XHigh)] + public async Task GPT5_ThinkingTime(ReasoningEffort effort, string modelId = "gpt-5.2") { var messages = new Chat() { @@ -136,7 +137,7 @@ public async Task GPT5_ThinkingTime(ReasoningEffort effort) var requests = new List(); - var chat = new OpenAIChatClient(Configuration["OPENAI_API_KEY"]!, "gpt-5.2", + var chat = new OpenAIChatClient(Configuration["OPENAI_API_KEY"]!, modelId, OpenAIClientOptions.Observable(requests.Add).WriteTo(output)); var options = new ChatOptions