package service import "strings" // AuditService 审核服务 type AuditService struct { // 敏感词列表 sensitiveWords []string } // NewAuditService 创建审核服务 func NewAuditService() *AuditService { return &AuditService{ sensitiveWords: []string{ // 政治类 "台独", "港独", "藏独", "疆独", "分裂", "颠覆", // 色情类 "色情", "裸聊", "约炮", "成人", // 暴力类 "杀人", "虐待", "暴力", // 违规诱导 "转账", "汇款", "银行卡", "密码", // AI 身份冒充 "你是真人", "你是人类", "真人在吗", }, } } // AuditText 审核文本内容 // 返回 true 表示通过,false 表示违规 func (s *AuditService) AuditText(text string) bool { for _, word := range s.sensitiveWords { if strings.Contains(text, word) { return false } } return true } // AuditResponse 审核 AI 回复(逐 token) func (s *AuditService) AuditResponse(token string) bool { // 累加 token 判断是否违规 for _, word := range s.sensitiveWords { if strings.Contains(token, word) { return false } } return true } // DefaultSafeResponse 获取默认安全回复 func (s *AuditService) DefaultSafeResponse() string { return "抱歉,这个话题我无法继续,我们换个话题聊聊吧。" } // AddSensitiveWord 添加敏感词 func (s *AuditService) AddSensitiveWord(word string) { s.sensitiveWords = append(s.sensitiveWords, word) }