WTF Anthropic???
| @@ -149,6 +149,7 @@ async function sendClaudeRequest(request, response) { | ||
| 149 | 149 | const convertedPrompt = convertClaudeMessages(request.body.messages, request.body.assistant_prefill, useSystemPrompt, useTools, getPromptNames(request)); |
| 150 | 150 | const useThinking = /^claude-(3-7|opus-4|sonnet-4)/.test(request.body.model); |
| 151 | 151 | 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); | |
| 152 | 153 | const cacheTTL = getConfigValue('claude.extendedTTL', false, 'boolean') ? '1h' : '5m'; |
| 153 | 154 | let fixThinkingPrefill = false; |
| 154 | 155 | // Add custom stop sequences |
| @@ -218,6 +219,14 @@ async function sendClaudeRequest(request, response) { | ||
| 218 | 219 | betaHeaders.push('extended-cache-ttl-2025-04-11'); |
| 219 | 220 | } |
| 220 | 221 | |
| 222 | + if (isOpus41){ | |
| 223 | + if (requestBody.top_p < 1) { | |
| 224 | + delete requestBody.temperature; | |
| 225 | + } else { | |
| 226 | + delete requestBody.top_p; | |
| 227 | + } | |
| 228 | + } | |
| 229 | + | |
| 221 | 230 | const reasoningEffort = request.body.reasoning_effort; |
| 222 | 231 | const budgetTokens = calculateClaudeBudgetTokens(requestBody.max_tokens, reasoningEffort, requestBody.stream); |
| 223 | 232 | |