fix: clamp max_tokens and inference parameters to valid Gradio slider ranges

This commit is contained in:
Luxferre
2026-09-05 16:44:09 +03:00
parent 54352f3da7
commit 65ede5ec2a
2 changed files with 67 additions and 3 deletions
+44 -3
View File
@@ -414,7 +414,7 @@ func ResolveMaxTokens(req ChatCompletionRequest) int {
mt = req.MaxCompletionTokens
}
if mt <= 0 {
mt = 8192
mt = 4096
}
if mt > 32768 {
mt = 32768
@@ -1633,11 +1633,29 @@ func (s *QwenService) chatGradioRespond(endpointURL string, w http.ResponseWrite
if req.Temperature != nil {
tempVal = *req.Temperature
}
if tempVal < 0.0 {
tempVal = 0.0
} else if tempVal > 2.0 {
tempVal = 2.0
}
topPVal := 0.95
if req.TopP != nil {
topPVal = *req.TopP
}
if topPVal < 0.0 {
topPVal = 0.0
} else if topPVal > 1.0 {
topPVal = 1.0
}
// MicroHERO /respond endpoint has a slider with strict range [64, 4096]
clampedTokens := maxTokens
if clampedTokens > 4096 {
clampedTokens = 4096
} else if clampedTokens < 64 {
clampedTokens = 64
}
effUA := EffectiveUserAgent(r)
effHFToken := EffectiveHFToken(r)
@@ -1650,7 +1668,7 @@ func (s *QwenService) chatGradioRespond(endpointURL string, w http.ResponseWrite
"text": promptText,
"files": []interface{}{},
},
maxTokens,
clampedTokens,
tempVal,
topPVal,
}
@@ -1887,6 +1905,11 @@ func (s *QwenService) chatGradioChatResponse(endpointURL string, w http.Response
} else if !enableThinking {
tempVal = 0.7
}
if tempVal < 0.0 {
tempVal = 0.0
} else if tempVal > 2.0 {
tempVal = 2.0
}
topPVal := 0.95
if req.TopP != nil {
@@ -1894,12 +1917,30 @@ func (s *QwenService) chatGradioChatResponse(endpointURL string, w http.Response
} else if !enableThinking {
topPVal = 0.80
}
if topPVal < 0.1 {
topPVal = 0.1
} else if topPVal > 1.0 {
topPVal = 1.0
}
topKVal := 20
presenceVal := 0.0
if !enableThinking {
presenceVal = 1.5
}
if presenceVal < 0.0 {
presenceVal = 0.0
} else if presenceVal > 2.0 {
presenceVal = 2.0
}
// Halvo78 /chat_response slider range is [256, 32768]
clampedTokens := maxTokens
if clampedTokens > 32768 {
clampedTokens = 32768
} else if clampedTokens < 256 {
clampedTokens = 256
}
customAPIKey := EffectiveUpstreamKey(r)
if customAPIKey == "" {
@@ -1943,7 +1984,7 @@ func (s *QwenService) chatGradioChatResponse(endpointURL string, w http.Response
topPVal,
topKVal,
presenceVal,
maxTokens,
clampedTokens,
systemPromptStr,
customBaseURL,
customAPIKey,