diff --git a/constant/sensitive.go b/constant/sensitive.go index fabca67..4a9a7e6 100644 --- a/constant/sensitive.go +++ b/constant/sensitive.go @@ -23,7 +23,13 @@ func SensitiveWordsToString() string { } func SensitiveWordsFromString(s string) { - SensitiveWords = strings.Split(s, "\n") + sw := strings.Split(s, "\n") + for _, w := range sw { + w = strings.TrimSpace(w) + if w != "" { + SensitiveWords = append(SensitiveWords, w) + } + } } func ShouldCheckPromptSensitive() bool { diff --git a/service/sensitive.go b/service/sensitive.go index b216376..dbb0887 100644 --- a/service/sensitive.go +++ b/service/sensitive.go @@ -10,6 +10,9 @@ import ( // SensitiveWordContains 是否包含敏感词,返回是否包含敏感词和敏感词列表 func SensitiveWordContains(text string) (bool, []string) { + if len(constant.SensitiveWords) == 0 { + return false, nil + } checkText := strings.ToLower(text) // 构建一个AC自动机 m := initAc() @@ -26,6 +29,9 @@ func SensitiveWordContains(text string) (bool, []string) { // SensitiveWordReplace 敏感词替换,返回是否包含敏感词和替换后的文本 func SensitiveWordReplace(text string, returnImmediately bool) (bool, []string, string) { + if len(constant.SensitiveWords) == 0 { + return false, nil, text + } checkText := strings.ToLower(text) m := initAc() hits := m.MultiPatternSearch([]rune(checkText), returnImmediately)