소스 검색

Merge remote-tracking branch 'origin/rag/4.0' into debug

Roc 1 주 전
부모
커밋
2632d98a7e

+ 8 - 0
controllers/llm/abstract.go

@@ -412,3 +412,11 @@ func (c *AbstractController) AddVector() {
 //
 //	fmt.Println("结束")
 //}
+
+//// init
+//// @Description: 修复微信文章摘要的标签
+//// @author: Roc
+//// @datetime 2025-05-08 18:04:50
+//func init() {
+//	services.FixWechatArticleAbstractTag()
+//}

+ 9 - 5
services/llm/facade/llm_service.go

@@ -98,10 +98,12 @@ func AIGCBaseOnPromote(aigc AIGC) (resp bus_response.AIGCEtaResponse, err error)
 				err = fmt.Errorf("创建文章文件失败,err: %v", fileErr)
 				return
 			}
+			file, err = os.Open(path)
 			defer func() {
-				_ = os.Remove(path)
+				_ = file.Close()
+				err = os.Remove(path)
+				fmt.Println(err)
 			}()
-			file, err = os.Open(path)
 			if err != nil {
 				utils.FileLog.Error("打开文件失败,err:", err)
 				return
@@ -188,14 +190,16 @@ func AIGCBaseOnPromote(aigc AIGC) (resp bus_response.AIGCEtaResponse, err error)
 				err = fmt.Errorf("创建文章文件失败,err: %v", fileErr)
 				return
 			}
-			defer func() {
-				_ = os.Remove(path)
-			}()
+
 			file, err = os.Open(path)
 			if err != nil {
 				utils.FileLog.Error("打开文件失败,err:", err)
 				return
 			}
+			defer func() {
+				_ = file.Close()
+				_ = os.Remove(path)
+			}()
 			_, httpErr = llmService.UploadFileToTemplate([]*os.File{file}, param)
 			if httpErr != nil {
 				utils.FileLog.Error("上传文件失败,err:", err.Error())

+ 2 - 2
services/llm_report.go

@@ -432,8 +432,8 @@ func GenerateRagEtaReportAbstractByQuestion(item *rag.RagEtaReport, question *ra
 		//	}
 		//}
 
-		tagIdJsonByte, err := json.Marshal(tagIdList)
-		if err != nil {
+		tagIdJsonByte, tmpErr := json.Marshal(tagIdList)
+		if tmpErr != nil {
 			utils.FileLog.Info(fmt.Sprintf("标签ID序列化失败,Err:%s", tmpErr.Error()))
 		} else {
 			tagIdJsonStr = string(tagIdJsonByte)

+ 60 - 2
services/wechat_platform.go

@@ -459,8 +459,8 @@ func GenerateWechatArticleAbstractByQuestion(item *rag.WechatArticle, question *
 		//	}
 		//}
 
-		tagIdJsonByte, err := json.Marshal(tagIdList)
-		if err != nil {
+		tagIdJsonByte, tmpErr := json.Marshal(tagIdList)
+		if tmpErr != nil {
 			utils.FileLog.Info(fmt.Sprintf("标签ID序列化失败,Err:%s", tmpErr.Error()))
 		} else {
 			tagIdJsonStr = string(tagIdJsonByte)
@@ -1423,3 +1423,61 @@ func GetTagIdByName(tagName string) (tagId int, err error) {
 
 	return
 }
+
+// FixWechatArticleAbstractTag
+// @Description: 修复微信文章摘要的标签
+// @author: Roc
+// @datetime 2025-05-08 18:03:55
+func FixWechatArticleAbstractTag() {
+	obj := rag.WechatArticleAbstract{}
+	list, err := obj.GetListByCondition(` wechat_article_id `, ` AND wechat_platform_id = ? `, []interface{}{1}, 0, 100000)
+	if err != nil {
+		fmt.Println(`获取摘要列表失败,err:`, err)
+		return
+	}
+
+	for _, v := range list {
+		tagNameList := extractLabels(v.Content)
+		if len(tagNameList) <= 0 {
+			continue
+		}
+
+		var tagIdJsonStr string
+		var tagNameJsonStr string
+
+		tagIdList := make([]int, 0)
+		tagIdMap := make(map[int]bool)
+
+		for _, tagName := range tagNameList {
+			tagId, tmpErr := GetTagIdByName(tagName)
+			if tmpErr != nil {
+				utils.FileLog.Info(fmt.Sprintf("获取标签ID失败,标签名称:%s,Err:%s", tagName, tmpErr.Error()))
+			}
+			if _, ok := tagIdMap[tagId]; !ok {
+				tagIdList = append(tagIdList, tagId)
+				tagNameList = append(tagNameList, tagName)
+				tagIdMap[tagId] = true
+			}
+		}
+
+		tagIdJsonByte, tmpErr := json.Marshal(tagIdList)
+		if tmpErr != nil {
+			utils.FileLog.Info(fmt.Sprintf("标签ID序列化失败,Err:%s", tmpErr.Error()))
+		} else {
+			tagIdJsonStr = string(tagIdJsonByte)
+		}
+
+		tagNameJsonStr = strings.Join(tagNameList, `,`)
+
+		v.Tags = tagIdJsonStr
+		v.TagsName = tagNameJsonStr
+		v.ModifyTime = time.Now()
+		err = v.Update([]string{"tags", "tags_name", "modify_time"})
+		if err != nil {
+			fmt.Println(v.WechatArticleAbstractId, ";标签修改失败")
+			continue
+		}
+
+		AddOrEditEsWechatArticleAbstract(v.WechatArticleAbstractId)
+	}
+}

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
static/imgs/ai/article/【专题报告】关税来袭黑色怎么看.md


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
static/imgs/ai/article/【开源宏观】财政支出力度如何12月财政数据点评.md


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
static/imgs/ai/article/巴菲特2025股东信1000字精华版来了附全文.md


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.