Commit 3002c7a1 authored by song's avatar song
Browse files

Clamp Claude maxOutputTokens to 64000

parent 207e0950
...@@ -490,9 +490,23 @@ func parseToolResultContent(content json.RawMessage, isError bool) string { ...@@ -490,9 +490,23 @@ func parseToolResultContent(content json.RawMessage, isError bool) string {
} }
// buildGenerationConfig 构建 generationConfig // buildGenerationConfig 构建 generationConfig
const (
defaultMaxOutputTokens = 64000
maxOutputTokensUpperBound = 65000
maxOutputTokensClaude = 64000
)
func maxOutputTokensLimit(model string) int {
if strings.HasPrefix(model, "claude-") {
return maxOutputTokensClaude
}
return maxOutputTokensUpperBound
}
func buildGenerationConfig(req *ClaudeRequest) *GeminiGenerationConfig { func buildGenerationConfig(req *ClaudeRequest) *GeminiGenerationConfig {
maxLimit := maxOutputTokensLimit(req.Model)
config := &GeminiGenerationConfig{ config := &GeminiGenerationConfig{
MaxOutputTokens: 64000, // 默认最大输出 MaxOutputTokens: defaultMaxOutputTokens, // 默认最大输出
StopSequences: DefaultStopSequences, StopSequences: DefaultStopSequences,
} }
...@@ -516,6 +530,10 @@ func buildGenerationConfig(req *ClaudeRequest) *GeminiGenerationConfig { ...@@ -516,6 +530,10 @@ func buildGenerationConfig(req *ClaudeRequest) *GeminiGenerationConfig {
} }
} }
if config.MaxOutputTokens > maxLimit {
config.MaxOutputTokens = maxLimit
}
// 其他参数 // 其他参数
if req.Temperature != nil { if req.Temperature != nil {
config.Temperature = req.Temperature config.Temperature = req.Temperature
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment