fix(llm): thinking budget mismatch

This commit is contained in:
Elian Doran
2026-03-29 11:41:28 +03:00
parent cf8d7cd71f
commit ad91d360ce
3 changed files with 8 additions and 1 deletions

View File

@@ -11,6 +11,8 @@ export interface ChatConfig {
systemPrompt?: string;
enableWebSearch?: boolean;
enableExtendedThinking?: boolean;
/** Token budget for extended thinking (default: 10000) */
thinkingBudget?: number;
}
export interface Citation {

View File

@@ -52,9 +52,12 @@ export class AnthropicProvider implements LlmProvider {
// Enable extended thinking for deeper reasoning
if (config.enableExtendedThinking) {
const thinkingBudget = config.thinkingBudget || 10000;
// max_tokens must be greater than thinking budget
streamParams.max_tokens = Math.max(streamParams.max_tokens, thinkingBudget + 4000);
(streamParams as any).thinking = {
type: "enabled",
budget_tokens: 10000 // Allow up to 10k tokens for thinking
budget_tokens: thinkingBudget
};
}

View File

@@ -29,6 +29,8 @@ export interface LlmProviderConfig {
enableWebSearch?: boolean;
/** Enable extended thinking for deeper reasoning */
enableExtendedThinking?: boolean;
/** Token budget for extended thinking (default: 10000) */
thinkingBudget?: number;
}
export interface LlmProvider {