Claude: "Auto" effort = no thinking

This commit is contained in:
Cohee
2025-05-08 20:28:35 +03:00
parent b71b94d410
commit da7f97b663
2 changed files with 7 additions and 5 deletions

View File

@@ -200,11 +200,12 @@ async function sendClaudeRequest(request, response) {
betaHeaders.push('prompt-caching-2024-07-31'); betaHeaders.push('prompt-caching-2024-07-31');
} }
if (useThinking) {
// No prefill when thinking
voidPrefill = true;
const reasoningEffort = request.body.reasoning_effort; const reasoningEffort = request.body.reasoning_effort;
const budgetTokens = calculateClaudeBudgetTokens(requestBody.max_tokens, reasoningEffort, requestBody.stream); const budgetTokens = calculateClaudeBudgetTokens(requestBody.max_tokens, reasoningEffort, requestBody.stream);
if (useThinking && Number.isInteger(budgetTokens)) {
// No prefill when thinking
voidPrefill = true;
const minThinkTokens = 1024; const minThinkTokens = 1024;
if (requestBody.max_tokens <= minThinkTokens) { if (requestBody.max_tokens <= minThinkTokens) {
const newValue = requestBody.max_tokens + minThinkTokens; const newValue = requestBody.max_tokens + minThinkTokens;

View File

@@ -917,19 +917,20 @@ export function cachingAtDepthForOpenRouterClaude(messages, cachingAtDepth) {
* @param {number} maxTokens Maximum tokens * @param {number} maxTokens Maximum tokens
* @param {string} reasoningEffort Reasoning effort * @param {string} reasoningEffort Reasoning effort
* @param {boolean} stream If streaming is enabled * @param {boolean} stream If streaming is enabled
* @returns {number} Budget tokens * @returns {number?} Budget tokens
*/ */
export function calculateClaudeBudgetTokens(maxTokens, reasoningEffort, stream) { export function calculateClaudeBudgetTokens(maxTokens, reasoningEffort, stream) {
let budgetTokens = 0; let budgetTokens = 0;
switch (reasoningEffort) { switch (reasoningEffort) {
case REASONING_EFFORT.auto:
return null;
case REASONING_EFFORT.min: case REASONING_EFFORT.min:
budgetTokens = 1024; budgetTokens = 1024;
break; break;
case REASONING_EFFORT.low: case REASONING_EFFORT.low:
budgetTokens = Math.floor(maxTokens * 0.1); budgetTokens = Math.floor(maxTokens * 0.1);
break; break;
case REASONING_EFFORT.auto:
case REASONING_EFFORT.medium: case REASONING_EFFORT.medium:
budgetTokens = Math.floor(maxTokens * 0.25); budgetTokens = Math.floor(maxTokens * 0.25);
break; break;