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
This commit is contained in:
@@ -94,11 +94,12 @@ func RequestOpenAI2ClaudeMessage(textRequest dto.GeneralOpenAIRequest) (*ClaudeR
|
|||||||
Tools: claudeTools,
|
Tools: claudeTools,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if claudeRequest.MaxTokens == 0 {
|
||||||
|
claudeRequest.MaxTokens = uint(model_setting.GetClaudeSettings().ThinkingAdapterMaxTokens)
|
||||||
|
}
|
||||||
|
|
||||||
if model_setting.GetClaudeSettings().ThinkingAdapterEnabled &&
|
if model_setting.GetClaudeSettings().ThinkingAdapterEnabled &&
|
||||||
strings.HasSuffix(textRequest.Model, "-thinking") {
|
strings.HasSuffix(textRequest.Model, "-thinking") {
|
||||||
if claudeRequest.MaxTokens == 0 {
|
|
||||||
claudeRequest.MaxTokens = uint(model_setting.GetClaudeSettings().ThinkingAdapterMaxTokens)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 因为BudgetTokens 必须大于1024
|
// 因为BudgetTokens 必须大于1024
|
||||||
if claudeRequest.MaxTokens < 1280 {
|
if claudeRequest.MaxTokens < 1280 {
|
||||||
@@ -117,9 +118,6 @@ func RequestOpenAI2ClaudeMessage(textRequest dto.GeneralOpenAIRequest) (*ClaudeR
|
|||||||
claudeRequest.Model = strings.TrimSuffix(textRequest.Model, "-thinking")
|
claudeRequest.Model = strings.TrimSuffix(textRequest.Model, "-thinking")
|
||||||
}
|
}
|
||||||
|
|
||||||
if claudeRequest.MaxTokens == 0 {
|
|
||||||
claudeRequest.MaxTokens = 4096
|
|
||||||
}
|
|
||||||
if textRequest.Stop != nil {
|
if textRequest.Stop != nil {
|
||||||
// stop maybe string/array string, convert to array string
|
// stop maybe string/array string, convert to array string
|
||||||
switch textRequest.Stop.(type) {
|
switch textRequest.Stop.(type) {
|
||||||
|
|||||||
@@ -122,9 +122,10 @@ export default function SettingClaudeModel(props) {
|
|||||||
<Row>
|
<Row>
|
||||||
<Col span={8}>
|
<Col span={8}>
|
||||||
<Form.InputNumber
|
<Form.InputNumber
|
||||||
label={t('思考适配 MaxTokens')}
|
label={t('缺省 MaxTokens')}
|
||||||
field={'claude.thinking_adapter_max_tokens'}
|
field={'claude.thinking_adapter_max_tokens'}
|
||||||
initValue={''}
|
initValue={''}
|
||||||
|
extraText={t('客户端没有指定MaxTokens时的缺省值')}
|
||||||
onChange={(value) => setInputs({ ...inputs, 'claude.thinking_adapter_max_tokens': value })}
|
onChange={(value) => setInputs({ ...inputs, 'claude.thinking_adapter_max_tokens': value })}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
|
|||||||
Reference in New Issue
Block a user