claude-sonnet-4-5

c4cc6f611e1516a18c642a0e92cd447ce80bb927

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

4 files changed, +7 -2Showing whitespace changes
public/index.html+1 -0
@@ -3016,6 +3016,7 @@
30163016 <h4 data-i18n="Claude Model">Claude Model</h4>
30173017 <select id="model_claude_select">
30183018 <optgroup label="Versions">
3019+ <option value="claude-sonnet-4-5">claude-sonnet-4-5</option>
30193020 <option value="claude-opus-4-1">claude-opus-4-1</option>
30203021 <option value="claude-opus-4-1-20250805">claude-opus-4-1-20250805</option>
30213022 <option value="claude-opus-4-0">claude-opus-4-0</option>
public/scripts/extensions/caption/settings.html+1 -0
@@ -81,6 +81,7 @@
8181 <option data-type="openai" value="o4-mini-2025-04-16">o4-mini-2025-04-16</option>
8282 <option data-type="openai" value="gpt-4.5-preview">gpt-4.5-preview</option>
8383 <option data-type="openai" value="gpt-4.5-preview-2025-02-27">gpt-4.5-preview-2025-02-27</option>
84+ <option data-type="anthropic" value="claude-sonnet-4-5">claude-sonnet-4-5</option>
8485 <option data-type="anthropic" value="claude-opus-4-1">claude-opus-4-1</option>
8586 <option data-type="anthropic" value="claude-opus-4-1-20250805">claude-opus-4-1-20250805</option>
8687 <option data-type="anthropic" value="claude-opus-4-0">claude-opus-4-0</option>
public/scripts/openai.js+3 -0
@@ -5033,6 +5033,9 @@ async function onModelChange() {
50335033 if (oai_settings.max_context_unlocked) {
50345034 $('#openai_max_context').attr('max', max_200k);
50355035 }
5036+ else if (value.startsWith('claude-sonnet-4-5')) {
5037+ $('#openai_max_context').attr('max', max_1mil);
5038+ }
50365039 else if (value == 'claude-2.1' || value.startsWith('claude-3') || value.startsWith('claude-opus') || value.startsWith('claude-sonnet')) {
50375040 $('#openai_max_context').attr('max', max_200k);
50385041 }
src/endpoints/backends/chat-completions.js+2 -2
@@ -156,7 +156,7 @@ async function sendClaudeRequest(request, response) {
156156 const convertedPrompt = convertClaudeMessages(request.body.messages, request.body.assistant_prefill, useSystemPrompt, useTools, getPromptNames(request));
157157 const useThinking = /^claude-(3-7|opus-4|sonnet-4)/.test(request.body.model);
158158 const useWebSearch = /^claude-(3-5|3-7|opus-4|sonnet-4)/.test(request.body.model) && Boolean(request.body.enable_web_search);
159159 const isOpus41isLimitedSampling = /^claude-(opus-4-1|sonnet-4-5)/.test(request.body.model);
160160 const cacheTTL = getConfigValue('claude.extendedTTL', false, 'boolean') ? '1h' : '5m';
161161 let fixThinkingPrefill = false;
162162 // Add custom stop sequences
@@ -226,7 +226,7 @@ async function sendClaudeRequest(request, response) {
226226 betaHeaders.push('extended-cache-ttl-2025-04-11');
227227 }
228228
229229 if (isOpus41isLimitedSampling) {
230230 if (requestBody.top_p < 1) {
231231 delete requestBody.temperature;
232232 } else {