Skip to content

Commit

Permalink
feat: Enhance Claude MaxTokens configuration handling
Browse files Browse the repository at this point in the history
- 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
  • Loading branch information
Calcium-Ion committed Feb 27, 2025
1 parent 4784ca7 commit d0bc8d1
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 7 deletions.
10 changes: 4 additions & 6 deletions relay/channel/claude/relay-claude.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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) {
Expand Down
3 changes: 2 additions & 1 deletion web/src/pages/Setting/Model/SettingClaudeModel.js
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down

0 comments on commit d0bc8d1

Please sign in to comment.