WTF Anthropic???

f1fcd68c99823a6ffb31256720895f28cb7c3440

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

1 files changed, +9 -0Ignore whitespace
src/endpoints/backends/chat-completions.js+9 -0
@@ -149,6 +149,7 @@ async function sendClaudeRequest(request, response) {
149149 const convertedPrompt = convertClaudeMessages(request.body.messages, request.body.assistant_prefill, useSystemPrompt, useTools, getPromptNames(request));
150150 const useThinking = /^claude-(3-7|opus-4|sonnet-4)/.test(request.body.model);
151151 const useWebSearch = /^claude-(3-5|3-7|opus-4|sonnet-4)/.test(request.body.model) && Boolean(request.body.enable_web_search);
152+ const isOpus41 = /^claude-opus-4-1/.test(request.body.model);
152153 const cacheTTL = getConfigValue('claude.extendedTTL', false, 'boolean') ? '1h' : '5m';
153154 let fixThinkingPrefill = false;
154155 // Add custom stop sequences
@@ -218,6 +219,14 @@ async function sendClaudeRequest(request, response) {
218219 betaHeaders.push('extended-cache-ttl-2025-04-11');
219220 }
220221
222+ if (isOpus41){
223+ if (requestBody.top_p < 1) {
224+ delete requestBody.temperature;
225+ } else {
226+ delete requestBody.top_p;
227+ }
228+ }
229+
221230 const reasoningEffort = request.body.reasoning_effort;
222231 const budgetTokens = calculateClaudeBudgetTokens(requestBody.max_tokens, reasoningEffort, requestBody.stream);
223232