fix: clamp max_tokens and inference parameters to valid Gradio slider ranges
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user