add option for claude-opus-4-6 (#5103)
* add option for claude-opus-4-6 * fix: add claude-opus-4-6 to limited sampling and verbosity model lists * fix: disable assistant prefill for claude-opus-4-6 * refacor: merge fixthinkingPrefill and noPrefillModel * 1m context --------- Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
This commit is contained in:
@@ -3104,6 +3104,7 @@
|
||||
<h4 data-i18n="Claude Model">Claude Model</h4>
|
||||
<select id="model_claude_select">
|
||||
<optgroup label="Versions">
|
||||
<option value="claude-opus-4-6">claude-opus-4-6</option>
|
||||
<option value="claude-opus-4-5">claude-opus-4-5</option>
|
||||
<option value="claude-opus-4-5-20251101">claude-opus-4-5-20251101</option>
|
||||
<option value="claude-sonnet-4-5">claude-sonnet-4-5</option>
|
||||
|
||||
@@ -86,6 +86,7 @@
|
||||
<option data-type="openai" value="o4-mini-2025-04-16">o4-mini-2025-04-16</option>
|
||||
<option data-type="openai" value="gpt-4.5-preview">gpt-4.5-preview</option>
|
||||
<option data-type="openai" value="gpt-4.5-preview-2025-02-27">gpt-4.5-preview-2025-02-27</option>
|
||||
<option data-type="anthropic" value="claude-opus-4-6">claude-opus-4-6</option>
|
||||
<option data-type="anthropic" value="claude-opus-4-5">claude-opus-4-5</option>
|
||||
<option data-type="anthropic" value="claude-opus-4-5-20251101">claude-opus-4-5-20251101</option>
|
||||
<option data-type="anthropic" value="claude-sonnet-4-5">claude-sonnet-4-5</option>
|
||||
|
||||
@@ -5285,7 +5285,7 @@ async function onModelChange() {
|
||||
if (oai_settings.max_context_unlocked) {
|
||||
$('#openai_max_context').attr('max', unlocked_max);
|
||||
}
|
||||
else if (value.startsWith('claude-sonnet-4-5')) {
|
||||
else if (value.startsWith('claude-sonnet-4-5') || value.startsWith('claude-opus-4-6')) {
|
||||
$('#openai_max_context').attr('max', max_1mil);
|
||||
}
|
||||
else if (value == 'claude-2.1' || value.startsWith('claude-3') || value.startsWith('claude-opus') || value.startsWith('claude-haiku') || value.startsWith('claude-sonnet')) {
|
||||
|
||||
@@ -219,14 +219,15 @@ async function sendClaudeRequest(request, response) {
|
||||
controller.abort();
|
||||
});
|
||||
const additionalHeaders = {};
|
||||
const betaHeaders = ['output-128k-2025-02-19'];
|
||||
const betaHeaders = ['output-128k-2025-02-19', 'context-1m-2025-08-07'];
|
||||
const useTools = Array.isArray(request.body.tools) && request.body.tools.length > 0;
|
||||
const useSystemPrompt = Boolean(request.body.use_sysprompt);
|
||||
const convertedPrompt = convertClaudeMessages(request.body.messages, request.body.assistant_prefill, useSystemPrompt, useTools, getPromptNames(request));
|
||||
const useThinking = /^claude-(3-7|opus-4|sonnet-4|haiku-4-5|opus-4-5)/.test(request.body.model);
|
||||
const useWebSearch = /^claude-(3-5|3-7|opus-4|sonnet-4|haiku-4-5|opus-4-5)/.test(request.body.model) && Boolean(request.body.enable_web_search);
|
||||
const isLimitedSampling = /^claude-(opus-4-1|sonnet-4-5|haiku-4-5|opus-4-5)/.test(request.body.model);
|
||||
const useVerbosity = /^claude-(opus-4-5)/.test(request.body.model);
|
||||
const useThinking = /^claude-(3-7|opus-4|sonnet-4|haiku-4-5|opus-4-5|opus-4-6)/.test(request.body.model);
|
||||
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);
|
||||
const isLimitedSampling = /^claude-(opus-4-1|sonnet-4-5|haiku-4-5|opus-4-5|opus-4-6)/.test(request.body.model);
|
||||
const useVerbosity = /^claude-(opus-4-5|opus-4-6)/.test(request.body.model);
|
||||
const noPrefillModel = /^claude-(opus-4-6)/.test(request.body.model);
|
||||
let fixThinkingPrefill = false;
|
||||
// Add custom stop sequences
|
||||
const stopSequences = [];
|
||||
@@ -327,7 +328,7 @@ async function sendClaudeRequest(request, response) {
|
||||
delete requestBody.top_k;
|
||||
}
|
||||
|
||||
if (fixThinkingPrefill && convertedPrompt.messages.length && convertedPrompt.messages[convertedPrompt.messages.length - 1].role === 'assistant') {
|
||||
if ((fixThinkingPrefill || noPrefillModel) && convertedPrompt.messages.length && convertedPrompt.messages[convertedPrompt.messages.length - 1].role === 'assistant') {
|
||||
convertedPrompt.messages[convertedPrompt.messages.length - 1].role = 'user';
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user