知识库内容返回多条

This commit is contained in:
qinyong@9artedu.com 2026-07-13 17:52:29 +08:00
parent f29efa8988
commit 0c00d161d2

View File

@ -10,6 +10,8 @@ import com.artedu.generation.service.LlmModelService;
import com.artedu.generation.service.PromptEngine; import com.artedu.generation.service.PromptEngine;
import com.artedu.generation.service.QianwenClient; import com.artedu.generation.service.QianwenClient;
import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
@ -329,10 +331,13 @@ public class GenerationController {
String answer = getAnswer(top15, external_str); String answer = getAnswer(top15, external_str);
log.info("原问题:{},命中知识库结果:{}", external_str, answer); log.info("原问题:{},命中知识库结果:{}", external_str, answer);
if(!StringUtils.isBlank(answer)){ if(!StringUtils.isBlank(answer)){
answer = answer.replaceAll("\"", "").replace("[","").replace("]",""); ObjectMapper mapper = new ObjectMapper();
if(!StringUtils.isBlank(answer)){ List<String> list = mapper.readValue(answer, new TypeReference<List<String>>(){});
String promptNew = promptEngine.buildAnswerPrompt(answer); //answer = answer.replaceAll("\"", "").replace("[","").replace("]","");
generated = qianwenClient.generate(promptNew, 800); for (String li : list){
String promptNew = promptEngine.buildAnswerPrompt(li);
String res = qianwenClient.generate(promptNew, 800);
generated = generated + res + "|||";
} }
} }
} }