diff --git a/relay/channel/openai/relay-openai.go b/relay/channel/openai/relay-openai.go index 4409555..9ec4260 100644 --- a/relay/channel/openai/relay-openai.go +++ b/relay/channel/openai/relay-openai.go @@ -56,7 +56,7 @@ func OpenaiStreamHandler(c *gin.Context, resp *http.Response, relayMode int) (*d sensitive := false if checkSensitive { // check sensitive - sensitive, _, data = service.SensitiveWordReplace(data, constant.StopOnSensitiveEnabled) + sensitive, _, data = service.SensitiveWordReplace(data, false) } dataChan <- data data = data[6:] diff --git a/service/sensitive.go b/service/sensitive.go index 57c667f..28618a0 100644 --- a/service/sensitive.go +++ b/service/sensitive.go @@ -25,15 +25,15 @@ func SensitiveWordContains(text string) (bool, []string) { // SensitiveWordReplace 敏感词替换,返回是否包含敏感词和替换后的文本 func SensitiveWordReplace(text string, returnImmediately bool) (bool, []string, string) { - text = strings.ToLower(text) + checkText := strings.ToLower(text) m := initAc() - hits := m.MultiPatternSearch([]rune(text), returnImmediately) + hits := m.MultiPatternSearch([]rune(checkText), returnImmediately) if len(hits) > 0 { words := make([]string, 0) for _, hit := range hits { pos := hit.Pos word := string(hit.Word) - text = text[:pos] + " *###* " + text[pos+len(word):] + text = text[:pos] + "*###*" + text[pos+len(word):] words = append(words, word) } return true, words, text