Browse Source

feat:私有知识库

Roc 4 ngày trước cách đây
mục cha
commit
23cf4c5c8b

+ 2 - 2
controllers/llm/rag_eta_report_abstract.go

@@ -272,7 +272,7 @@ func (c *RagEtaReportAbstractController) Del() {
 	//}
 
 	// 删除向量库
-	err = services.DelLlmDoc(vectorKeyList, wechatArticleAbstractIdList)
+	err = services.DelRagReportLlmDoc(vectorKeyList, wechatArticleAbstractIdList)
 	if err != nil {
 		br.Msg = "删除失败"
 		br.ErrMsg = "删除向量库失败,Err:" + err.Error()
@@ -397,7 +397,7 @@ func (c *RagEtaReportAbstractController) VectorDel() {
 	//}
 
 	// 删除摘要库
-	err = services.DelLlmDoc(vectorKeyList, wechatArticleAbstractIdList)
+	err = services.DelRagReportLlmDoc(vectorKeyList, wechatArticleAbstractIdList)
 	if err != nil {
 		br.Msg = "删除失败"
 		br.ErrMsg = "删除失败,Err:" + err.Error()

+ 7 - 5
controllers/sys_role.go

@@ -724,11 +724,13 @@ func (this *SysRoleController) SystemConfig() {
 	}, system.BusinessConf{
 		ConfKey: "LoginUrl",
 		ConfVal: conf["LoginUrl"],
-	},
-        system.BusinessConf{
-        ConfKey: "KnowledgeBaseName",
-    	ConfVal: conf["KnowledgeBaseName"],
-    })
+	}, system.BusinessConf{
+		ConfKey: models.KnowledgeBaseName,
+		ConfVal: conf[models.KnowledgeBaseName],
+	}, system.BusinessConf{
+		ConfKey: models.PrivateKnowledgeBaseName,
+		ConfVal: conf[models.PrivateKnowledgeBaseName],
+	})
 
 	osc := system.BusinessConf{
 		ConfKey: "ObjectStorageClient",

+ 1 - 0
models/business_conf.go

@@ -61,6 +61,7 @@ const (
 	BusinessConfEsIndexNameDataSource        = "EsIndexNameDataSource"        // ES索引名称-数据源
 	LLMInitConfig                            = "llmInitConfig"
 	KnowledgeBaseName                        = "KnowledgeBaseName"                // 摘要库
+	PrivateKnowledgeBaseName                 = "PrivateKnowledgeBaseName"         // 私有摘要库
 	KnowledgeArticleName                     = "KnowledgeArticleName"             // 原文库
 	BusinessConfEsWechatArticle              = "EsIndexNameWechatArticle"         // ES索引名称-微信文章
 	BusinessConfEsWechatArticleAbstract      = "EsIndexNameWechatArticleAbstract" // ES索引名称-微信文章摘要

+ 28 - 1
services/llm_report.go

@@ -593,7 +593,7 @@ func ReportAbstractToKnowledge(ragEtaReport *rag.RagEtaReport, abstractItem *rag
 		os.Remove(tmpFilePath)
 	}()
 
-	knowledgeArticleName := models.BusinessConfMap[models.KnowledgeBaseName]
+	knowledgeArticleName := models.BusinessConfMap[models.PrivateKnowledgeBaseName]
 	// 上传临时文件到LLM
 	uploadFileResp, err := llm.UploadDocsToKnowledge(tmpFilePath, knowledgeArticleName)
 	if err != nil {
@@ -612,3 +612,30 @@ func ReportAbstractToKnowledge(ragEtaReport *rag.RagEtaReport, abstractItem *rag
 	err = abstractItem.Update([]string{"vector_key", "modify_time"})
 
 }
+
+// DelRagReportLlmDoc
+// @Description: 删除ETA报告的摘要向量库
+// @author: Roc
+// @datetime 2025-04-23 13:24:51
+// @param vectorKeyList []string
+// @param abstractIdList []int
+// @return err error
+func DelRagReportLlmDoc(vectorKeyList []string, abstractIdList []int) (err error) {
+	defer func() {
+		if err != nil {
+			utils.FileLog.Error("删除摘要向量库文件失败,err:%v", err)
+			fmt.Println("删除摘要向量库文件失败,err:", err)
+		}
+	}()
+
+	// 没有就不删除
+	if len(vectorKeyList) <= 0 {
+		return
+	}
+
+	_, err = llm.DelDocsToKnowledge(models.BusinessConfMap[models.PrivateKnowledgeBaseName], vectorKeyList)
+	obj := rag.RagEtaReportAbstract{}
+	err = obj.DelVectorKey(abstractIdList)
+
+	return
+}