diff --git a/service/llm_service.go b/service/llm_service.go index 43e787b..ffd38f2 100644 --- a/service/llm_service.go +++ b/service/llm_service.go @@ -258,17 +258,32 @@ func (s *LLMService) handleStreamingResponse(req *http.Request, data map[string] initialSessage += answer if containsPunctuation(initialSessage) { segments := splitByPunctuation(initialSessage) - // fmt.Printf("原始文本: %s\n", initialSessage) - // fmt.Printf("分割后的片段数量: %d\n", len(segments)) - // for i, segment := range segments { - // fmt.Printf("片段 %d: %s\n", i+1, segment) - // } + fmt.Printf("原始文本: %s\n", initialSessage) + fmt.Printf("分割后的片段数量: %d\n", len(segments)) + for i, segment := range segments { + fmt.Printf("片段 %d: %s\n", i+1, segment) + } if len(segments) > 1 { - initialSessage = segments[len(segments)-1] - new_message = strings.Join(segments[:len(segments)-1], "") + + format_message := strings.Join(segments[:len(segments)-1], "") + // 检查initialSessage的字符长度是否超过10个 + if utf8.RuneCountInString(format_message) > 10 { + initialSessage = segments[len(segments)-1] + // 如果超过10个字符,将其添加到new_message中并清空initialSessage + new_message = strings.Join(segments[:len(segments)-1], "") + // initialSessage = "" + } else { + continue + } } else { - new_message = initialSessage - initialSessage = "" + + if utf8.RuneCountInString(initialSessage) > 10 { + new_message = initialSessage + initialSessage = "" + } else { + continue + } + } // fmt.Printf("新消息: %s\n", new_message) // fmt.Printf("剩余文本: %s\n", initialSessage)