Skip to content

Commit c2aef6a

Browse files
committed
make it min between max tokens
1 parent 5b0a941 commit c2aef6a

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

apps/sim/providers/anthropic/index.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -302,9 +302,12 @@ export const anthropicProvider: ProviderConfig = {
302302
const providerStartTime = Date.now()
303303
const providerStartTimeISO = new Date(providerStartTime).toISOString()
304304

305-
const nonStreamingMaxTokens =
306-
Number.parseInt(String(request.maxTokens)) ||
307-
getMaxOutputTokensForModel(request.model, false)
305+
// Cap intermediate calls at non-streaming limit to avoid SDK timeout errors,
306+
// but allow users to set lower values if desired
307+
const nonStreamingLimit = getMaxOutputTokensForModel(request.model, false)
308+
const nonStreamingMaxTokens = request.maxTokens
309+
? Math.min(Number.parseInt(String(request.maxTokens)), nonStreamingLimit)
310+
: nonStreamingLimit
308311
const intermediatePayload = { ...payload, max_tokens: nonStreamingMaxTokens }
309312

310313
try {
@@ -679,8 +682,12 @@ export const anthropicProvider: ProviderConfig = {
679682
const providerStartTime = Date.now()
680683
const providerStartTimeISO = new Date(providerStartTime).toISOString()
681684

682-
const toolLoopMaxTokens =
683-
Number.parseInt(String(request.maxTokens)) || getMaxOutputTokensForModel(request.model, false)
685+
// Cap intermediate calls at non-streaming limit to avoid SDK timeout errors,
686+
// but allow users to set lower values if desired
687+
const nonStreamingLimit = getMaxOutputTokensForModel(request.model, false)
688+
const toolLoopMaxTokens = request.maxTokens
689+
? Math.min(Number.parseInt(String(request.maxTokens)), nonStreamingLimit)
690+
: nonStreamingLimit
684691
const toolLoopPayload = { ...payload, max_tokens: toolLoopMaxTokens }
685692

686693
try {

0 commit comments

Comments
 (0)