mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Add reasoning_effort for OpenAI models
This commit is contained in:
@ -1995,6 +1995,18 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="flex-container flexFlowColumn wide100p textAlignCenter marginTop10" data-source="openai">
|
||||||
|
<div class="flex-container oneline-dropdown" title="Constrains effort on reasoning for reasoning models. Currently supported values are low, medium, and high. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response.">
|
||||||
|
<label for="openai_reasoning_effort" data-i18n="Reasoning Effort">
|
||||||
|
Reasoning Effort
|
||||||
|
</label>
|
||||||
|
<select id="openai_reasoning_effort">
|
||||||
|
<option data-i18n="openai_reasoning_effort_low" value="low">Low</option>
|
||||||
|
<option data-i18n="openai_reasoning_effort_medium" value="medium">Medium</option>
|
||||||
|
<option data-i18n="openai_reasoning_effort_high" value="high">High</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="range-block" data-source="claude">
|
<div class="range-block" data-source="claude">
|
||||||
<div class="wide100p">
|
<div class="wide100p">
|
||||||
<div class="flex-container alignItemsCenter">
|
<div class="flex-container alignItemsCenter">
|
||||||
|
@ -299,6 +299,7 @@ const default_settings = {
|
|||||||
continue_postfix: continue_postfix_types.SPACE,
|
continue_postfix: continue_postfix_types.SPACE,
|
||||||
custom_prompt_post_processing: custom_prompt_post_processing_types.NONE,
|
custom_prompt_post_processing: custom_prompt_post_processing_types.NONE,
|
||||||
show_thoughts: true,
|
show_thoughts: true,
|
||||||
|
reasoning_effort: 'medium',
|
||||||
seed: -1,
|
seed: -1,
|
||||||
n: 1,
|
n: 1,
|
||||||
};
|
};
|
||||||
@ -378,6 +379,7 @@ const oai_settings = {
|
|||||||
continue_postfix: continue_postfix_types.SPACE,
|
continue_postfix: continue_postfix_types.SPACE,
|
||||||
custom_prompt_post_processing: custom_prompt_post_processing_types.NONE,
|
custom_prompt_post_processing: custom_prompt_post_processing_types.NONE,
|
||||||
show_thoughts: true,
|
show_thoughts: true,
|
||||||
|
reasoning_effort: 'medium',
|
||||||
seed: -1,
|
seed: -1,
|
||||||
n: 1,
|
n: 1,
|
||||||
};
|
};
|
||||||
@ -1912,6 +1914,7 @@ async function sendOpenAIRequest(type, messages, signal) {
|
|||||||
'char_name': name2,
|
'char_name': name2,
|
||||||
'group_names': getGroupNames(),
|
'group_names': getGroupNames(),
|
||||||
'include_reasoning': Boolean(oai_settings.show_thoughts),
|
'include_reasoning': Boolean(oai_settings.show_thoughts),
|
||||||
|
'reasoning_effort': String(oai_settings.reasoning_effort),
|
||||||
};
|
};
|
||||||
|
|
||||||
// Empty array will produce a validation error
|
// Empty array will produce a validation error
|
||||||
@ -3122,6 +3125,7 @@ function loadOpenAISettings(data, settings) {
|
|||||||
oai_settings.inline_image_quality = settings.inline_image_quality ?? default_settings.inline_image_quality;
|
oai_settings.inline_image_quality = settings.inline_image_quality ?? default_settings.inline_image_quality;
|
||||||
oai_settings.bypass_status_check = settings.bypass_status_check ?? default_settings.bypass_status_check;
|
oai_settings.bypass_status_check = settings.bypass_status_check ?? default_settings.bypass_status_check;
|
||||||
oai_settings.show_thoughts = settings.show_thoughts ?? default_settings.show_thoughts;
|
oai_settings.show_thoughts = settings.show_thoughts ?? default_settings.show_thoughts;
|
||||||
|
oai_settings.reasoning_effort = settings.reasoning_effort ?? default_settings.reasoning_effort;
|
||||||
oai_settings.seed = settings.seed ?? default_settings.seed;
|
oai_settings.seed = settings.seed ?? default_settings.seed;
|
||||||
oai_settings.n = settings.n ?? default_settings.n;
|
oai_settings.n = settings.n ?? default_settings.n;
|
||||||
|
|
||||||
@ -3251,6 +3255,9 @@ function loadOpenAISettings(data, settings) {
|
|||||||
$('#n_openai').val(oai_settings.n);
|
$('#n_openai').val(oai_settings.n);
|
||||||
$('#openai_show_thoughts').prop('checked', oai_settings.show_thoughts);
|
$('#openai_show_thoughts').prop('checked', oai_settings.show_thoughts);
|
||||||
|
|
||||||
|
$('#openai_reasoning_effort').val(oai_settings.reasoning_effort);
|
||||||
|
$(`#openai_reasoning_effort option[value="${oai_settings.reasoning_effort}"]`).prop('selected', true);
|
||||||
|
|
||||||
if (settings.reverse_proxy !== undefined) oai_settings.reverse_proxy = settings.reverse_proxy;
|
if (settings.reverse_proxy !== undefined) oai_settings.reverse_proxy = settings.reverse_proxy;
|
||||||
$('#openai_reverse_proxy').val(oai_settings.reverse_proxy);
|
$('#openai_reverse_proxy').val(oai_settings.reverse_proxy);
|
||||||
|
|
||||||
@ -3969,6 +3976,7 @@ function onSettingsPresetChange() {
|
|||||||
continue_postfix: ['#continue_postfix', 'continue_postfix', false],
|
continue_postfix: ['#continue_postfix', 'continue_postfix', false],
|
||||||
function_calling: ['#openai_function_calling', 'function_calling', true],
|
function_calling: ['#openai_function_calling', 'function_calling', true],
|
||||||
show_thoughts: ['#openai_show_thoughts', 'show_thoughts', true],
|
show_thoughts: ['#openai_show_thoughts', 'show_thoughts', true],
|
||||||
|
reasoning_effort: ['#openai_reasoning_effort', 'reasoning_effort', false],
|
||||||
seed: ['#seed_openai', 'seed', false],
|
seed: ['#seed_openai', 'seed', false],
|
||||||
n: ['#n_openai', 'n', false],
|
n: ['#n_openai', 'n', false],
|
||||||
};
|
};
|
||||||
@ -5510,6 +5518,11 @@ export function initOpenAI() {
|
|||||||
saveSettingsDebounced();
|
saveSettingsDebounced();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('#openai_reasoning_effort').on('input', function () {
|
||||||
|
oai_settings.reasoning_effort = String($(this).val());
|
||||||
|
saveSettingsDebounced();
|
||||||
|
});
|
||||||
|
|
||||||
if (!CSS.supports('field-sizing', 'content')) {
|
if (!CSS.supports('field-sizing', 'content')) {
|
||||||
$(document).on('input', '#openai_settings .autoSetHeight', function () {
|
$(document).on('input', '#openai_settings .autoSetHeight', function () {
|
||||||
resetScrollHeight($(this));
|
resetScrollHeight($(this));
|
||||||
|
@ -5914,3 +5914,15 @@ body:not(.movingUI) .drawer-content.maximized {
|
|||||||
.mes_text div[data-type="assistant_note"]:has(.assistant_note_export)>div:not(.assistant_note_export) {
|
.mes_text div[data-type="assistant_note"]:has(.assistant_note_export)>div:not(.assistant_note_export) {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.oneline-dropdown label {
|
||||||
|
margin-top: 3px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
flex-grow: 1;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.oneline-dropdown select {
|
||||||
|
min-width: fit-content;
|
||||||
|
width: 40%;
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user