作者 dong

资料管理界面查询知识库ID接口

1 package org.jeecg.modules.airag.app.controller; 1 package org.jeecg.modules.airag.app.controller;
2 2
3 import cn.hutool.core.lang.generator.SnowflakeGenerator; 3 import cn.hutool.core.lang.generator.SnowflakeGenerator;
  4 +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 import com.baomidou.mybatisplus.core.metadata.IPage; 5 import com.baomidou.mybatisplus.core.metadata.IPage;
5 import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 6 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 import io.swagger.v3.oas.annotations.Operation; 7 import io.swagger.v3.oas.annotations.Operation;
@@ -10,8 +11,11 @@ import org.apache.poi.xwpf.usermodel.*; @@ -10,8 +11,11 @@ import org.apache.poi.xwpf.usermodel.*;
10 import org.apache.shiro.authz.annotation.RequiresPermissions; 11 import org.apache.shiro.authz.annotation.RequiresPermissions;
11 import org.jeecg.common.api.vo.Result; 12 import org.jeecg.common.api.vo.Result;
12 import org.jeecg.common.aspect.annotation.AutoLog; 13 import org.jeecg.common.aspect.annotation.AutoLog;
  14 +import org.jeecg.common.system.query.QueryGenerator;
13 import org.jeecg.modules.airag.app.entity.Embeddings; 15 import org.jeecg.modules.airag.app.entity.Embeddings;
14 import org.jeecg.modules.airag.app.service.IEmbeddingsService; 16 import org.jeecg.modules.airag.app.service.IEmbeddingsService;
  17 +import org.jeecg.modules.airag.llm.entity.AiragKnowledge;
  18 +import org.jeecg.modules.airag.llm.service.IAiragKnowledgeService;
15 import org.springframework.beans.factory.annotation.Autowired; 19 import org.springframework.beans.factory.annotation.Autowired;
16 import org.springframework.web.bind.annotation.*; 20 import org.springframework.web.bind.annotation.*;
17 import org.springframework.web.multipart.MultipartFile; 21 import org.springframework.web.multipart.MultipartFile;
@@ -36,6 +40,9 @@ public class EmbeddingsController { @@ -36,6 +40,9 @@ public class EmbeddingsController {
36 @Autowired 40 @Autowired
37 private IEmbeddingsService embeddingsService; 41 private IEmbeddingsService embeddingsService;
38 42
  43 + @Autowired
  44 + private IAiragKnowledgeService airagKnowledgeService;
  45 +
39 /*@Autowired 46 /*@Autowired
40 private AiModelUtils aiModelUtils; 47 private AiModelUtils aiModelUtils;
41 */ 48 */
@@ -66,6 +73,20 @@ public class EmbeddingsController { @@ -66,6 +73,20 @@ public class EmbeddingsController {
66 page.setRecords(records); 73 page.setRecords(records);
67 return Result.OK(page); 74 return Result.OK(page);
68 } 75 }
  76 + /**
  77 + * 查询知识库ID
  78 + *
  79 + * @param req
  80 + * @return
  81 + */
  82 + @AutoLog(value = "Embeddings-查询知识库ID")
  83 + @Operation(summary = "Embeddings-查询知识库ID")
  84 + @GetMapping(value = "/listknowledge")
  85 + public Result<List<AiragKnowledge>> queryAiragKnowledgeList(AiragKnowledge airagKnowledge, HttpServletRequest req) throws NoSuchFieldException, IllegalAccessException, SQLException {
  86 + QueryWrapper<AiragKnowledge> queryWrapper = QueryGenerator.initQueryWrapper(airagKnowledge, req.getParameterMap());
  87 + List<AiragKnowledge> list = airagKnowledgeService.list(queryWrapper);
  88 + return Result.OK(list);
  89 + }
69 90
70 /** 91 /**
71 * 添加 92 * 添加
@@ -80,10 +101,8 @@ public class EmbeddingsController { @@ -80,10 +101,8 @@ public class EmbeddingsController {
80 public Result<String> add(@RequestBody Embeddings embeddings) { 101 public Result<String> add(@RequestBody Embeddings embeddings) {
81 // embeddingsService.save(Embeddings); 102 // embeddingsService.save(Embeddings);
82 // 1. 构建完整的metadata 103 // 1. 构建完整的metadata
83 - Map<String, Object> metadata = new HashMap<>(); 104 + Map<String, Object> metadata = embeddings.getMetadata();
84 SnowflakeGenerator snowflakeGenerator = new SnowflakeGenerator(); 105 SnowflakeGenerator snowflakeGenerator = new SnowflakeGenerator();
85 - String knowledgeId = String.valueOf(snowflakeGenerator.next());  
86 - metadata.put("knowledgeId", knowledgeId); // 使用前端传入的知识库ID  
87 metadata.put("docName", embeddings.getDocName()); 106 metadata.put("docName", embeddings.getDocName());
88 String docId = String.valueOf(snowflakeGenerator.next()); 107 String docId = String.valueOf(snowflakeGenerator.next());
89 metadata.put("docId", docId); // 自动生成唯一文档ID 108 metadata.put("docId", docId); // 自动生成唯一文档ID
@@ -112,6 +131,14 @@ public class EmbeddingsController { @@ -112,6 +131,14 @@ public class EmbeddingsController {
112 @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) 131 @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
113 public Result<String> edit(@RequestBody Embeddings embeddings) { 132 public Result<String> edit(@RequestBody Embeddings embeddings) {
114 // embeddingsService.updateById(Embeddings); 133 // embeddingsService.updateById(Embeddings);
  134 + Map<String, Object> metadata = embeddings.getMetadata();
  135 + SnowflakeGenerator snowflakeGenerator = new SnowflakeGenerator();
  136 + metadata.put("docName", embeddings.getDocName());
  137 + String docId = String.valueOf(snowflakeGenerator.next());
  138 + metadata.put("docId", docId); // 自动生成唯一文档ID
  139 + metadata.put("index", "0");
  140 + // 2. 设置到embeddings对象
  141 + embeddings.setMetadata(metadata);
115 embeddingsService.update(embeddings); 142 embeddingsService.update(embeddings);
116 return Result.OK("编辑成功!"); 143 return Result.OK("编辑成功!");
117 } 144 }