Add files via upload

This commit is contained in:
公明
2026-07-10 16:48:49 +08:00
committed by GitHub
parent 0ff8c58fbd
commit 542d1d2411
19 changed files with 922 additions and 114 deletions
@@ -21,6 +21,9 @@ func prepareLatestUserMessageForModel(userMessage string, appCfg *config.Config,
mwCfg = &zero
}
maxRunes := mwCfg.LatestUserMessageMaxRunesEffective()
if appCfg != nil {
maxRunes = minPositiveInt(maxRunes, modelFacingRuneBudget(appCfg.OpenAI.MaxTotalTokens, 0.20))
}
if maxRunes <= 0 || utf8RuneLen(userMessage) <= maxRunes {
return userMessage
}
@@ -65,6 +68,30 @@ func prepareLatestUserMessageForModel(userMessage string, appCfg *config.Config,
return strings.TrimSpace(sb.String())
}
func modelFacingRuneBudget(maxTotalTokens int, ratio float64) int {
if maxTotalTokens <= 0 {
maxTotalTokens = 120000
}
if ratio <= 0 || ratio >= 1 {
ratio = 0.20
}
budget := int(float64(maxTotalTokens) * ratio)
if budget < 1024 {
budget = 1024
}
return budget
}
func minPositiveInt(a, b int) int {
if a <= 0 {
return b
}
if b <= 0 || a < b {
return a
}
return b
}
func normalizeLatestUserPreviewBudget(maxRunes, headRunes, tailRunes int) (int, int) {
if maxRunes <= 0 {
return headRunes, tailRunes