Просмотр исходного кода

feat: Enhance Claude MaxTokens configuration handling

- Update Claude relay to set default MaxTokens dynamically
- Modify web interface to clarify default MaxTokens input purpose
- Improve token configuration logic for thinking adapter models
1808837298@qq.com 1 год назад
Родитель
Сommit
d0bc8d17d1

+ 4 - 6
relay/channel/claude/relay-claude.go

@@ -94,11 +94,12 @@ func RequestOpenAI2ClaudeMessage(textRequest dto.GeneralOpenAIRequest) (*ClaudeR
 		Tools:         claudeTools,
 	}
 
+	if claudeRequest.MaxTokens == 0 {
+		claudeRequest.MaxTokens = uint(model_setting.GetClaudeSettings().ThinkingAdapterMaxTokens)
+	}
+
 	if model_setting.GetClaudeSettings().ThinkingAdapterEnabled &&
 		strings.HasSuffix(textRequest.Model, "-thinking") {
-		if claudeRequest.MaxTokens == 0 {
-			claudeRequest.MaxTokens = uint(model_setting.GetClaudeSettings().ThinkingAdapterMaxTokens)
-		}
 
 		// 因为BudgetTokens 必须大于1024
 		if claudeRequest.MaxTokens < 1280 {
@@ -117,9 +118,6 @@ func RequestOpenAI2ClaudeMessage(textRequest dto.GeneralOpenAIRequest) (*ClaudeR
 		claudeRequest.Model = strings.TrimSuffix(textRequest.Model, "-thinking")
 	}
 
-	if claudeRequest.MaxTokens == 0 {
-		claudeRequest.MaxTokens = 4096
-	}
 	if textRequest.Stop != nil {
 		// stop maybe string/array string, convert to array string
 		switch textRequest.Stop.(type) {

+ 2 - 1
web/src/pages/Setting/Model/SettingClaudeModel.js

@@ -122,9 +122,10 @@ export default function SettingClaudeModel(props) {
             <Row>
               <Col span={8}>
                 <Form.InputNumber
-                  label={t('思考适配 MaxTokens')}
+                  label={t('缺省 MaxTokens')}
                   field={'claude.thinking_adapter_max_tokens'}
                   initValue={''}
+                  extraText={t('客户端没有指定MaxTokens时的缺省值')}
                   onChange={(value) => setInputs({ ...inputs, 'claude.thinking_adapter_max_tokens': value })}
                 />
               </Col>