正在显示
1 个修改的文件
包含
30 行增加
和
3 行删除
| 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 | } |
-
请 注册 或 登录 后发表评论