New Jeremy 2.5

e657b61df7899dc9c0be35f5dc0008b93676ae7f

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

4 files changed, +52 -4Ignore whitespace
public/index.html+6 -0
@@ -3192,12 +3192,15 @@
3192 <h4 data-i18n="Google Model">Google Model</h4>3192 <h4 data-i18n="Google Model">Google Model</h4>
3193 <select id="model_google_select">3193 <select id="model_google_select">
3194 <optgroup label="Gemini 2.5">3194 <optgroup label="Gemini 2.5">
3195 <option value="gemini-2.5-pro">gemini-2.5-pro</option>
3195 <option value="gemini-2.5-pro-preview-06-05">gemini-2.5-pro-preview-06-05</option>3196 <option value="gemini-2.5-pro-preview-06-05">gemini-2.5-pro-preview-06-05</option>
3196 <option value="gemini-2.5-pro-preview-05-06">gemini-2.5-pro-preview-05-06</option>3197 <option value="gemini-2.5-pro-preview-05-06">gemini-2.5-pro-preview-05-06</option>
3197 <option value="gemini-2.5-pro-preview-03-25">gemini-2.5-pro-preview-03-25</option>3198 <option value="gemini-2.5-pro-preview-03-25">gemini-2.5-pro-preview-03-25</option>
3198 <option value="gemini-2.5-pro-exp-03-25">gemini-2.5-pro-exp-03-25</option>3199 <option value="gemini-2.5-pro-exp-03-25">gemini-2.5-pro-exp-03-25</option>
3200 <option value="gemini-2.5-flash">gemini-2.5-flash</option>
3199 <option value="gemini-2.5-flash-preview-05-20">gemini-2.5-flash-preview-05-20</option>3201 <option value="gemini-2.5-flash-preview-05-20">gemini-2.5-flash-preview-05-20</option>
3200 <option value="gemini-2.5-flash-preview-04-17">gemini-2.5-flash-preview-04-17</option>3202 <option value="gemini-2.5-flash-preview-04-17">gemini-2.5-flash-preview-04-17</option>
3203 <option value="gemini-2.5-flash-lite-preview-06-17">gemini-2.5-flash-lite-preview-06-17</option>
3201 </optgroup>3204 </optgroup>
3202 <optgroup label="Gemini 2.0">3205 <optgroup label="Gemini 2.0">
3203 <option value="gemini-2.0-pro-exp-02-05">gemini-2.0-pro-exp-02-05 → 2.5-pro-exp-03-25</option>3206 <option value="gemini-2.0-pro-exp-02-05">gemini-2.0-pro-exp-02-05 → 2.5-pro-exp-03-25</option>
@@ -3362,12 +3365,15 @@
3362 <select id="model_vertexai_select">3365 <select id="model_vertexai_select">
3363 <!-- data-mode="full" is for models that require a service account -->3366 <!-- data-mode="full" is for models that require a service account -->
3364 <optgroup label="Gemini 2.5">3367 <optgroup label="Gemini 2.5">
3368 <option value="gemini-2.5-pro">gemini-2.5-pro</option>
3365 <option value="gemini-2.5-pro-preview-06-05">gemini-2.5-pro-preview-06-05</option>3369 <option value="gemini-2.5-pro-preview-06-05">gemini-2.5-pro-preview-06-05</option>
3366 <option value="gemini-2.5-pro-preview-05-06">gemini-2.5-pro-preview-05-06</option>3370 <option value="gemini-2.5-pro-preview-05-06">gemini-2.5-pro-preview-05-06</option>
3367 <option value="gemini-2.5-pro-preview-03-25">gemini-2.5-pro-preview-03-25</option>3371 <option value="gemini-2.5-pro-preview-03-25">gemini-2.5-pro-preview-03-25</option>
3368 <option value="gemini-2.5-pro-exp-03-25" data-mode="full">gemini-2.5-pro-exp-03-25</option>3372 <option value="gemini-2.5-pro-exp-03-25" data-mode="full">gemini-2.5-pro-exp-03-25</option>
3373 <option value="gemini-2.5-flash">gemini-2.5-flash</option>
3369 <option value="gemini-2.5-flash-preview-05-20">gemini-2.5-flash-preview-05-20</option>3374 <option value="gemini-2.5-flash-preview-05-20">gemini-2.5-flash-preview-05-20</option>
3370 <option value="gemini-2.5-flash-preview-04-17">gemini-2.5-flash-preview-04-17</option>3375 <option value="gemini-2.5-flash-preview-04-17">gemini-2.5-flash-preview-04-17</option>
3376 <option value="gemini-2.5-flash-lite-preview-06-17">gemini-2.5-flash-lite-preview-06-17</option>
3371 </optgroup>3377 </optgroup>
3372 <optgroup label="Gemini 2.0">3378 <optgroup label="Gemini 2.0">
3373 <option value="gemini-2.0-flash-exp" data-mode="full">gemini-2.0-flash-exp</option>3379 <option value="gemini-2.0-flash-exp" data-mode="full">gemini-2.0-flash-exp</option>
public/scripts/extensions/caption/settings.html+6 -0
@@ -86,12 +86,15 @@
86 <option data-type="anthropic" value="claude-3-opus-20240229">claude-3-opus-20240229</option>86 <option data-type="anthropic" value="claude-3-opus-20240229">claude-3-opus-20240229</option>
87 <option data-type="anthropic" value="claude-3-sonnet-20240229">claude-3-sonnet-20240229</option>87 <option data-type="anthropic" value="claude-3-sonnet-20240229">claude-3-sonnet-20240229</option>
88 <option data-type="anthropic" value="claude-3-haiku-20240307">claude-3-haiku-20240307</option>88 <option data-type="anthropic" value="claude-3-haiku-20240307">claude-3-haiku-20240307</option>
89 <option data-type="google" value="gemini-2.5-pro">gemini-2.5-pro</option>
89 <option data-type="google" value="gemini-2.5-pro-preview-06-05">gemini-2.5-pro-preview-06-05</option>90 <option data-type="google" value="gemini-2.5-pro-preview-06-05">gemini-2.5-pro-preview-06-05</option>
90 <option data-type="google" value="gemini-2.5-pro-preview-05-06">gemini-2.5-pro-preview-05-06</option>91 <option data-type="google" value="gemini-2.5-pro-preview-05-06">gemini-2.5-pro-preview-05-06</option>
91 <option data-type="google" value="gemini-2.5-pro-preview-03-25">gemini-2.5-pro-preview-03-25</option>92 <option data-type="google" value="gemini-2.5-pro-preview-03-25">gemini-2.5-pro-preview-03-25</option>
92 <option data-type="google" value="gemini-2.5-pro-exp-03-25">gemini-2.5-pro-exp-03-25</option>93 <option data-type="google" value="gemini-2.5-pro-exp-03-25">gemini-2.5-pro-exp-03-25</option>
94 <option data-type="google" value="gemini-2.5-flash">gemini-2.5-flash</option>
93 <option data-type="google" value="gemini-2.5-flash-preview-05-20">gemini-2.5-flash-preview-05-20</option>95 <option data-type="google" value="gemini-2.5-flash-preview-05-20">gemini-2.5-flash-preview-05-20</option>
94 <option data-type="google" value="gemini-2.5-flash-preview-04-17">gemini-2.5-flash-preview-04-17</option>96 <option data-type="google" value="gemini-2.5-flash-preview-04-17">gemini-2.5-flash-preview-04-17</option>
97 <option data-type="google" value="gemini-2.5-flash-lite-preview-06-17">gemini-2.5-flash-lite-preview-06-17</option>
95 <option data-type="google" value="gemini-2.0-pro-exp-02-05">gemini-2.0-pro-exp-02-05 → 2.5-pro-exp-03-25</option>98 <option data-type="google" value="gemini-2.0-pro-exp-02-05">gemini-2.0-pro-exp-02-05 → 2.5-pro-exp-03-25</option>
96 <option data-type="google" value="gemini-2.0-pro-exp">gemini-2.0-pro-exp → 2.5-pro-exp-03-25</option>99 <option data-type="google" value="gemini-2.0-pro-exp">gemini-2.0-pro-exp → 2.5-pro-exp-03-25</option>
97 <option data-type="google" value="gemini-exp-1206">gemini-exp-1206 → 2.5-pro-exp-03-25</option>100 <option data-type="google" value="gemini-exp-1206">gemini-exp-1206 → 2.5-pro-exp-03-25</option>
@@ -118,11 +121,14 @@
118 <option data-type="google" value="gemini-1.5-flash-8b-exp-0827">gemini-1.5-flash-8b-exp-0827</option>121 <option data-type="google" value="gemini-1.5-flash-8b-exp-0827">gemini-1.5-flash-8b-exp-0827</option>
119 <option data-type="google" value="learnlm-2.0-flash-experimental">learnlm-2.0-flash-experimental</option>122 <option data-type="google" value="learnlm-2.0-flash-experimental">learnlm-2.0-flash-experimental</option>
120 <option data-type="google" value="learnlm-1.5-pro-experimental">learnlm-1.5-pro-experimental</option>123 <option data-type="google" value="learnlm-1.5-pro-experimental">learnlm-1.5-pro-experimental</option>
124 <option data-type="vertexai" value="gemini-2.5-pro">gemini-2.5-pro</option>
121 <option data-type="vertexai" value="gemini-2.5-pro-preview-06-05">gemini-2.5-pro-preview-06-05</option>125 <option data-type="vertexai" value="gemini-2.5-pro-preview-06-05">gemini-2.5-pro-preview-06-05</option>
122 <option data-type="vertexai" value="gemini-2.5-pro-preview-05-06">gemini-2.5-pro-preview-05-06</option>126 <option data-type="vertexai" value="gemini-2.5-pro-preview-05-06">gemini-2.5-pro-preview-05-06</option>
123 <option data-type="vertexai" value="gemini-2.5-pro-preview-03-25">gemini-2.5-pro-preview-03-25</option>127 <option data-type="vertexai" value="gemini-2.5-pro-preview-03-25">gemini-2.5-pro-preview-03-25</option>
128 <option data-type="vertexai" value="gemini-2.5-flash">gemini-2.5-flash</option>
124 <option data-type="vertexai" value="gemini-2.5-flash-preview-05-20">gemini-2.5-flash-preview-05-20</option>129 <option data-type="vertexai" value="gemini-2.5-flash-preview-05-20">gemini-2.5-flash-preview-05-20</option>
125 <option data-type="vertexai" value="gemini-2.5-flash-preview-04-17">gemini-2.5-flash-preview-04-17</option>130 <option data-type="vertexai" value="gemini-2.5-flash-preview-04-17">gemini-2.5-flash-preview-04-17</option>
131 <option data-type="vertexai" value="gemini-2.5-flash-lite-preview-06-17">gemini-2.5-flash-lite-preview-06-17</option>
126 <option data-type="vertexai" value="gemini-2.0-flash-001">gemini-2.0-flash-001</option>132 <option data-type="vertexai" value="gemini-2.0-flash-001">gemini-2.0-flash-001</option>
127 <option data-type="vertexai" value="gemini-2.0-flash-lite-001">gemini-2.0-flash-lite-001</option>133 <option data-type="vertexai" value="gemini-2.0-flash-lite-001">gemini-2.0-flash-lite-001</option>
128 <option data-type="groq" value="llama-3.2-11b-vision-preview">llama-3.2-11b-vision-preview</option>134 <option data-type="groq" value="llama-3.2-11b-vision-preview">llama-3.2-11b-vision-preview</option>
src/endpoints/backends/chat-completions.js+6 -0
@@ -451,6 +451,12 @@ async function sendMakerSuiteRequest(request, response) {
451 thinkingConfig.thinkingBudget = thinkingBudget;451 thinkingConfig.thinkingBudget = thinkingBudget;
452 }452 }
453453
454 // Vertex doesn't allow mixing disabled thinking with includeThoughts
455 if (useVertexAi && thinkingBudget === 0 && thinkingConfig.includeThoughts) {
456 console.info('Thinking budget is 0, but includeThoughts is true. Thoughts will not be included in the response.');
457 thinkingConfig.includeThoughts = false;
458 }
459
454 generationConfig.thinkingConfig = thinkingConfig;460 generationConfig.thinkingConfig = thinkingConfig;
455 }461 }
456462
src/prompt-converters.js+34 -4
@@ -1063,10 +1063,9 @@ export function calculateGoogleBudgetTokens(maxTokens, reasoningEffort, model) {
10631063
1064 switch (reasoningEffort) {1064 switch (reasoningEffort) {
1065 case REASONING_EFFORT.auto:1065 case REASONING_EFFORT.auto:
1066 return null;1066 return -1;
1067 case REASONING_EFFORT.min:1067 case REASONING_EFFORT.min:
1068 budgetTokens = 0;1068 return 0;
1069 break;
1070 case REASONING_EFFORT.low:1069 case REASONING_EFFORT.low:
1071 budgetTokens = Math.floor(maxTokens * 0.1);1070 budgetTokens = Math.floor(maxTokens * 0.1);
1072 break;1071 break;
@@ -1086,12 +1085,39 @@ export function calculateGoogleBudgetTokens(maxTokens, reasoningEffort, model) {
1086 return budgetTokens;1085 return budgetTokens;
1087 }1086 }
10881087
1088 function getFlashLiteBudget() {
1089 let budgetTokens = 0;
1090
1091 switch (reasoningEffort) {
1092 case REASONING_EFFORT.auto:
1093 return -1;
1094 case REASONING_EFFORT.min:
1095 return 0;
1096 case REASONING_EFFORT.low:
1097 budgetTokens = Math.floor(maxTokens * 0.1);
1098 break;
1099 case REASONING_EFFORT.medium:
1100 budgetTokens = Math.floor(maxTokens * 0.25);
1101 break;
1102 case REASONING_EFFORT.high:
1103 budgetTokens = Math.floor(maxTokens * 0.5);
1104 break;
1105 case REASONING_EFFORT.max:
1106 budgetTokens = maxTokens;
1107 break;
1108 }
1109
1110 budgetTokens = Math.max(Math.min(budgetTokens, 24576), 512);
1111
1112 return budgetTokens;
1113 }
1114
1089 function getProBudget() {1115 function getProBudget() {
1090 let budgetTokens = 0;1116 let budgetTokens = 0;
10911117
1092 switch (reasoningEffort) {1118 switch (reasoningEffort) {
1093 case REASONING_EFFORT.auto:1119 case REASONING_EFFORT.auto:
1094 return null;1120 return -1;
1095 case REASONING_EFFORT.min:1121 case REASONING_EFFORT.min:
1096 budgetTokens = 128;1122 budgetTokens = 128;
1097 break;1123 break;
@@ -1114,6 +1140,10 @@ export function calculateGoogleBudgetTokens(maxTokens, reasoningEffort, model) {
1114 return budgetTokens;1140 return budgetTokens;
1115 }1141 }
11161142
1143 if (model.includes('flash-lite')) {
1144 return getFlashLiteBudget();
1145 }
1146
1117 if (model.includes('flash')) {1147 if (model.includes('flash')) {
1118 return getFlashBudget();1148 return getFlashBudget();
1119 }1149 }