diff --git a/src/Infrastructure/BotSharp.Abstraction/MLTasks/Utilities/LlmUtility.cs b/src/Infrastructure/BotSharp.Abstraction/MLTasks/Utilities/LlmUtility.cs
index 6c6d7b33f..f11ff6d56 100644
--- a/src/Infrastructure/BotSharp.Abstraction/MLTasks/Utilities/LlmUtility.cs
+++ b/src/Infrastructure/BotSharp.Abstraction/MLTasks/Utilities/LlmUtility.cs
@@ -14,6 +14,10 @@ public static class LlmUtility
{
res = VerifyModelParameter(curVal, value.Default, value.Options);
}
+ else
+ {
+ res = curVal;
+ }
return res;
}
diff --git a/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Chat/ChatCompletionProvider.cs b/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Chat/ChatCompletionProvider.cs
index 256c56f67..efa12572b 100644
--- a/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Chat/ChatCompletionProvider.cs
+++ b/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Chat/ChatCompletionProvider.cs
@@ -588,16 +588,19 @@ private ChatCompletionOptions InitChatCompletionOption(Agent agent)
/// Parse reasoning setting: returns (temperature, reasoning effort level)
///
///
+ ///
///
- private (float?, ChatReasoningEffortLevel?) ParseReasoning(
- ReasoningSetting? settings,
- Agent agent)
+ private (float?, ChatReasoningEffortLevel?) ParseReasoning(ReasoningSetting? settings, Agent agent)
{
float? temperature = null;
ChatReasoningEffortLevel? reasoningEffortLevel = null;
+ var level = _state.GetState("reasoning_effort_level")
+ .IfNullOrEmptyAs(agent?.LlmConfig?.ReasoningEffortLevel);
+
if (settings == null)
{
+ reasoningEffortLevel = ParseReasoningEffortLevel(level);
return (temperature, reasoningEffortLevel);
}
@@ -606,22 +609,18 @@ private ChatCompletionOptions InitChatCompletionOption(Agent agent)
temperature = settings.Temperature;
}
-
- var defaultLevel = settings?.EffortLevel;
-
- if (settings?.Parameters != null
- && settings.Parameters.TryGetValue("EffortLevel", out var settingValue)
- && !string.IsNullOrEmpty(settingValue?.Default))
+ if (string.IsNullOrEmpty(level))
{
- defaultLevel = settingValue.Default;
+ level = settings?.EffortLevel;
+ if (settings?.Parameters != null
+ && settings.Parameters.TryGetValue("EffortLevel", out var settingValue)
+ && !string.IsNullOrEmpty(settingValue?.Default))
+ {
+ level = settingValue.Default;
+ }
}
- var level = _state.GetState("reasoning_effort_level")
- .IfNullOrEmptyAs(agent?.LlmConfig?.ReasoningEffortLevel)
- .IfNullOrEmptyAs(defaultLevel);
-
reasoningEffortLevel = ParseReasoningEffortLevel(level);
-
return (temperature, reasoningEffortLevel);
}
diff --git a/src/WebStarter/appsettings.json b/src/WebStarter/appsettings.json
index e0410d530..24aeb5e2e 100644
--- a/src/WebStarter/appsettings.json
+++ b/src/WebStarter/appsettings.json
@@ -511,7 +511,7 @@
"Id": "gpt-5",
"Name": "gpt-5.1",
"Version": "gpt-5.1",
- "ApiKey": "o",
+ "ApiKey": "",
"Type": "chat",
"MultiModal": true,
"Capabilities": [