

























@@ -483,6 +483,9 @@ function applyConfiguredProviderOverrides(params: {
483483!configuredModel &&
484484!providerConfig.baseUrl &&
485485!providerConfig.api &&
486+providerConfig.contextWindow === undefined &&
487+providerConfig.contextTokens === undefined &&
488+providerConfig.maxTokens === undefined &&
486489requestTimeoutMs === undefined &&
487490!providerHeaders &&
488491!providerRequest
@@ -518,6 +521,10 @@ function applyConfiguredProviderOverrides(params: {
518521cfg: params.cfg,
519522runtimeHooks: params.runtimeHooks,
520523});
524+const resolvedContextWindow =
525+metadataOverrideModel?.contextWindow ?? providerConfig.contextWindow;
526+const resolvedMaxTokens =
527+metadataOverrideModel?.maxTokens ?? providerConfig.maxTokens ?? discoveredModel.maxTokens;
521528const requestConfig = resolveProviderRequestConfig({
522529provider: params.provider,
523530api:
@@ -541,9 +548,15 @@ function applyConfiguredProviderOverrides(params: {
541548reasoning: metadataOverrideModel?.reasoning ?? discoveredModel.reasoning,
542549input: normalizedInput,
543550cost: metadataOverrideModel?.cost ?? discoveredModel.cost,
544-contextWindow: metadataOverrideModel?.contextWindow ?? discoveredModel.contextWindow,
545-contextTokens: metadataOverrideModel?.contextTokens ?? discoveredModel.contextTokens,
546-maxTokens: metadataOverrideModel?.maxTokens ?? discoveredModel.maxTokens,
551+contextWindow: resolvedContextWindow ?? discoveredModel.contextWindow,
552+contextTokens:
553+metadataOverrideModel?.contextTokens ??
554+providerConfig.contextTokens ??
555+discoveredModel.contextTokens,
556+maxTokens:
557+typeof resolvedContextWindow === "number"
558+ ? Math.min(resolvedMaxTokens, resolvedContextWindow)
559+ : resolvedMaxTokens,
547560 ...(resolvedParams ? { params: resolvedParams } : {}),
548561 ...(requestTimeoutMs !== undefined ? { requestTimeoutMs } : {}),
549562headers: requestConfig.headers,
@@ -774,11 +787,16 @@ function resolveConfiguredFallbackModel(params: {
774787cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
775788contextWindow:
776789configuredModel?.contextWindow ??
790+providerConfig?.contextWindow ??
777791providerConfig?.models?.[0]?.contextWindow ??
778792DEFAULT_CONTEXT_TOKENS,
779-contextTokens: configuredModel?.contextTokens ?? providerConfig?.models?.[0]?.contextTokens,
793+contextTokens:
794+configuredModel?.contextTokens ??
795+providerConfig?.contextTokens ??
796+providerConfig?.models?.[0]?.contextTokens,
780797maxTokens:
781798configuredModel?.maxTokens ??
799+providerConfig?.maxTokens ??
782800providerConfig?.models?.[0]?.maxTokens ??
783801DEFAULT_CONTEXT_TOKENS,
784802 ...(resolvedParams ? { params: resolvedParams } : {}),
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。