|
|
|
package org.jeecg.modules.airag.app.controller;
|
|
|
|
|
|
|
|
import cn.hutool.core.lang.generator.SnowflakeGenerator;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
...
|
...
|
@@ -10,8 +11,11 @@ import org.apache.poi.xwpf.usermodel.*; |
|
|
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
|
|
import org.jeecg.common.api.vo.Result;
|
|
|
|
import org.jeecg.common.aspect.annotation.AutoLog;
|
|
|
|
import org.jeecg.common.system.query.QueryGenerator;
|
|
|
|
import org.jeecg.modules.airag.app.entity.Embeddings;
|
|
|
|
import org.jeecg.modules.airag.app.service.IEmbeddingsService;
|
|
|
|
import org.jeecg.modules.airag.llm.entity.AiragKnowledge;
|
|
|
|
import org.jeecg.modules.airag.llm.service.IAiragKnowledgeService;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
...
|
...
|
@@ -36,6 +40,9 @@ public class EmbeddingsController { |
|
|
|
@Autowired
|
|
|
|
private IEmbeddingsService embeddingsService;
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private IAiragKnowledgeService airagKnowledgeService;
|
|
|
|
|
|
|
|
/*@Autowired
|
|
|
|
private AiModelUtils aiModelUtils;
|
|
|
|
*/
|
|
...
|
...
|
@@ -66,6 +73,20 @@ public class EmbeddingsController { |
|
|
|
page.setRecords(records);
|
|
|
|
return Result.OK(page);
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* 查询知识库ID
|
|
|
|
*
|
|
|
|
* @param req
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@AutoLog(value = "Embeddings-查询知识库ID")
|
|
|
|
@Operation(summary = "Embeddings-查询知识库ID")
|
|
|
|
@GetMapping(value = "/listknowledge")
|
|
|
|
public Result<List<AiragKnowledge>> queryAiragKnowledgeList(AiragKnowledge airagKnowledge, HttpServletRequest req) throws NoSuchFieldException, IllegalAccessException, SQLException {
|
|
|
|
QueryWrapper<AiragKnowledge> queryWrapper = QueryGenerator.initQueryWrapper(airagKnowledge, req.getParameterMap());
|
|
|
|
List<AiragKnowledge> list = airagKnowledgeService.list(queryWrapper);
|
|
|
|
return Result.OK(list);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 添加
|
|
...
|
...
|
@@ -80,10 +101,8 @@ public class EmbeddingsController { |
|
|
|
public Result<String> add(@RequestBody Embeddings embeddings) {
|
|
|
|
// embeddingsService.save(Embeddings);
|
|
|
|
// 1. 构建完整的metadata
|
|
|
|
Map<String, Object> metadata = new HashMap<>();
|
|
|
|
Map<String, Object> metadata = embeddings.getMetadata();
|
|
|
|
SnowflakeGenerator snowflakeGenerator = new SnowflakeGenerator();
|
|
|
|
String knowledgeId = String.valueOf(snowflakeGenerator.next());
|
|
|
|
metadata.put("knowledgeId", knowledgeId); // 使用前端传入的知识库ID
|
|
|
|
metadata.put("docName", embeddings.getDocName());
|
|
|
|
String docId = String.valueOf(snowflakeGenerator.next());
|
|
|
|
metadata.put("docId", docId); // 自动生成唯一文档ID
|
|
...
|
...
|
@@ -112,6 +131,14 @@ public class EmbeddingsController { |
|
|
|
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
|
|
|
|
public Result<String> edit(@RequestBody Embeddings embeddings) {
|
|
|
|
// embeddingsService.updateById(Embeddings);
|
|
|
|
Map<String, Object> metadata = embeddings.getMetadata();
|
|
|
|
SnowflakeGenerator snowflakeGenerator = new SnowflakeGenerator();
|
|
|
|
metadata.put("docName", embeddings.getDocName());
|
|
|
|
String docId = String.valueOf(snowflakeGenerator.next());
|
|
|
|
metadata.put("docId", docId); // 自动生成唯一文档ID
|
|
|
|
metadata.put("index", "0");
|
|
|
|
// 2. 设置到embeddings对象
|
|
|
|
embeddings.setMetadata(metadata);
|
|
|
|
embeddingsService.update(embeddings);
|
|
|
|
return Result.OK("编辑成功!");
|
|
|
|
}
|
...
|
...
|
|