feat(models): 注册 Kimi K3 和 Qwen3.8

This commit is contained in:
2026-07-27 23:50:17 +08:00
parent 31c32690b2
commit 039220c835
3 changed files with 478 additions and 0 deletions
@@ -78,6 +78,15 @@ func applyAliyunReasoning(body map[string]any, candidate store.RuntimeModelCandi
body["enable_thinking"] = true
model := chatReasoningModelName(body, candidate)
if isAliyunQwen38MaxPreview(model) {
if budget, ok := positiveIntFromAny(body["thinking_budget_tokens"]); ok {
body["thinking_budget"] = budget
delete(body, "reasoning_effort")
return
}
body["reasoning_effort"] = qwen38MaxPreviewReasoningEffort(effort)
return
}
if isAliyunHighMaxReasoningModel(model) {
body["reasoning_effort"] = highMaxReasoningEffort(effort)
return
@@ -200,6 +209,10 @@ func isAliyunHighMaxReasoningModel(model string) bool {
return strings.Contains(model, "deepseek-v4") || strings.HasPrefix(model, "glm-")
}
func isAliyunQwen38MaxPreview(model string) bool {
return strings.Contains(model, "qwen3.8-max-preview")
}
func isAliyunThinkingBudgetModel(model string) bool {
return strings.Contains(model, "qwen") || strings.Contains(model, "qwq") || strings.Contains(model, "qvq") || strings.Contains(model, "kimi")
}
@@ -219,6 +232,17 @@ func highMaxReasoningEffort(effort string) string {
return "high"
}
func qwen38MaxPreviewReasoningEffort(effort string) string {
switch effort {
case "low", "minimal":
return "low"
case "medium":
return "medium"
default:
return "xhigh"
}
}
func zhipuReasoningEffort(effort string) string {
if effort == "max" {
return "xhigh"