fix
This commit is contained in:
@@ -10,6 +10,11 @@ import (
|
||||
|
||||
const maxPromptFieldRunes = 4000
|
||||
|
||||
// maxOutputFieldRunes bounds stored / polled model text (titles + multi-section
|
||||
// formula HTML descriptions). Must stay well above MaxTokensEnhance (~16k tokens)
|
||||
// so SanitizeOutput does not chop JSON completion bodies or A1 HTML mid-string.
|
||||
const maxOutputFieldRunes = 120000
|
||||
|
||||
var controlOrInject = regexp.MustCompile(`(?i)(ignore\s+(all\s+)?(previous|prior|above)|disregard\s+(all\s+)?(previous|prior)|forget\s+(all\s+)?(previous|prior)|system\s*:|assistant\s*:|<\s*/?\s*script)`)
|
||||
|
||||
// SanitizeText strips control chars, truncates, and soft-neutralizes prompt-injection phrases.
|
||||
@@ -31,6 +36,8 @@ func SanitizeText(s string) string {
|
||||
}
|
||||
|
||||
// SanitizeOutput keeps model text printable and bounded for storage/UI.
|
||||
// Uses a higher rune cap than SanitizeText so formula HTML and full enhance
|
||||
// JSON completions are not truncated at 4k.
|
||||
func SanitizeOutput(s string) string {
|
||||
s = strings.TrimSpace(s)
|
||||
if s == "" {
|
||||
@@ -43,7 +50,7 @@ func SanitizeOutput(s string) string {
|
||||
b.WriteRune(r)
|
||||
}
|
||||
}
|
||||
return truncateRunes(b.String(), maxPromptFieldRunes)
|
||||
return truncateRunes(b.String(), maxOutputFieldRunes)
|
||||
}
|
||||
|
||||
func truncateRunes(s string, max int) string {
|
||||
|
||||
Reference in New Issue
Block a user