Browse Source

fix:去除ai纪要中无效的内容

zqbao 6 months ago
parent
commit
fc2776f9ac
2 changed files with 28 additions and 0 deletions
  1. 12 0
      controllers/ai/ai_summary.go
  2. 16 0
      services/aiser/ai.go

+ 12 - 0
controllers/ai/ai_summary.go

@@ -1054,11 +1054,23 @@ func (this *AiController) GenerateAiSummary() {
 		br.ErrMsg = "参数解析失败,Err:" + err.Error()
 		return
 	}
+	req.Prompt, err = aiser.FormatAskContent(req.Prompt)
+	if err != nil {
+		br.Msg = "提示词错误"
+		br.ErrMsg = "提示词错误,FormatAskContent,Err:" + err.Error()
+		return
+	}
 	if req.Prompt == "" {
 		br.Msg = "请输入提示词"
 		br.IsSendEmail = false
 		return
 	}
+	req.OriginContent, err = aiser.FormatAskContent(req.OriginContent)
+	if err != nil {
+		br.Msg = "文档内容错误"
+		br.ErrMsg = "文档内容错误,FormatAskContent,Err:" + err.Error()
+		return
+	}
 	if req.OriginContent == "" && len(req.OpenaiFileId) == 0 && req.SaDocId <= 0 {
 		br.Msg = "请选择文档或输入内容"
 		br.IsSendEmail = false

+ 16 - 0
services/aiser/ai.go

@@ -44,6 +44,22 @@ func QueryAskContent(ask string) (result string, err error) {
 	return
 }
 
+func FormatAskContent(ask string) (result string, err error) {
+	doc, err := goquery.NewDocumentFromReader(strings.NewReader(ask))
+	if err != nil {
+		return
+	}
+	doc.Find("p[data-f-id]").Remove()
+	result, err = doc.Html()
+	result = strings.ReplaceAll(result, "<html>", "")
+	result = strings.ReplaceAll(result, "</html>", "")
+	result = strings.ReplaceAll(result, "<head>", "")
+	result = strings.ReplaceAll(result, "</head>", "")
+	result = strings.ReplaceAll(result, "<body>", "")
+	result = strings.ReplaceAll(result, "</body>", "")
+	return
+}
+
 func ChatAutoMsg(prompt string, historyChatList []aimod.HistoryChat, model string) (result string, err error) {
 	chatUrl := utils.EtaAiUrl + `chat/auto_msg`