feat: pass koboldcpp reasoning effort (#5491) Fixes #5489

c249e5384cbe9c4a776736eb395852a6b6736394

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

Signed
2 files changed, +22 -0Ignore whitespace
public/scripts/openai.js+19 -0
@@ -2522,6 +2522,25 @@ function getReasoningEffort(settings = null, model = null) {
25222522 }
25232523 }
25242524
2525+ if (settings.chat_completion_source === chat_completion_sources.CUSTOM && /^koboldcpp\/(.+)$/.test(model)) {
2526+ switch (settings.reasoning_effort) {
2527+ case reasoning_effort_types.auto:
2528+ return undefined;
2529+ case reasoning_effort_types.min:
2530+ return 'minimal';
2531+ case reasoning_effort_types.low:
2532+ return 'low';
2533+ case reasoning_effort_types.medium:
2534+ return 'medium';
2535+ case reasoning_effort_types.high:
2536+ return 'high';
2537+ case reasoning_effort_types.max:
2538+ return 'xhigh';
2539+ default:
2540+ return settings.reasoning_effort;
2541+ }
2542+ }
2543+
25252544 switch (settings.reasoning_effort) {
25262545 case reasoning_effort_types.auto:
25272546 return undefined;
src/endpoints/backends/chat-completions.js+3 -0
@@ -2485,6 +2485,9 @@ router.post('/generate', async function (request, response) {
24852485 if (OPENAI_REASONING_EFFORT_MODELS.includes(request.body.model)) {
24862486 bodyParams['reasoning_effort'] = OPENAI_FIXED_REASONING_EFFORT[request.body.model] ?? OPENAI_REASONING_EFFORT_MAP[request.body.reasoning_effort] ?? request.body.reasoning_effort;
24872487 }
2488+ if (request.body.chat_completion_source === CHAT_COMPLETION_SOURCES.CUSTOM && /^koboldcpp\/(.+)$/.test(request.body.model)) {
2489+ bodyParams['reasoning_effort'] = request.body.reasoning_effort;
2490+ }
24882491 }
24892492
24902493 if (request.body.verbosity && [CHAT_COMPLETION_SOURCES.CUSTOM, CHAT_COMPLETION_SOURCES.OPENAI].includes(request.body.chat_completion_source)) {