接口调整,调试接口返回集合,新增根据Id查详情接口

topo_dev
DESKTOP-DDTUS3E\yaxin 8 months ago
parent 4031e7ebda
commit 011d0362c6

@ -11,6 +11,8 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@Slf4j
@RequestMapping("/prompt")
@ -37,7 +39,13 @@ public class PromptController {
@PostMapping("/promptDebugging")
@Operation(summary = "提示词调试")
public R<String> promptDebugging(@RequestBody NotePromptDTO notePromptDTO) {
public R<List> promptDebugging(@RequestBody NotePromptDTO notePromptDTO) {
return R.ok(promptService.promptDebugging(notePromptDTO));
}
@PostMapping("/getById")
@Operation(summary = "提示词调试")
public R<NotePrompt> getById(@RequestParam String id) {
return R.ok(promptService.getById(id));
}
}

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.supervision.police.domain.NotePrompt;
import com.supervision.police.dto.NotePromptDTO;
import org.apache.poi.ss.formula.functions.T;
import java.util.List;
@ -14,5 +15,5 @@ public interface NotePromptService extends IService<NotePrompt> {
IPage<NotePromptDTO> listPrompt(int page, int size, NotePrompt notePrompt);
String promptDebugging(NotePromptDTO notePromptDTO);
List promptDebugging(NotePromptDTO notePromptDTO);
}

@ -2,23 +2,30 @@ package com.supervision.police.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.supervision.common.constant.NotePromptConstants;
import com.supervision.common.utils.StringUtils;
import com.supervision.demo.dto.QARecordNodeDTO;
import com.supervision.minio.domain.MinioFile;
import com.supervision.minio.service.MinioService;
import com.supervision.police.domain.*;
import com.supervision.police.domain.ModelRecordType;
import com.supervision.police.domain.NotePrompt;
import com.supervision.police.domain.NotePromptTypeRel;
import com.supervision.police.domain.NoteRecordSplit;
import com.supervision.police.dto.LLMExtractDto;
import com.supervision.police.dto.NotePromptDTO;
import com.supervision.police.mapper.NotePromptMapper;
import com.supervision.police.service.*;
import com.supervision.thread.TripleExtractTask;
import com.supervision.utils.RecordRegexUtil;
import com.supervision.utils.WordReadUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.ai.chat.ChatClient;
import org.springframework.ai.chat.ChatResponse;
import org.springframework.ai.chat.messages.UserMessage;
@ -48,7 +55,7 @@ public class NotePromptServiceImpl extends ServiceImpl<NotePromptMapper, NotePro
private final NotePromptTypeRelService notePromptTypeRelService;
@Autowired
@Autowired
private MinioService minioService;
@Autowired
private LLMExtractService llmExtractService;
@ -112,8 +119,7 @@ public class NotePromptServiceImpl extends ServiceImpl<NotePromptMapper, NotePro
}
@Override
public String promptDebugging(NotePromptDTO notePromptDTO) {
String result = "";
public List promptDebugging(NotePromptDTO notePromptDTO) {
String text = notePromptDTO.getText();
String fileId = notePromptDTO.getFileId();
if (StringUtils.isNotEmpty(fileId)) {
@ -136,14 +142,14 @@ public class NotePromptServiceImpl extends ServiceImpl<NotePromptMapper, NotePro
}
if (StringUtils.isEmpty(text)) {
log.info("未上传文件且调试文本为空...");
return result;
return null;
}
String type = notePromptDTO.getType();
if (NotePromptConstants.TYPE_GRAPH_REASONING.equals(type)) {
List<QARecordNodeDTO> qaList = RecordRegexUtil.recordRegex(text, "");
log.info("拆分问答对:{}", qaList.size());
if (qaList.isEmpty()) {
return "未找到问答对";
return null;
}
QARecordNodeDTO qaRecordNodeDTO = qaList.get(0);
HashMap<String, String> paramMap = new HashMap<>();
@ -159,7 +165,7 @@ public class NotePromptServiceImpl extends ServiceImpl<NotePromptMapper, NotePro
ChatResponse call = chatClient.call(new Prompt(new UserMessage(format)));
String content = call.getResult().getOutput().getContent();
log.info("三元组提取结果:{}", content);
result = content;
return JSONUtil.toBean(content, TripleExtractTask.TripleExtractResult.class).getResult();
} else if (NotePromptConstants.TYPE_STRUCTURAL_REASONING.equals(type)) {
LLMExtractDto llmExtractDto = new LLMExtractDto();
llmExtractDto.setText(text);
@ -167,12 +173,12 @@ public class NotePromptServiceImpl extends ServiceImpl<NotePromptMapper, NotePro
llmExtractDto.setExtractAttributes(notePromptDTO.getExtractAttributes());
List<LLMExtractDto> llmExtractDtos = llmExtractService.extractAttribute(Collections.singletonList(llmExtractDto));
if (CollUtil.isNotEmpty(llmExtractDtos)) {
result = llmExtractDtos.get(0).toString();
return llmExtractDtos.get(0).getExtractAttributes();
}
} else {
log.info("未找到对应的调试类型...【{}】", type);
}
return result;
return null;
}
}

Loading…
Cancel
Save