gpt5 thonking effort

5935aedb2e577f3fce4b462ddb2b33517d6d86e9

Cohee <18619528+Cohee1207@users.noreply.github.com>

2 files changed, +23 -3Ignore whitespace
public/scripts/openai.js+3 -1
@@ -1999,7 +1999,9 @@ function getReasoningEffort() {
1999 case reasoning_effort_types.auto:1999 case reasoning_effort_types.auto:
2000 return undefined;2000 return undefined;
2001 case reasoning_effort_types.min:2001 case reasoning_effort_types.min:
2002 return reasoning_effort_types.low;2002 return chat_completion_sources.OPENAI === oai_settings.chat_completion_source && /^gpt-5/.test(oai_settings.openai_model)
2003 ? reasoning_effort_types.min
2004 : reasoning_effort_types.low;
2003 case reasoning_effort_types.max:2005 case reasoning_effort_types.max:
2004 return reasoning_effort_types.high;2006 return reasoning_effort_types.high;
2005 default:2007 default:
src/endpoints/backends/chat-completions.js+20 -2
@@ -1647,8 +1647,26 @@ router.post('/generate', function (request, response) {
16471647
1648 // A few of OpenAIs reasoning models support reasoning effort1648 // A few of OpenAIs reasoning models support reasoning effort
1649 if (request.body.reasoning_effort && [CHAT_COMPLETION_SOURCES.CUSTOM, CHAT_COMPLETION_SOURCES.OPENAI].includes(request.body.chat_completion_source)) {1649 if (request.body.reasoning_effort && [CHAT_COMPLETION_SOURCES.CUSTOM, CHAT_COMPLETION_SOURCES.OPENAI].includes(request.body.chat_completion_source)) {
1650 if (['o1', 'o3-mini', 'o3-mini-2025-01-31', 'o4-mini', 'o4-mini-2025-04-16', 'o3', 'o3-2025-04-16'].includes(request.body.model)) {1650 const reasoningEffortModels = [
1651 bodyParams['reasoning_effort'] = request.body.reasoning_effort;1651 'o1',
1652 'o3-mini',
1653 'o3-mini-2025-01-31',
1654 'o4-mini',
1655 'o4-mini-2025-04-16',
1656 'o3',
1657 'o3-2025-04-16',
1658 'gpt-5',
1659 'gpt-5-2025-08-07',
1660 'gpt-5-mini',
1661 'gpt-5-mini-2025-08-07',
1662 'gpt-5-nano',
1663 'gpt-5-nano-2025-08-07',
1664 ];
1665 const reasoningEffortMap = {
1666 min: 'minimal',
1667 };
1668 if (reasoningEffortModels.includes(request.body.model)) {
1669 bodyParams['reasoning_effort'] = reasoningEffortMap[request.body.reasoning_effort] ?? request.body.reasoning_effort;
1652 }1670 }
1653 }1671 }
16541672