claude-sonnet-4-6
| @@ -3107,6 +3107,7 @@ | |||
| 3107 | <option value="claude-opus-4-6">claude-opus-4-6</option> | 3107 | <option value="claude-opus-4-6">claude-opus-4-6</option> |
| 3108 | <option value="claude-opus-4-5">claude-opus-4-5</option> | 3108 | <option value="claude-opus-4-5">claude-opus-4-5</option> |
| 3109 | <option value="claude-opus-4-5-20251101">claude-opus-4-5-20251101</option> | 3109 | <option value="claude-opus-4-5-20251101">claude-opus-4-5-20251101</option> |
| 3110 | <option value="claude-sonnet-4-6">claude-sonnet-4-6</option> | ||
| 3110 | <option value="claude-sonnet-4-5">claude-sonnet-4-5</option> | 3111 | <option value="claude-sonnet-4-5">claude-sonnet-4-5</option> |
| 3111 | <option value="claude-sonnet-4-5-20250929">claude-sonnet-4-5-20250929</option> | 3112 | <option value="claude-sonnet-4-5-20250929">claude-sonnet-4-5-20250929</option> |
| 3112 | <option value="claude-haiku-4-5">claude-haiku-4-5</option> | 3113 | <option value="claude-haiku-4-5">claude-haiku-4-5</option> |
| @@ -89,6 +89,7 @@ | |||
| 89 | <option data-type="anthropic" value="claude-opus-4-6">claude-opus-4-6</option> | 89 | <option data-type="anthropic" value="claude-opus-4-6">claude-opus-4-6</option> |
| 90 | <option data-type="anthropic" value="claude-opus-4-5">claude-opus-4-5</option> | 90 | <option data-type="anthropic" value="claude-opus-4-5">claude-opus-4-5</option> |
| 91 | <option data-type="anthropic" value="claude-opus-4-5-20251101">claude-opus-4-5-20251101</option> | 91 | <option data-type="anthropic" value="claude-opus-4-5-20251101">claude-opus-4-5-20251101</option> |
| 92 | <option data-type="anthropic" value="claude-sonnet-4-6">claude-sonnet-4-6</option> | ||
| 92 | <option data-type="anthropic" value="claude-sonnet-4-5">claude-sonnet-4-5</option> | 93 | <option data-type="anthropic" value="claude-sonnet-4-5">claude-sonnet-4-5</option> |
| 93 | <option data-type="anthropic" value="claude-sonnet-4-5-20250929">claude-sonnet-4-5-20250929</option> | 94 | <option data-type="anthropic" value="claude-sonnet-4-5-20250929">claude-sonnet-4-5-20250929</option> |
| 94 | <option data-type="anthropic" value="claude-haiku-4-5">claude-haiku-4-5</option> | 95 | <option data-type="anthropic" value="claude-haiku-4-5">claude-haiku-4-5</option> |
| @@ -132,8 +132,6 @@ const max_256k = 256 * 1000; | |||
| 132 | const max_400k = 400 * 1000; | 132 | const max_400k = 400 * 1000; |
| 133 | const max_1mil = 1000 * 1000; | 133 | const max_1mil = 1000 * 1000; |
| 134 | const max_2mil = 2000 * 1000; | 134 | const max_2mil = 2000 * 1000; |
| 135 | const claude_max = 9000; // We have a proper tokenizer, so theoretically could be larger (up to 9k) | ||
| 136 | const claude_100k_max = 99000; | ||
| 137 | const unlocked_max = max_2mil; | 135 | const unlocked_max = max_2mil; |
| 138 | const oai_max_temp = 2.0; | 136 | const oai_max_temp = 2.0; |
| 139 | const claude_max_temp = 1.0; | 137 | const claude_max_temp = 1.0; |
| @@ -5259,14 +5257,12 @@ async function onModelChange() { | |||
| 5259 | if (oai_settings.chat_completion_source == chat_completion_sources.CLAUDE) { | 5257 | if (oai_settings.chat_completion_source == chat_completion_sources.CLAUDE) { |
| 5260 | if (oai_settings.max_context_unlocked) { | 5258 | if (oai_settings.max_context_unlocked) { |
| 5261 | $('#openai_max_context').attr('max', unlocked_max); | 5259 | $('#openai_max_context').attr('max', unlocked_max); |
| 5262 | } else if (value.startsWith('claude-sonnet-4-5') || value.startsWith('claude-opus-4-6')) { | 5260 | } else if (/^claude-(sonnet-4-5|sonnet-4-6|opus-4-6)/.test(value)) { |
| 5263 | $('#openai_max_context').attr('max', max_1mil); | 5261 | $('#openai_max_context').attr('max', max_1mil); |
| 5264 | } else if (value == 'claude-2.1' || value.startsWith('claude-3') || value.startsWith('claude-opus') || value.startsWith('claude-haiku') || value.startsWith('claude-sonnet')) { | 5262 | } else if (/^claude-(3|opus|haiku|sonnet)/.test(value)) { |
| 5265 | $('#openai_max_context').attr('max', max_200k); | 5263 | $('#openai_max_context').attr('max', max_200k); |
| 5266 | } else if (value.endsWith('100k') || value.startsWith('claude-2') || value === 'claude-instant-1.2') { | ||
| 5267 | $('#openai_max_context').attr('max', claude_100k_max); | ||
| 5268 | } else { | 5264 | } else { |
| 5269 | $('#openai_max_context').attr('max', claude_max); | 5265 | $('#openai_max_context').attr('max', max_200k); |
| 5270 | } | 5266 | } |
| 5271 | 5267 | ||
| 5272 | oai_settings.openai_max_context = Math.min(oai_settings.openai_max_context, Number($('#openai_max_context').attr('max'))); | 5268 | oai_settings.openai_max_context = Math.min(oai_settings.openai_max_context, Number($('#openai_max_context').attr('max'))); |
| @@ -223,11 +223,11 @@ async function sendClaudeRequest(request, response) { | |||
| 223 | const useTools = Array.isArray(request.body.tools) && request.body.tools.length > 0; | 223 | const useTools = Array.isArray(request.body.tools) && request.body.tools.length > 0; |
| 224 | const useSystemPrompt = Boolean(request.body.use_sysprompt); | 224 | const useSystemPrompt = Boolean(request.body.use_sysprompt); |
| 225 | const convertedPrompt = convertClaudeMessages(request.body.messages, request.body.assistant_prefill, useSystemPrompt, useTools, getPromptNames(request)); | 225 | const convertedPrompt = convertClaudeMessages(request.body.messages, request.body.assistant_prefill, useSystemPrompt, useTools, getPromptNames(request)); |
| 226 | const useThinking = /^claude-(3-7|opus-4|sonnet-4|haiku-4-5|opus-4-5|opus-4-6)/.test(request.body.model); | 226 | const useThinking = /^claude-(3-7|opus-4|sonnet-4|haiku-4-5|opus-4-5|opus-4-6|sonnet-4-6)/.test(request.body.model); |
| 227 | const useWebSearch = /^claude-(3-5|3-7|opus-4|sonnet-4|haiku-4-5|opus-4-5|opus-4-6)/.test(request.body.model) && Boolean(request.body.enable_web_search); | 227 | const useWebSearch = /^claude-(3-5|3-7|opus-4|sonnet-4|haiku-4-5|opus-4-5|opus-4-6|sonnet-4-6)/.test(request.body.model) && Boolean(request.body.enable_web_search); |
| 228 | const isLimitedSampling = /^claude-(opus-4-1|sonnet-4-5|haiku-4-5|opus-4-5|opus-4-6)/.test(request.body.model); | 228 | const isLimitedSampling = /^claude-(opus-4-1|sonnet-4-5|haiku-4-5|opus-4-5|opus-4-6|sonnet-4-6)/.test(request.body.model); |
| 229 | const useVerbosity = /^claude-(opus-4-5|opus-4-6)/.test(request.body.model); | 229 | const useVerbosity = /^claude-(opus-4-5|opus-4-6|sonnet-4-6)/.test(request.body.model); |
| 230 | const noPrefillModel = /^claude-(opus-4-6)/.test(request.body.model); | 230 | const noPrefillModel = /^claude-(opus-4-6|sonnet-4-6)/.test(request.body.model); |
| 231 | let fixThinkingPrefill = false; | 231 | let fixThinkingPrefill = false; |
| 232 | // Add custom stop sequences | 232 | // Add custom stop sequences |
| 233 | const stopSequences = []; | 233 | const stopSequences = []; |